Некоторые полезные подразделения Delphi и компоненты, предлагаемые Cornelius Concepts, LLC.
Эта библиотека содержит подразделения и компоненты, которые я разработал, которые пригодятся во многих ситуациях. Но они выходят за рамки просто полезных-они также учат. Существуют комментарии и образцы, и компоненты показывают несколько аспектов того, как писать компоненты Delphi, такие как разделение пакетов между временем выполнения и временем проектирования, как интегрировать помощь компонентов, активируемую, щелкнув правой кнопкой мыши на компонент и даже интеграцию в экраны Splash Delphi и о коробке.
Просто оставьте этот компонент в форму, и его размер и положение автоматически сохраняются при закрытии и восстановлении при открытии. Кроме того, сохранить другие значения с помощью удобных методов. Есть два варианта:
Оба эти компонента имеют по умолчанию сохранять файлы или настройки реестра в соответствующих местах с минимальными настройками и создавать ключи или разделы на основе имени формы. Таким образом, вы можете быстро и легко сбросить один из этих компонентов в каждой форме.
С помощью дополнительных методов сохранения/восстановления целых чисел, строковых и логических значений это делает запоминающиеся простые пользовательские данные очень простыми:
- procedure SaveStrValue(const Name:string;const Value:string);
- procedure SaveIntValue(const Name:string;const Value: Integer);
- procedure SaveBoolValue(const Name:string;const Value: Boolean);
- function RestoreStrValue(const Name:string; const Default: string = ''):string;
- function RestoreIntValue(const Name:string; const Default: Integer = 0): Integer;
- function RestoreBoolValue(const Name:string; const Default: Boolean = False): Boolean;
Этот компонент включает в себя процедуры, написанные кем -то по имени Нейл в группах новостей DBISAM несколько лет назад. Превращенное в компонент, это прикрепляется к некоторым клавиатуру и крючкам для мыши, чтобы наблюдать за бездействием на компьютере, и выявляет сообщение с таймером отряда, чтобы закрыть приложение. Одним из вариантов использования является двухуровневые приложения базы данных, которые оставляют файлы и записи открытыми.
Этот компонент был удален из версии Delphi 10.3 RIO в пользу использования класса Delphi TSTOPWatch.
Это очень простой компонент, который скрывает детали времени операции. Просто позвоните запустите, сделайте свои вещи, затем позвоните остановите, и у вас есть следующие свойства:
Этот компонент не проверяет на наличие изменений в часовых поясах (если они используются на мобильном устройстве) или учетной записи для времени сбережений дневного света. Он был разработан для довольно коротких операций (менее часа).
Следующие компоненты поддерживались только через Delphi XE и удалены из новых пакетов.
Давным -давно я использовал набор Infopower компонентов, в которых был действительно хороший инкрементный компонент поиска, который будет перечислять соответствующие записи при вводе. Я убрал эту компонент от этой идеи, но также добавил пользовательские кнопки и многие другие функции. Я также использовал элементы управления Raize для некоторых дополнительных функций дисплея-и очень внимательно связал их с компонентами базы данных DBISAM. Это было для конкретного проекта в то время, но я использовал его и его вариации (например, переключение DBISAM для компонентов uletb) в других проектах с тех пор.
Это может быть интересным компонентом, потому что это хороший пример того, как построить составной компонент.
Написано для поддержки старого проекта много лет назад, это позволяет простое объединение паров имени = значение с делимитерами. Установилось в пользу использования TStringList.
Обеспечивает быструю и простую регистрацию в текстовом файле. Устарело, потому что более новые библиотеки и методы ведения журнала являются предпочтительными.
Простой просмотр просмотра текстовых файлов в всплывающем модальном окне.
Наконец, слово о автономных единицах.
Эта папка содержит два блока, UDMCustomWebGenerator и UDMDBisamWebGenerator. Они являются модулями данных, и первым является базовый класс с парой компонентов веб -мобильника, продюсером TPAGE и TDAtAsettableProducer. Они были написаны много лет назад, прежде чем системы управления контентом (CMS) были популярны, и я пытался использовать Delphi для всей моей веб -разработки. Это оказалось больше работы, чем стоит для крупных проектов, и сейчас существует огромное количество отличных веб -инструментов, так что это больше не используется. Тем не менее, есть все еще случайные задачи, которые находят эти процедуры полезными, поэтому я держу их рядом.
Эти классы расширяют полезность веб -брокера, построив в связи между тегами HTML и базами данных. Единственной базой данных, которую я когда -либо использовал таким образом, был DBISAM. Я не использовал DBISAM в течение нескольких лет, поэтому я не знаю, компилируется ли он, но он показывает, как базовый класс можно спустить для ваших конкретных потребностей.
Пожалуйста, прочитайте комментарии в коде для получения дополнительной информации.
Папка «Misc» содержит три единицы (больше можно добавить позже): usearchReclist , uxmldates и otestutils .
Первый, UsearchReclist , содержит пару объявлений типа процедуры и одну процедуру: getearchRecs.
TPathStatusProc = reference to procedure (const Path: string; var Stop: Boolean);
TFileFoundProc = reference to procedure (FileInfo: TSearchRec);
procedure GetSearchRecs(const Path, Pattern: string; const Recursive: Boolean; PathStatusProc: TPathStatusProc; FileFoundProc: TFileFoundProc);
GetSearchRecs проходит дерево каталогов в поисках файлов, соответствующих шаблону, и вызывает PathStatusProc для каждого найденного пути и FileFoundProc для каждого найденного файла, который соответствует шаблону.
Вот пример вызова, который бы удалил старые файлы журнала:
GetSearchRecs(LogFolder, '*.log', False, nil,
procedure (FileInfo: TSearchRec)
begin
if FileInfo.TimeStamp < Now - 90 then
FileDelete(TPath.Combine(LogFolder, FileInfo.Name), True);
end);
Второй блок, UXMLadates , позволяет легко работать с датами, найденными в файлах XML. Общий формат: yyyy-mm-dd "t" HH: MM: SS, но метод, ConvertTodelPhidateFromxml, может взять строку без части времени.
Третья единица, Sotestutils , предоставляет некоторые функции, используемые в нескольких проектах, где мне нужно генерировать тестовые данные, такие как даты, время, числа, типы платежей и т. Д. Им просто удобно иметь вокруг.