Архив метки: Заметки

Delphi: Список уникальных значений

Задача: Нужно получить строковый список уникальных значений.
Инструментарий: Delphi
Решение: Для решения данной задачи — можно воспользоваться классом TSringList, в котором есть весь функционал необходимый для игнорирования дубликатов значений.
Для того чтобы при добавлении нового значения в список игнорировались дубликаты  — он должен быть отсортирован и установлено свойство Duplicates = dupIgnore. Рассмотрим пример:

 var
   UniqueList : TStringList;
 begin
   UniqueList := TStringList.Create;
   UniqueList.Sorted := True;
   UniqueList.Duplicates := dupIgnore;
   ...
   UniqueList.Add();
   ...
   FreeAndNil(UniqueList);
 end;Code language: Delphi (delphi)
Читать далее

Вывод отладочной информации

Задача: Нужно вывести отладочный текст в окно Event Log/Output и просмотреть его.
Инструментарий: Delphi 2010, C#
Решение: Для решения данной задачи мы воспользуемся процедурой OutputDebugString (Delphi), Debug.WriteLine (Visual Studio).
Читать далее

Расположение dll

Проблема: Как узнать расположение DLL модуля с кода самого модуля?
Инструментарий: Delphi
Решение: 
Для того чтобы узнать расположение текущей dll из кода, можно воспользоваться winapi функцией GetModuleFileName. С помощью данного метода в результате мы получим полный путь к файлу. Данный метод работает когда модуль загружен в текущий процесс.
Если он находится в другом процессе — нужно воспользоваться функцией GetModuleFileNameEx. Читать далее