Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi prüfen, ob etwas im array steht (https://www.delphipraxis.net/36461-pruefen-ob-etwas-im-array-steht.html)

malo 20. Dez 2004 12:33


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:
if MeinArray[1] <> nil then ...
Welche andere Möglichkeit gibt es, um zu prüfen, ob ich was in das array reingeschrieben hab, oder nicht? :gruebel:

Phantom1 20. Dez 2004 12:37

Re: prüfen, ob etwas im array steht
 
Versuche es mal so hier:

Delphi-Quellcode:
if MeinArray[1] <> '' then ...

malo 20. Dez 2004 12:39

Re: prüfen, ob etwas im array steht
 
Zitat:

Zitat von Phantom1
Versuche es mal so hier:

Delphi-Quellcode:
if MeinArray[1] <> '' then ...

Der Code funktioniert ja eben nicht, weil mein array ja keinen leeren String hat, sondern eben nichts... das ist ja das Problem :(

Ultimator 20. Dez 2004 12:41

Re: prüfen, ob etwas im array steht
 
Probiers mal mit
Delphi-Quellcode:
if (trim(MeinArray[1]) <> '') then ...
Wie immer ohne Geweähr :mrgreen:

GuenterS 20. Dez 2004 12:42

Re: prüfen, ob etwas im array steht
 
Zitat:

Zitat von malo
Zitat:

Zitat von Phantom1
Versuche es mal so hier:

Delphi-Quellcode:
if MeinArray[1] <> '' then ...

Der Code funktioniert ja eben nicht, weil mein array ja keinen leeren String hat, sondern eben nichts... das ist ja das Problem :(

Hast Du es denn überhaupt probiert?

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.

malo 20. Dez 2004 12:42

Re: prüfen, ob etwas im array steht
 
Zitat:

Zitat von Ultimator
Probiers mal mit
Delphi-Quellcode:
if (trim(MeinArray[1]) <> '') then ...
Wie immer ohne Geweähr :mrgreen:

Geht auch nicht... :cry:

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 :(

Ultimator 20. Dez 2004 12:46

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.

GuenterS 20. Dez 2004 12:47

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.

Phantom1 20. Dez 2004 12:48

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 ...

Sharky 20. Dez 2004 12:54

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 15:00 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz