как человеку начавшему писать на Лазарусе недавно А я, в свою очередь, практически ни в зуб ногой в шарпе. Так что получается что-то вроде беседы слепого с глухонемым. И все же Lazarus это не язык, а всего лишь продвинутый редактор. ...
Ну и хорошо, а что этому мешает? Извиняюсь за долгий ответ. Да собственно ничего не мешает, оно даже работает, спасибо. Мне просто, как человеку начавшему писать на Лазарусе недавно, просто интересно насколько это правильно реализовано, все ...
Генерик с ограничением параметров? Ну, в целом нужно чего, может я вообще не туда копаю, просто интуитивно делаю как ... = class(TPersistent) // класс для структуры JSON private fSearchField : string; // базовые поля запроса - тип fSearchValue : string; // базовые поля запроса ...
1. В куче мест написано что FAdapterTypes := AdapterTypesDict.Create(); нужно вызывать с опцией [doOwnsValues], но у меня такого конструктора нет Заменить TDictionary на TObjectDictionary. 2. Есть ли более простой способ реализации аналога C# ... Graecum est; ...
Добрейшего времени суток. Понадобилось в проекте использовать TDictionary<string, T> в итоге то что я смог найти выродилось вот в такое // lasarusовский генерек словарь AdapterTypesClass ...
Ну для соревнований на скорость эта версия была явно не пригодной. Это была экспериментальная версия ... SysUtils, ucs4unit, ucs4opunit, LazUTF8, Math; type TSortOptions = record InputFile: string; IsTable: Boolean; ColumnIndex: LongInt; Delimiter: ucs4; end; TSortItem = record ...
На старом Lazarus 2.0.12 все работает четко, а на версиях 3.2.х код выдает Так текущая релизная версия Лазаря ... . procedure TForm1.Button1Click(Sender: TObject); const SRC1 = 'РАБОТА'; var s: string; begin s := UTF8Copy(SRC1, 3, 1); if s = 'Б' then ShowMessage ('Равно') else ...
Приветствую всех. Встала задача работы со строками в UTF8 с выдергиванием отдельных символов. ... LazUTF8; ... procedure TForm1.FormShow(Sender: TObject); const SRC1 = 'РАБОТА'; var s: String; begin s:=UTF8Copy(SRC1, 3, 1); if s='Б' then ShowMessage ('Равно') else ShowMessage ...
... FName := ''; FList := TList.Create; // Этот конструктор будет выполняться в создающей нити. { Я не люблю создавать объекты в одной нити, ... объекта TList function EnumerateList(ASender: TObject; out AFileName: String): Boolean; var S: String; i,C,Ind: LongInt; Thread: TLoadableFileThread; ...
Моя урезанная и "адаптированная" под GUI версия "Свойства "(property) вещь красивая но головняка ... странный эффектам ) Поток... const iThreadWaitTimeout = 1000; var aFileNames: TStringList; aFileNamesInd: TStringList;//дубль для получения индекса (Через IndexOf ...
Вместо TStringList.pop() можно использовать индекс, который должен достигнуть TStringList.Count, чтобы все это завершило работу. Так не придется удалять ...
... = 1000; type PLoadableFunc = function (ASender: TObject; out AFileName: String): Boolean; PLoadableFileRecord = ^TLoadableFileRecord; TLoadableFileRecord ... PLoadableFileRecord; begin Result := FLoad[Index]; // Можете конечно проверить дополнительно Index но это // и так ни к чему. Так и так получите ...
... так? type PLoadableFunc = function (ASender: TObject; out AFileName: String): Boolean; PLoadableFileRecord = ^TLoadableFileRecord; TLoadableFileRecord ... PLoadableFileRecord; begin Result := FList[Index]; // Можете конечно проверить дополнительно Index но это и так ни к чему. Так и так получите ...