Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Überprüfen ob TStringlist leer ist (https://www.delphipraxis.net/96221-ueberpruefen-ob-tstringlist-leer-ist.html)

Bastler 20. Jul 2007 11:39


Überprüfen ob TStringlist leer ist
 
Hallo;

Wie kann ich überprüfen, ob eine StringList leer ist ?

Ich suche etwas If-Taugliches, also so nach dem Motto: Wenn Liste=leer dann ... sonst...

Achja und ich möchte weder Count noch Capacity benutzen... was das ganze wohl etwas schwiriger macht... :?

Danke im Voraus für alle Antworten!

Tormentor32 20. Jul 2007 11:40

Re: Überprüfen ob TStringlist leer ist
 
EDIT:
Sorry :wall:

mkinzler 20. Jul 2007 11:40

Re: Überprüfen ob TStringlist leer ist
 
Zitat:

Achja und ich möchte weder Count noch Capacity benutzen
Und warum den nicht, wäre doch die sauberste Methode?

leddl 20. Jul 2007 11:41

Re: Überprüfen ob TStringlist leer ist
 
Zitat:

Zitat von Bastler
Achja und ich möchte weder Count noch Capacity benutzen...

:gruebel: Und wieso, wenn man fragen darf? Count ist nunmal der Standard für solche Sachen... :zwinker:

SirThornberry 20. Jul 2007 11:41

Re: Überprüfen ob TStringlist leer ist
 
warum nicht Count? Dann kannst du es nicht testen.

Spontan hätte ich zwar gesagt das du mit
Delphi-Quellcode:
if (StringList.Text = '') then
testen kannst aber ich bin mir nicht ganz sicher ob eventuell doch generell #13#10 hinten angehangen wird.

[Edit]
So eben getestet - es geht doch das man ".Text" auf '' prüft
[/Edit]

Bastler 20. Jul 2007 11:43

Re: Überprüfen ob TStringlist leer ist
 
Ehrlich gesagt, weil es nicht funktioniert, denn sonst hätte ich es schon gemacht. :wink:

Ich such mal eben den Code Schnipselraus, vllt. ist da ja auch noch n anderer Fehler...

@ SirThornberry: Da komtm die Meldung Inkompatible Typen, String und Stringlist... was ja auch stimmt.

// EDIT: Hier ist der Code:

Delphi-Quellcode:
function termine(datum:Tdate):TStringList;
var r,x:TStringlist;
    z:boolean;
    temp_ini:TIniFile;
begin
if ini.SectionExists(leftstr(datetostr(datum),2)) then
  z:=true;
if z then
  begin
  x:=Tstringlist.Create;
  ini.ReadSection(leftstr(datetostr(datum),2),x);
  end;
r:=Tstringlist.Create;
temp_ini:=Tinifile.Create(app_pfad+'täglich.ini');
if temp_ini.SectionExists('täglich') then
  begin
  temp_ini.ReadSection('täglich',r);
  end;
x.AddStrings(r);        //Das Problem schenit mir hier zu sein, wenn x nämlich leeer ist, addet er zwar angeblich r,
                         //aber meckert nacher bei result:x , bzw möchte das dann nciht übergeben.
                         // (x wird anschließend einer Listbox zugewiesen)
r.Free;
Result:=x

SirThornberry 20. Jul 2007 11:45

Re: Überprüfen ob TStringlist leer ist
 
dann machst du was falsch, bei mir klappt es:
Delphi-Quellcode:
var
  stringliste: TStringList;
begin
  stringliste := TStringList.Create();
  if (stringliste.Text = '') then
    caption := 'leer';
  stringliste.Free;

Bastler 20. Jul 2007 11:50

Re: Überprüfen ob TStringlist leer ist
 
Danke :thumb:
Klappt jetzt , ich vergas den Text zu vergleichen und habe deshalb zuerst nur x='' geschrieben udn nicht x.text='' ...

DeddyH 20. Jul 2007 11:52

Re: Überprüfen ob TStringlist leer ist
 
Mit fällt auf, dass x nur dann erzeugt wird, wenn z true ist. Weiter unten wird aber nicht geprüft, ob x überhaupt erzeugt wurde.

Nuclear-Ping 20. Jul 2007 11:57

Re: Überprüfen ob TStringlist leer ist
 
Zitat:

Zitat von Bastler
Delphi-Quellcode:
function termine(datum:Tdate):TStringList;
var r,x:TStringlist;
    z:boolean;
    temp_ini:TIniFile;
begin
if ini.SectionExists(leftstr(datetostr(datum),2)) then
  z:=true;
if z then
  begin
  x:=Tstringlist.Create; // << x wird nur erzeugt, wenn z TRUE ist
  ini.ReadSection(leftstr(datetostr(datum),2),x);
  end;
r:=Tstringlist.Create;
temp_ini:=Tinifile.Create(app_pfad+'täglich.ini');
if temp_ini.SectionExists('täglich') then
  begin
  temp_ini.ReadSection('täglich',r);
  end;
x.AddStrings(r);        // << Und was machst du dann hier, wenn z FALSE ist? ;)
r.Free;
Result:=x

[edit]
Arg, Deddy du schnellschreiber. :mrgreen:
Kam keine rote Box.
[/edit]


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:27 Uhr.
Seite 1 von 2  1 2      

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 by Thomas Breitkreuz