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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 11.05.2010, 14:23   #1
Olga67_net
 
Регистрация: 07.04.2009
Сообщений: 4
По умолчанию Delphi7. Ввод массива.

Во всех книгах читала, что "Количество элементов массива должно соответствовать указанному в объявлении". Но, объявив массив на 6 элементов, обнаружила, что могу ввести и 7-й и т.д., и никаких сообщений об ошибке. Это как-же так?

Код:
var
  Form1: TForm1;
  i:integer;
  Team:array[1..6] of string[15];


procedure TForm1.FormCreate(Sender: TObject);
begin
i:=1;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
Team[i]:=Edit1.Text;
label2.Caption:=label2.Caption+#13+IntToStr(i)+'. '+Team[i];
Edit1.Text:='';
i:=i+1;
end;

end.

Последний раз редактировалось Stilet; 11.05.2010 в 15:33.
Olga67_net вне форума Ответить с цитированием
Старый 11.05.2010, 14:37   #2
megachuhancer
Форумчанин
 
Регистрация: 16.04.2009
Сообщений: 247
По умолчанию

Чтобы проверялись границы массива, нужно прописать в начале модуля {$r+}
Или установить флажок Project->Options->Compiler->Runtime errors->Range checking
megachuhancer вне форума Ответить с цитированием
Старый 11.05.2010, 14:45   #3
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

Цитата:
Сообщение от Olga67_net Посмотреть сообщение
Во всех книгах читала, что "Количество элементов массива должно соответствовать указанному в объявлении".
Оно правильно в книгах пишут. Даже если ошибка и не возникнет (по указанным в посте 1 причинам) ничего хорошего из этого не выйдет и есть вероятность, что Вы затрете какие-то другие данные программы (особенно когда данных много). А потом будете долго удивляться, чего это оно не фунциклирует так как хочется .
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика
Utkin вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
гибкий ввод массива Ananim-Pbl6ak Паскаль, Turbo Pascal, PascalABC.NET 3 14.05.2009 22:42
C++ Builder 6, ввод массива XyMan Помощь студентам 2 25.04.2009 19:18
Ввод элементов массива Х с помощью цикла for: veter_s_morya Паскаль, Turbo Pascal, PascalABC.NET 4 13.05.2008 18:19
Ввод двухмерного массива в Делфи через StringGrid KIRILL_FR Помощь студентам 2 24.02.2008 18:03
ввод, запись массива чисел в файл Sairut Помощь студентам 1 11.12.2007 23:19