Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 19.04.2025, 00:46   #11
northener
ПШП
Участник клуба
 
Регистрация: 15.07.2013
Сообщений: 1,926
По умолчанию

Цитата:
Сообщение от Arigato Посмотреть сообщение
То, что предлагается делать с помощью типизированных констант, в других языках называется статическими переменными.
Хм. Статическая переменная? Так она статическая, т.е. постоянная или всё-таки переменная?
Ну короче возможно с точки зрения Паскаля не надо было упоминать слово константа в случае с типизированной константой. Надо было придумать какое-то другое название.
northener вне форума Ответить с цитированием
Старый 19.04.2025, 13:10   #12
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 15,810
По умолчанию

Цитата:
Сообщение от northener Посмотреть сообщение
Надо было придумать какое-то другое название.
Так уже придумали - статическая переменная...
Arigato вне форума Ответить с цитированием
Старый 19.04.2025, 16:12   #13
phomm
personality
Старожил
 
Аватар для phomm
 
Регистрация: 28.04.2009
Сообщений: 2,899
По умолчанию

Для новых дельфи есть вот такие варианты через дженерики и хелперы: https://delphidabbler.blogspot.com/2...ic-arrays.html
для старых дельфи нет ничего, кроме указанных writable consts или вручную записанных как в первом посте.
Ещё есть экзотический вариант (работает и в дельфи7): https://programmersforum.ru/showpost...39&postcount=7 - объявление массива in-place (либо через переменную строкового типа), где каждое число указывается через # (максимальное число = 1114111) и можно через индексатор (1..length) брать значения.
Если нет привязки к переменной на расчетной стороне, можно передавать (объявлять) массив на клиентской стороне (на вызове), это отчасти будет как из блога выше, но только частный вариант, работающий и в дельфи7:
Код:
procedure Calc(X: array of Integer);
...
Calc([1, 4, 0, 210, 0, 56, 81, 225]);

Последний раз редактировалось phomm; 19.04.2025 в 16:20.
phomm вне форума Ответить с цитированием
Старый 20.04.2025, 01:50   #14
northener
ПШП
Участник клуба
 
Регистрация: 15.07.2013
Сообщений: 1,926
По умолчанию

Цитата:
Сообщение от phomm Посмотреть сообщение
Если нет привязки к переменной на расчетной стороне, можно передавать (объявлять) массив на клиентской стороне (на вызове), это отчасти будет как из блога выше, но только частный вариант, работающий и в дельфи7
О! Open array! Это ещё одна фишка Паскаля/Дельфи. Может кто скажет как она или её аналоги называются в других языках?
northener вне форума Ответить с цитированием
Старый 20.04.2025, 10:20   #15
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 15,810
По умолчанию

Цитата:
Сообщение от northener Посмотреть сообщение
Может кто скажет как она или её аналоги называются в других языках?
А почему должно быть специальное название? Просто слово массив или вектор не подходит?
Arigato вне форума Ответить с цитированием
Старый 21.04.2025, 01:13   #16
northener
ПШП
Участник клуба
 
Регистрация: 15.07.2013
Сообщений: 1,926
По умолчанию

Цитата:
Сообщение от Arigato Посмотреть сообщение
А почему должно быть специальное название? Просто слово массив или вектор не подходит?
Слово может и подходит.
Но есть ли в других языках возможность передать в функцию/процедуру произвольное количество параметров?
northener вне форума Ответить с цитированием
Старый 21.04.2025, 13:07   #17
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 15,810
По умолчанию

Цитата:
Сообщение от northener Посмотреть сообщение
Но есть ли в других языках возможность передать в функцию/процедуру произвольное количество параметров?
Конечно есть. В разных языках это может быть реализовано по-разному, но сама такая возможность имеется.
Arigato вне форума Ответить с цитированием
Старый 22.04.2025, 01:01   #18
northener
ПШП
Участник клуба
 
Регистрация: 15.07.2013
Сообщений: 1,926
По умолчанию

Цитата:
Сообщение от Arigato Посмотреть сообщение
Конечно есть. В разных языках это может быть реализовано по-разному, но сама такая возможность имеется.
Реальный пример можете показать?
northener вне форума Ответить с цитированием
Старый 22.04.2025, 16:00   #19
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 15,810
По умолчанию

Смотря что вы хотите. Изначально речь шла про открытый массив, далее вы говорите про произвольное число параметров, передаваемых в функцию. Это разные вещи. Можно передать один массив, а уже в массиве будет любое количество элементов. Но параметр будет передан один - массив. А можно передать произвольное число параметров.
Arigato вне форума Ответить с цитированием
Старый 23.04.2025, 01:08   #20
northener
ПШП
Участник клуба
 
Регистрация: 15.07.2013
Сообщений: 1,926
По умолчанию

Цитата:
Сообщение от Arigato Посмотреть сообщение
Смотря что вы хотите. Изначально речь шла про открытый массив, далее вы говорите про произвольное число параметров, передаваемых в функцию. Это разные вещи.
Я говорю про открытый массив, который именно позволяет с некоторыми допущениями передать в процедуру/функцию произвольное количество параметров без отдельного формирования массива, что и просил ТС в топике. Пример этого приведен в посте phomm #13


Цитата:
Сообщение от phomm Посмотреть сообщение
procedure Calc(X: array of Integer);
...
Calc([1, 4, 0, 210, 0, 56, 81, 225]);
northener вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Объявление массива angol89 Microsoft Office Word 1 29.03.2016 16:50
Объявление массива СИ TotEnot Общие вопросы C/C++ 4 06.10.2015 00:42
Заполнение listbox значениями из массива. Заполнение массива. Gnaqeaz C# (си шарп) 9 23.10.2014 07:53
объявление массива в VBA Cannibal Помощь студентам 0 14.04.2011 08:23
объявление массива Crasty Помощь студентам 7 05.11.2008 17:18