powered by simpleCommunicator - 2.0.18     © 2024 Programmizd 02
Map
Форумы / Языки программирования семейства Pascal [закрыт для гостей] / Изучаю новую Delphi, Поиск: Искать сообщения, созданные автором: s62  
5 сообщений из 5, страница 1 из 1
Языки программирования семейства Pascal / Изучаю новую Delphi
    #375845
s62
Скрыть профиль Поместить в игнор-лист
s62 
Участник
Неуловимый Джо [игнорируется] 
А я думал, но так и не сделал до сих пор, написать какую-нибудь программку на FMX. FMX - это кроссплатформенный фреймворк, вместо VCL, который только под Windows. Как-то ещё когда sql.ru работал, обсуждали, кто-то писал, что использует FMX и в программах под Windows. В FMX своя система стилей, у них в графическом движке, насколько я знаю, используется и растровая графика, и векторная.
А со стилями до сих пор только пробовал в IDE. Программы в основном корпоративные, особо разукрашивать - так, спорно. Хотя сейчас припоминаю, как минимум пара случаев была, когда можно было что-то нестандартное по виду сделать.
...
Изменено: 30.04.2023, 12:01 - s62
Рейтинг: 0 / 0
Языки программирования семейства Pascal / Изучаю новую Delphi
    #577403
s62
Скрыть профиль Поместить в игнор-лист
s62 
Участник
Неуловимый Джо [игнорируется] 

На днях открыл для себя одну фичу. Может когда-то и знал, но не помню. С множествами, set'ами было аналогичное.
Оказывается, можно в динамический массив добавить элемент вот так:
Код: Delphi
1.
2.
3.
4.
5.
6.
7.
8.
9.
var
  IntArr: array of integer;
  i: integer;

begin
  SetLength(IntArr, 0);
  i := 5;
  IntArr := IntArr + [i];
...
Коллега широко пользуется динамическими массивами в качестве контейнеров. Я сейчас стал часто использовать контейнеры из Generics.Collections. Но вот в старом коде есть, да и новом. И обычно для добавления нового элемента в конце выполняется такая последовательность: увеличивается длина на 1, потом последнему элементу массива присваивается новое значение.
Типа
Код: Delphi
1.
2.
3.
  Len := Length(Devices);
  SetLength(Devices, Len + 1);
  Devices(Len) := NewDevice;
А можно вместо этого написать
Код: Delphi
1.
Devices := Devices + [NewDevice];
Ну такой синтаксический сахар, но по-моему ничего, нормально. Я уже в паре мест использовал при редактировании старого кода.
...
Рейтинг: 0 / 0
Языки программирования семейства Pascal / Изучаю новую Delphi
    #577424
s62
Скрыть профиль Поместить в игнор-лист
s62 
Участник
Неуловимый Джо  18.10.2023, 14:04
[игнорируется]
я не знал про массивы :)
Вот я тоже не знал. Может это новое...
https://docwiki.embarcadero.com/RADStudio/Alexandria/en/Structured_Types_(Delphi)#String-Like_Operations_Supported_on_Dynamic_Arrays
...
Рейтинг: 1 / 0
Нравится: Неуловимый Джо
Языки программирования семейства Pascal / Изучаю новую Delphi
    #590764
s62
Скрыть профиль Поместить в игнор-лист
s62 
Участник
Неуловимый Джо [игнорируется] 
то есть для словаря и кортежа он возвращает имя класса, а для остальных типов - значение, да? А кортеж и словарь - это единственные структурированные, "сложные" типы?
...
Изменено: 31.10.2023, 08:01 - s62
Рейтинг: 0 / 0
Языки программирования семейства Pascal / Изучаю новую Delphi
    #590822
s62
Скрыть профиль Поместить в игнор-лист
s62 
Участник
Неуловимый Джо  31.10.2023, 08:06
[игнорируется]
s62  31.10.2023, 08:00
[игнорируется]
Неуловимый Джо [игнорируется] 
то есть для словаря и кортежа он возвращает имя класса, а для остальных типов - значение, да? А кортеж и словарь - это единственные структурированные, "сложные" типы?
Там будет не имя, а печать содержимого.
И да, сложных только эти два (у меня). В книге-то еще есть классы, массивы, перечисления и тд.
То есть ты переписал эту функцию? Т.к. по-умолчанию она возвращает имя класса. https://docwiki.embarcadero.com/Libraries/Alexandria/en/System.TObject.ToString
Код: Delphi
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
procedure TForm1.Button1Click(Sender: TObject);
var O: TInterfacedObject;
begin
  O := TInterfacedObject.Create;
  try
    Caption := O.ToString;
  finally
    O.Free;
  end;
end;
ToString.png
...
Изменено: 31.10.2023, 09:32 - s62
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Языки программирования семейства Pascal [закрыт для гостей] / Изучаю новую Delphi, Поиск: Искать сообщения, созданные автором: s62  
Читали тему (1): Анонимы (1)
Игнорируют тему (1): erbol
Читали форум (1): Анонимы (1)
Пользователи онлайн (31): Анонимы (15), kkk-jjj, С чистого листа, Yandex Bot, anonymous, Bing Bot 1 мин., Просто Трёп 1 мин., sergey11 1 мин., s62 1 мин., Брюквенные годы 2 мин., XEugene 2 мин., Сталкер 3 мин., Arn 6 мин., zNomad 8 мин., Шоколадный01 8 мин., Barkrowler 8 мин., Sparrow 9 мин.
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]