![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | 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');
endshowmessage до цикла выдаёт значение "-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
|
||||
|
||||
|
Цитата:
Как объявлен массив? И как задаётся его размер? |