Проблема с массивом

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Проблема с массивом

Сообщение Ildus » 29.10.2018 18:02:32

Проблема в том что при обращении к какому-то, не присвоенному значения, разделу массива выходит ошибка.Каким циклом или чем-то еще можно проверить есть ли значение или похожи значения у этого массива?
А именно у массива Action_Nomer:TEdit;
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Код: Выделить всё
Action_Nomer:array of array of TEdit;
...
  SetLength(Action_Nomer,100,100);
...
Action_Nomer[Najatiya_Action[PageControl1.ActivePageIndex],PageControl1.ActivePageIndex]:=TEdit.Create(UJniche);
...
with Action_Nomer[Najatiya_Action[PageControl1.ActivePageIndex],PageControl1.ActivePageIndex] do
   begin
   Width:=20;
   Visible:=True;
   Left:=0;
   Top:=5;
   Parent:=Action_Idti_Panel[Najatiya_Action[PageControl1.ActivePageIndex],PageControl1.ActivePageIndex];
   Text:=IntToStr(Najatiya_Action[PageControl1.ActivePageIndex]);
   end;     
...
procedure TUJniche.BitBtn5Click(Sender: TObject);
var
j:integer;
u:integer;
begin
  i:=0;
  While i<100 do begin
  j:=0;
  if Najatiya_Action[u] <> -1 then
  begin
  While j<High(Najatiya_Action) do begin
  if (Action_Nomer[i,j]=TEdit.) then begin
  if Action_Nomer[i,j].Parent=Action_Idti_Panel[i,j]
  then  begin
  zapic_[i]:=IntToStr(Action_Idti_Box[i,j].ItemIndex);
  end
  else if Action_Nomer[i,j].Parent=Action_Jdat_Panel[i,j] then begin
  zapic_[i]:='4';
  end
  else if Action_Nomer[i,j].Parent=Action_Pechat_Panel[i,j] then begin
  zapic_[i]:='5';
  end;
  Case zapic_[i] of
  '3':Object_[j].Left:=Object_[j].Left - StrToInt(Action_Idti_Edit[i,j].Text);//идти влево
'2':Object_[j].Top:=Object_[j].Top + StrToInt(Action_Idti_Edit[i,j].Text);//идти вниз
'1':Object_[j].Left:=Object_[j].Left + StrToInt(Action_Idti_Edit[i,j].Text);//идти вправо
'0':Object_[j].Top:=Object_[j].Top - StrToInt(Action_Idti_Edit[i,j].Text);//вверх идти
'4':begin
Chot:=StrToInt(Action_Jdat_Edit[i][PageControl1.ActivePageIndex].Text)*1000;
repeat
      Sleep(1000);
      Application.ProcessMessages;
      Chot:=Chot-1000;
    until Chot=0;
end;
'5':begin
Action_Pechat_Otpechatano[i][PageControl1.ActivePageIndex]:=TImage.Create(UJniche);
With Action_Pechat_Otpechatano[i][PageControl1.ActivePageIndex] do
begin
Visible:=True;
Left:=Object_[j].Left;
Top:=Object_[j].Top;
Parent:=Panel3;
Stretch:=True;
Proportional:=True;
Width:=Object_[j].Width;
Height:=Object_[j].Height;
end;
Object_[j].Picture.SaveToFile(ExtractFilePath(Application.ExeName)+'Картинка.jpg');
Action_Pechat_Otpechatano[i][PageControl1.ActivePageIndex].Picture.LoadFromFile(ExtractFilePath(Application.ExeName)+'Картинка.jpg');
Object_[j].BringToFront;
end;
end;
  end;
   j:=j+1;
   end;
  end;
   i:=i+1;
  end;
  end;
Ildus
незнакомец
 
Сообщения: 2
Зарегистрирован: 12.10.2018 19:35:38

Вернуться в Lazarus

Кто сейчас на конференции

Сейчас этот форум просматривают: Yandex [Bot] и гости: 8

Рейтинг@Mail.ru