![]() |
Array prüfen
Hi,
ich habe in meinem Programm ein Array[1..200, 1..200], der aber nicht für jeden Wert Array[x, y] aktiviert (mit "create") wurde. Wie kann ich denn prüfen, ob z.Bsp Array[50, 100] vorhanden ist, oder nicht. Beispiel:
Delphi-Quellcode:
Wie kann ich prüfen lassen ob MyArray[x, y] vorhanden ist, oder nicht?
for y := 1 to 100 do
for x := 1 to 100 do begin MyArray[x, y] := TMyObject.Create; MyArray[x, y].MyVar := x * y; end; for y := 150 to 200 do for x := 150 to 200 do begin MyArray[x, y] := TMyObject.Create; MyArray[x, y].MyVar := x * y; end; |
Re: Array prüfen
Delphi-Quellcode:
if Assigned(MyArray[x,y]) and (MyArray[x,y] is TMyObject) then
|
Re: Array prüfen
hast du das Array vorher mit nil initialisiert?
Am besten du setzt das Array zu begin überall auf nil um später prüfen zu können ob etwas zugewiesen wurde
Delphi-Quellcode:
ZeroMemory(@MyArray, SizeOf(MyArray));
|
Re: Array prüfen
Zitat:
Ich habe es so benutzt:
Delphi-Quellcode:
if Assigned(MyArray[x,y]) = False then
begin ShowMessage('Error 404'); // z.Bsp exit; end; |
Re: Array prüfen
Moin Tim,
Zitat:
Delphi-Quellcode:
Boolesche Werte sollte man nie auf Gleichheit prüfen, ausserdem ist es so auch lesbarer.
if not Assigned(MyArray[x,y]) then
begin ShowMessage('Error 404'); // z.Bsp exit; end; |
Re: Array prüfen
@christian. Eine prüfung auf False sollte fehlerfrei sein aber "schöner" ist es auf jeden fall mit not
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:29 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz