![]() |
prüfen, ob etwas im array steht
Ich habe ein array of string deklariert. In manchen schreib ich dann halt was rein, in manchen nicht. Jetzt will ich aber prüfen, OB ich da was reingeschrieben hab.
wenn ich folgenden Code benutze, kommt immer "inkompatible typen: string und pointer"
Delphi-Quellcode:
Welche andere Möglichkeit gibt es, um zu prüfen, ob ich was in das array reingeschrieben hab, oder nicht? :gruebel:
if MeinArray[1] <> nil then ...
|
Re: prüfen, ob etwas im array steht
Versuche es mal so hier:
Delphi-Quellcode:
if MeinArray[1] <> '' then ...
|
Re: prüfen, ob etwas im array steht
Zitat:
|
Re: prüfen, ob etwas im array steht
Probiers mal mit
Delphi-Quellcode:
Wie immer ohne Geweähr :mrgreen:
if (trim(MeinArray[1]) <> '') then ...
|
Re: prüfen, ob etwas im array steht
Zitat:
Wenn es nicht gehen sollte, schau ob Du die "erweiterte Syntax" aktiviert hast und falls das auch nix hilf, initialisier das Array am Anfang mit einem bestimmten String, auf den Du dann prüfen kannst. |
Re: prüfen, ob etwas im array steht
Zitat:
Nachtrag: @Guenter: Probiert hab ich es auch, aber ich wusste es vorher sowieso schon. Und wo kann man die erweiterte Syntax aktivieren? :gruebel: Nachtrag2: hab ich gefunden, ist aber aktiviert :( |
Re: prüfen, ob etwas im array steht
Geh halt mal mit'n Debugger und nem Haltepunkt über dein Prog und schau dir den Inhalt des Array-Wertes an, wenn du dir sicher sein kannst, dass (noch) nichts zugewiesen wurde.
|
Re: prüfen, ob etwas im array steht
Wie wärs bei den Projekt-Optionen bei den restlichen Compiler Optionen?
Nachtrag: Manchmal wäre es schon auch intressant, wie man etwas deklariert hat. Du hast geschrieben ein Array, dachte immer du meinst eins mit fester größe. |
Re: prüfen, ob etwas im array steht
Falls du dein dynamisches Array noch nicht mit SetLength initialisiert hast, dann kann du es so hier prüfen:
Delphi-Quellcode:
if Length(MeinArray)>0 then ...
|
Re: prüfen, ob etwas im array steht
Also bei mir geht das so ohne Probleme:
Delphi-Quellcode:
var
myArray : Array [1..10] of String; procedure TForm1.FormCreate(Sender: TObject); begin myArray[1] := 'blubb'; myArray[3] := 'blubb'; myArray[5] := 'blubb'; myArray[7] := 'blubb'; end; procedure TForm1.Button1Click(Sender: TObject); var ndx : Integer; begin for ndx := Low(myArray) to High (myArray) do begin if (Length(myArray[ndx]) = 0 ) then begin ShowMessage (Format('Eintrag %d ist leer',[ndx])); end; end; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:24 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