Дельфистам.
Модераторы: Sanja, Максим Кич
Дельфистам.
Увидел статью от 2016 года Faster FileStream with TBufferedFileStream.
Немедленно нашел System.Classes.pas из 10.1 Berlin, и выдрал TBufferedFileStream себе в отдельный модуль.
Опробовал в XE7 для Win32 приложений.
Работает и быстро.
Может кому пригодится:
Немедленно нашел System.Classes.pas из 10.1 Berlin, и выдрал TBufferedFileStream себе в отдельный модуль.
Опробовал в XE7 для Win32 приложений.
Работает и быстро.
Может кому пригодится:
Re: Дельфистам.
Немогу не поделиться AnyiQuack
Опробовал в XE7, в восторге. То что надо для всяких интерфейсов героя в рогалике. Управление цветом, подергивания и прочее.
Вы можете превратить панель в свистоперделку динамичное произведение искусства добавив всего две строчки кода.
В догонку к кваку - шпаргалка по функциям плавности
Опробовал в XE7, в восторге. То что надо для всяких интерфейсов героя в рогалике. Управление цветом, подергивания и прочее.
Вы можете превратить панель в свистоперделку динамичное произведение искусства добавив всего две строчки кода.
В догонку к кваку - шпаргалка по функциям плавности
Re: Дельфистам.
Мелочи по хозяйству можно взять у https://github.com/malcolmgroves/
FluentQuery, StateMachine, Tuples.
Таплы - иногда бывают удобны.
Так-же в сниппетах на гитхабе давно уже ходит Enum.Wrapper.pas, например тут https://gist.github.com/ortuagustin/f7f ... 0c6508646d, неизвестно чей и без ярких примеров, демонстрирующих его полезность.
Вспомнил я о нём глядя на код disciplesrl от Apromix, а именно на
FluentQuery, StateMachine, Tuples.
Таплы - иногда бывают удобны.
Так-же в сниппетах на гитхабе давно уже ходит Enum.Wrapper.pas, например тут https://gist.github.com/ortuagustin/f7f ... 0c6508646d, неизвестно чей и без ярких примеров, демонстрирующих его полезность.
Вспомнил я о нём глядя на код disciplesrl от Apromix, а именно на
Код: Выделить всё
type
TCreatureEnum = (crNone, crGoblin, crWolf, crOrc);
...
P := TypeInfo(TCreatureEnum);
with ACreature do
begin
Active := True;
Enum := ACreatureEnum;
Name := StringReplace(GetEnumName(P, Ord(Enum)), 'cr', '', [rfReplaceAll]);
Re: Дельфистам.
Как использовать EnumHelper.
Взять можно в гит-сниппетах, например тут https://gist.github.com/ortuagustin/
Пример использования:
Взять можно в гит-сниппетах, например тут https://gist.github.com/ortuagustin/
Пример использования:
Скрытый текст: ПОКАЗАТЬ
Последний раз редактировалось karagy 10 янв 2022, 18:06, всего редактировалось 1 раз.
- Apromix
- Мастер
- Сообщения: 1236
- Зарегистрирован: 04 июл 2011, 10:44
- Откуда: Украина, Черновцы
- Контактная информация:
Re: Дельфистам.
Мда Использовать очень просто. Заюзаю в Трольханте. Спасибо)
Последний раз редактировалось Apromix 29 авг 2018, 04:51, всего редактировалось 1 раз.
Re: Дельфистам.
Глянул хелпер и вспомнил что я делал для себя перевод каментов на аглицкий.
Прилагаю переведенный в аттаче. Мне он понадобился только для отладочного вывода названий значений енумов.
А поддерживать параллельный массив с названиями в строках, либо делать закат Солнца вызов RTTI вручную - было откровенно лень.
Прилагаю переведенный в аттаче. Мне он понадобился только для отладочного вывода названий значений енумов.
А поддерживать параллельный массив с названиями в строках, либо делать закат Солнца вызов RTTI вручную - было откровенно лень.
- Apromix
- Мастер
- Сообщения: 1236
- Зарегистрирован: 04 июл 2011, 10:44
- Откуда: Украина, Черновцы
- Контактная информация:
Re: Дельфистам.
Не представляю ситуации, где могут понадобиться кортежы в дельфи. У меня мозг так не работает Перерыл все функи в троллях, чтобы сделать очередной рефакторинг, но так и не нашел.karagy писал(а): ↑05 мар 2018, 20:45Мелочи по хозяйству можно взять у https://github.com/malcolmgroves/
... Tuples...
Re: Дельфистам.
Я тоже голову ломал. И не только о кортежах. Потом принял следующую стратегию - знакомиться (поверхностно) с новинками. А использовать - когда озарит - что вот оно как раз тут пригодилось!
Кортежи я использовал один или два раза для группировки разнородных данных.
1. У меня была очередь, хранящая однотипные данные со сложной структорой (record). Вдруг понадобилось при каждом элементе в очереди - хранить время помещения этого элемента в очередь. Расширять структуру хранившихся данных мне очень не хотелось (по разным причинам). Писать самодельную обертку-аггрегатор - лень. И я стал хранить в очереди двух-элементные таплы - время и полезные данные.
2. В описании какого-то конечного автомата, его состояния описывались группировкой нескольких данных. Сперва использовал для этого трёх-элементные таплы, но позже перешел на самодельную обертку-аггрегатор. Ибо тапл слишком туп.
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 28 гостей