Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Знающим паскаль, Как инициализировать массив? 
:(
    Опции темы
кварк, поленившийся зарегистриро
Дата 18.10.2002, 18:37 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Delphi6.

Надо в процедуре инициализировать массив таким примерно образом:
arr : array[1..10] = {<мои числа, десять штук>};

Началось все с того, что локальные переменные так нельзя инициализировать.
Неужели в процедуре писать:
arr[1] := значение1;
arr[2] := значение2;
arr[3] := значение3;
???

И еще. Компилятор выдает кучу предупреждений о том, что 'такая-то переменная, может быть, не инициализирована', хотя сразу после begin идет присваивание этой переменной. Я с удовольствием писал бы в var что-то вроде:
  t : integer = 2; но ведь компилер такую весчь не пропустит :(

Напишите кто знает, как в дельфях пишутся эти конструкции, напишите, пожалуйста. И одним счастливым человеком на земле станет больше! :)

Чуствую себя не очень хорошо, понимаю, что вопрос ламерский, однако в течение часа ответа на него так и не нашел. :(((
  Вверх
Song
Дата 18.10.2002, 21:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Sysman.ru
***


Профиль
Группа: Участник
Сообщений: 1095
Регистрация: 2.6.2002

Репутация: 2
Всего: 4



Чего-то я так и не понял, что именно Вас не устраивает.
Что мешает сделать так:

Procedure Init;
Var Mas:array [1..10] of Integer;
    t:Integer;
Begin
For t:=1 to 10 Do Mas[t]:=0;
End;

А конструкция Var t:Integer = 0; допускается для глобальных переменных.


--------------------
Прежде чем сказать "Невозможно", подумай, прав ли ты
PM WWW ICQ   Вверх
Alex101
Дата 18.10.2002, 21:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник Клуба
Сообщений: 891
Регистрация: 8.4.2002
Где: Москва

Репутация: 2
Всего: 10



Цитата(Guest @ 18.10.2002, 11:37)
arr[1] := значение1;
arr[2] := значение2;
arr[3] := значение3;
???

Ежели значения элементов массива нельзя привязать никакой зависимостью от индекса, то запиши значения в файл, а в программе считай в массив.


--------------------
С уважением, А. Фролов.
PM MAIL ICQ   Вверх
Vit
Дата 18.10.2002, 23:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Vitaly Nevzorov
****


Профиль
Группа: Экс. модератор
Сообщений: 10964
Регистрация: 25.3.2002
Где: Chicago

Репутация: 48
Всего: 207



Можно попробовать использовать типизированные константы вместо переменных, только я не помню будет ли это работать для Дельфи 6


--------------------
With the best wishes, Vit
I have done so much with so little for so long that I am now qualified to do anything with nothing
Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru
PM MAIL WWW ICQ   Вверх
кварк, поленившийся зарегистр.
Дата 18.10.2002, 23:51 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Я просто до этого на сях писал. Там есть такая конструкция. int i[4] = {12, 45, 88, 50}. На дельфях так не получилось. Видно, подобной конструкции нет там вообще (что ее нет в паскале - это точно абсолютно).

Просто я написал
arr[1] := 19;
arr[2] := 36;
arr[3] := 90;
...
И так 30 строк. Вот и подумал - а насколько это грамотно? Можно, наверно, в одну строку (но не так: arr[1] := 19; arr[2] := 36; :-))

В файл в данном случае смысла нет писать - надо будет с экзешником еще и файл какой-то таскать...

А что с 'переменная не инициализирована'? В хелпе читал чего-то по этому поводу - ничего не понял. Не узнаю Борланду - хелпы всегда путёвые были...

P. S. Спасибо всем ответившим!
  Вверх
Fantasist
Дата 19.10.2002, 07:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Лентяй
***


Профиль
Группа: Участник Клуба
Сообщений: 1517
Регистрация: 24.3.2002

Репутация: нет
Всего: 41



Delphi6 разрешает инициализацию:
Код

var
 real_a:array [1..5] of integer=(23,44,33,563,66);:


В паскале вроде делали так:
Код

const
a:array [1..5] of integer=(23,44,33,563,66)


Типизированные константы вроде то же самое, что переменные. В смысле их можно менять.

В крайнем случае:

Код

type
 Arrayof5Integers=array [1..5] of integer;

const
a:Arrayof5Integers=(23,44,33,563,66)

var
real_a:Arrayof5Integers;

begin
 real_a:=a;
end;


Не так изящьно как в сях, но работает(должно). Однако попробуй первый вариант сначала.


--------------------
Волны гасят ветер...
PM MAIL   Вверх
Medved
Дата 21.10.2002, 07:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 7209
Регистрация: 15.9.2002
Где: Kazakhstan, Astan a

Репутация: 14
Всего: 154



Ответ конечно не совсем относиться к вопросу но так, к сведению что прежде чем использовать динамический массив (а в вопросе не о нем идет речь) требуется его инициализировать.....

SetLength(var S; NewLength: Integer);


--------------------
http://extreme.sport-express.ru/
...и неважно сколько падал, важно сколько ты вставал...
PM MAIL WWW ICQ Skype GTalk   Вверх
Тот самый кварк. Поленившийся.
Дата 23.10.2002, 23:20 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Цитата

Ответ конечно не совсем относиться к вопросу но так, к сведению что прежде чем использовать динамический массив (а в вопросе не о нем идет речь) требуется его инициализировать.....

Да уж. С этим-то я справляюсь :-)

Fantasist, спасибо.

Всем спасибо.
  Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0899 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.