Size: a a a

2020 November 23

AS

Alexey Shumkin in Delphi & Lazarus
Miss Очепятка
А всё понятно, стоит глобальный запрет
Я поначалу тоже использовал глобальный гитигнор... Затем отказался от него использования, т.к.  использую кучу разнородных проектов
источник

ДT

Дмитрий Texnix... in Delphi & Lazarus
ну или подскажите как новые демки взять унигуи?
Вот например с экспортом в эксель. То что на сайте скачивается - там нет экспорта, а то что открывается онлайн - там нет сурса
источник

RS

Renat Suleymanov in Delphi & Lazarus
Alexey Shumkin
Я поначалу тоже использовал глобальный гитигнор... Затем отказался от него использования, т.к.  использую кучу разнородных проектов
Я вот не слышал даже про глобальный гитигнор, всегда для проекта просто копировал шаблон .gitignore для FreePascal с некоторыми изменениями
источник

AS

Alexey Shumkin in Delphi & Lazarus
Renat Suleymanov
Я вот не слышал даже про глобальный гитигнор, всегда для проекта просто копировал шаблон .gitignore для FreePascal с некоторыми изменениями
и слава богу ))
источник

DB

Dmitry Belkevich in Delphi & Lazarus
Дмитрий Texnix
ну или подскажите как новые демки взять унигуи?
Вот например с экспортом в эксель. То что на сайте скачивается - там нет экспорта, а то что открывается онлайн - там нет сурса
как нет сурса? )
источник

AK

Andy Korg in Delphi & Lazarus
Sergey Bodrov
А еще обновление по таймеру подходит для нагруженных систем, где постоянно обновляются данные в сотнях контролов. Например, чат. Если делать обновление после каждого сообщения, то уже на сотне сообщений в секунду перерисовка GUI отожрет все ресурсы. А по таймеру нагрузка легко регулируется, можно сделать 10 раз в секунду, что эквивалентно 10 сообщениям в секунду.
Хмм, как-то делал чат. Для каждого клиента свой поток, никаких таймеров :)
Работало на ADSL 512 Кбит, примерно 500 пользователей одномоментно.
источник

AK

Andy Korg in Delphi & Lazarus
Дмитрий Texnix
ну или подскажите как новые демки взять унигуи?
Вот например с экспортом в эксель. То что на сайте скачивается - там нет экспорта, а то что открывается онлайн - там нет сурса
Поддержка unigui весьма оперативно отвечает, особенно если у вас купленный фреймоврк, чисто на всякий случай сообщаю.
источник

SB

Sergey Bodrov in Delphi & Lazarus
Andy Korg
Хмм, как-то делал чат. Для каждого клиента свой поток, никаких таймеров :)
Работало на ADSL 512 Кбит, примерно 500 пользователей одномоментно.
Это потому что у тех 500 юзеров малая активность. Я тоже делал чаты, вот например - https://www.serbod.com/--delphi/realchat---irc
источник

ДT

Дмитрий Texnix... in Delphi & Lazarus
Dmitry Belkevich
как нет сурса? )
а... там перенесли кнопку получения сурса
источник

AK

Andy Korg in Delphi & Lazarus
Sergey Bodrov
Это потому что у тех 500 юзеров малая активность. Я тоже делал чаты, вот например - https://www.serbod.com/--delphi/realchat---irc
точно конечно уже не помню, примерно около 10 тыс сообщений в минуту было
источник

KB

Kit Bayun in Delphi & Lazarus
Дмитрий Texnix
ну или подскажите как новые демки взять унигуи?
Вот например с экспортом в эксель. То что на сайте скачивается - там нет экспорта, а то что открывается онлайн - там нет сурса
Толку от одних демок? Там наверняка отдельная компонента или класс для экспорта и будет работать только в относительно новых версиях.
источник

ДT

Дмитрий Texnix... in Delphi & Lazarus
Kit Bayun
Толку от одних демок? Там наверняка отдельная компонента или класс для экспорта и будет работать только в относительно новых версиях.
вроде есть класс, надо постестить
источник

ДT

Дмитрий Texnix... in Delphi & Lazarus
а то выгружать в хмл из квери - в экселе фигово открывает длинные числа
источник

SB

Sergey Bodrov in Delphi & Lazarus
Andy Korg
точно конечно уже не помню, примерно около 10 тыс сообщений в минуту было
166 сообщений в секунду, прилично. 6 мсек на сообщение. И представь, после каждого сообщения делать перерисовку, которая будет занимать 6 или больше мсек.
источник

KB

Kit Bayun in Delphi & Lazarus
в демках поставляется пример "Grid - Exporter"
источник

AK

Andy Korg in Delphi & Lazarus
Sergey Bodrov
166 сообщений в секунду, прилично. 6 мсек на сообщение. И представь, после каждого сообщения делать перерисовку, которая будет занимать 6 или больше мсек.
обожди, почему перерисовка после каждого сообщения?  Для вывода на экран свой поток, в него отправляем сообщение (на самом деле как-то сложнее, но я деталей не помню) А уж как он там рисует его дело.
источник

SB

Sergey Bodrov in Delphi & Lazarus
Andy Korg
обожди, почему перерисовка после каждого сообщения?  Для вывода на экран свой поток, в него отправляем сообщение (на самом деле как-то сложнее, но я деталей не помню) А уж как он там рисует его дело.
И чем это лучше отрисовки в основном потоке по таймеру? С точки зрения юзера разница меньше десятой доли секунды неощутима. А код проще намного.
источник

AK

Andy Korg in Delphi & Lazarus
Sergey Bodrov
И чем это лучше отрисовки в основном потоке по таймеру? С точки зрения юзера разница меньше десятой доли секунды неощутима. А код проще намного.
в отсутствии таймера :)  На самом деле там много чего делается, всякие служебные сообщения слались по событиям на визуальных элементах и че-то еще (склероз :( )
А! Таймер был! обслуживал смену состояний пользователя при его бездействии :)
источник

СП

Сергей Пятыгин... in Delphi & Lazarus
Хорошего всем дня и просьба совета как лучше организовать с точки зрения архитектуры функционирование:
1. Есть класс, который содержит ряд методов-расчёт промежуточных значений переменных (10-20 штук методов) входящих в сложную формулу, в том числе и метод который рассчитывает эту конечную величину.
2. Делема: сделать в этом классе доп. метод, который содержит внутри себя эти методы и запускается при нажатии кнопки ИЛИ вынести "запуск" всех этих методов по нажатию кнопки отдельно, те в событие клика кнопки.
ПС. Таких конечных величин=классов не одна и они далее используются в одной "большой формуле".
МБ 3 вариант?

TNLC = Class (TNL)
private
 FNoLoadCurrent: Extended;
 +100500 методов
public
 property NoLoadCurrent: Extended read FNoLoadCurrent;
 procedure CalcNoLoadCurrent;<-этот общий для +100500
end;

При нажатии кнопки:
NLC.CalcNoLoadCurrent;
Контрол := NLC.NoLoadCurrent;

ИЛИ

TNLC = Class (TNL)
private
 FNoLoadCurrent: Extended;  
public
 property NoLoadCurrent: Extended read FNoLoadCurrent;
 +100500 методов
end;

При нажатии кнопки:
NLC.+100500;
...
NLC.+100500;
Контрол := NLC.NoLoadCurrent;
источник

SB

Sergey Bodrov in Delphi & Lazarus
Первый вариант выглядит лучше, потому что меньше публичных методов
источник