![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
![]() Имеется массив beforelbl
Длина массива 0. Код:
showmessage('High(beforelbl)='+inttostr(High(beforelbl))); for i := 0 to High(beforelbl) do begin showmessage('for i := 0 to High(beforelbl) do'); end showmessage до цикла выдаёт значение "-1", а второй showmessage всё равно показывает, то есть несмотря на то, что 0<-1 цикл всё равно выполняется... в чём дело??? Я же не ставил downto -1 |
#2
|
||||
|
||||
![]() Код:
for i:=Low(beforelbl) to High(beforelbl) do Пишу программы за еду. __________________ Последний раз редактировалось NumLock, 22.10.2012 в 13:54. |
#3
|
||||
|
||||
![]() Цитата:
Код:
procedure TForm1.Button1Click(Sender: TObject); var beforelbl: array of Integer; i: Integer; begin showmessage('High(beforelbl)=' + inttostr(High(beforelbl))); for i := 0 to High(beforelbl) do begin showmessage('for i := 0 to High(beforelbl) do'); end end; |
#4
|
||||
|
||||
![]() У меня вот такой код:
Код:
var i:Integer; beforelbl:array of Integer; begin showmessage('High(beforelbl)='+inttostr(High(beforelbl))); for i := 0 to High(beforelbl) do begin showmessage('for i := 0 to High(beforelbl) do'); end end; Некоторые программисты настолько ленивы, что сразу пишут рабочий код. Если вас наказали ни за что - радуйтесь: вы ни в чем не виноваты. Последний раз редактировалось Aristarh Dark, 22.10.2012 в 13:56. |
#5
|
|||
|
|||
![]() в том-то и дело, что дело странное, у меня два сообщения, переходит в тело цикла...
![]() |
#6
|
||||
|
||||
![]() Цитата:
Входит в тело цикла? p.s. Какая у тебя версия Delphi? |
#7
|
||||
|
||||
![]() создай пустой проект и добавь кнопку на форму:
Код:
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Button1: TButton; procedure Button1Click(Sender: TObject); private { Private declarations } beforelbl: array of Integer; public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); var i: Integer; begin // SetLength(beforelbl, 4); ShowMessage(IntToStr(Low(beforelbl))); ShowMessage(IntToStr(High(beforelbl))); for i:=Low(beforelbl) to High(beforelbl) do ShowMessage('>>'+IntToStr(i)); end; end. Пишу программы за еду. __________________ |
#8
|
|||
|
|||
![]() Delphi 7.0 Build 4.453
если просто так - работает, а в моей проге не хочет.. не пойму в чём дело... массив создаётся уже в этом же цикле, а размер массива ранее... мсожет быть пока значения в массив не попали, то его размер как-то... хз... не знаю что думать даже... |
#9
|
||||
|
||||
![]() Цитата:
Как объявлен массив? И как задаётся его размер? |