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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 16.04.2025, 14:57   #1
Nester
Форумчанин
 
Аватар для Nester
 
Регистрация: 22.10.2008
Сообщений: 127
По умолчанию Объявление и заполнение массива

Объясните недалёкому:

Delphi 7

Нужно объявить массив с заполнением моими значениями.

Var Temp: array[0..7] of Byte = (1, 4, 0, 210, 0, 56, 81, 225);

компилятор не принимает с ошибкой Canon initialize local variables

таже конструкция но как Const работает


Var Temp : Array[0..7] Of Byte;
Begin
Temp := (1, 4, 0, 210, 0, 56, 81, 225);
тоже не принимается компилятором


Так работает но мне не удобно так описывать

Temp[0]:=1;
Temp[1]:=4;
Temp[2]:=0;
.....
Никто не знает больше чем не знаю я
Nester вне форума Ответить с цитированием
Старый 16.04.2025, 15:42   #2
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,542
По умолчанию

Код:
const Temp: array[0..7] of Byte = (1, 4, 0, 210, 0, 56, 81, 225);
программа — запись алгоритма на языке понятном транслятору
evg_m вне форума Ответить с цитированием
Старый 16.04.2025, 16:21   #3
Nester
Форумчанин
 
Аватар для Nester
 
Регистрация: 22.10.2008
Сообщений: 127
По умолчанию

У меня массив будет модифицироваться в процессе работы программы
тип Const не подходит
Никто не знает больше чем не знаю я
Nester вне форума Ответить с цитированием
Старый 16.04.2025, 20:21   #4
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,428
По умолчанию

Вот так компилятор не жалуется. Вроде работает. Как еще короче - не знаю.
Код:
type
  EightByteArray = array[0..7] of Byte;
const
  InitVals: EightByteArray = (1, 4, 0, 210, 0, 56, 81, 225);
var
  Temp: EightByteArray;
begin
  Temp := InitVals;
end;
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Старый 16.04.2025, 21:57   #5
northener
ПШП
Участник клуба
 
Регистрация: 15.07.2013
Сообщений: 1,926
По умолчанию

Цитата:
Сообщение от BDA Посмотреть сообщение
Как еще короче - не знаю.
Использовать {$J+}
northener вне форума Ответить с цитированием
Старый 16.04.2025, 22:28   #6
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,428
По умолчанию

Цитата:
Сообщение от northener Посмотреть сообщение
Использовать {$J+}
Спасибо, познавательно.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Старый 17.04.2025, 09:14   #7
Nester
Форумчанин
 
Аватар для Nester
 
Регистрация: 22.10.2008
Сообщений: 127
По умолчанию

Всем спасибо за участие!
Моя проблема решена
Никто не знает больше чем не знаю я
Nester вне форума Ответить с цитированием
Старый 17.04.2025, 17:29   #8
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 15,836
По умолчанию

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

Цитата:
Сообщение от Arigato Посмотреть сообщение
Вообще это странно, сначала вводить понятие констант, а потом прийти к тому, что константы можно менять в ходе выполнения программы...
Хм. Тут вообще-то дела давно минувших дней, преданья старины глубокой.
Типизированные константы были введены в язык ещё во времена Турбо Паскаля (если не раньше). Зачем они были введены теперь уже никто не ответит. Но штука оказалась весьма удобной и полезной.
А вот зачем её решили как бы запретить, мне уже совсем не понятно. Кому и чем она мешает?
northener вне форума Ответить с цитированием
Старый 18.04.2025, 14:58   #10
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 15,836
По умолчанию

Ну сама концепция константы предполагает ее неизменность. То есть определяться она должна только один раз в программе. То, что предлагается делать с помощью типизированных констант, в других языках называется статическими переменными.
Arigato вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 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