![]() |
Ü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! |
Re: Überprüfen ob TStringlist leer ist
EDIT:
Sorry :wall: |
Re: Überprüfen ob TStringlist leer ist
Zitat:
|
Re: Überprüfen ob TStringlist leer ist
Zitat:
|
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:
testen kannst aber ich bin mir nicht ganz sicher ob eventuell doch generell #13#10 hinten angehangen wird.
if (StringList.Text = '') then
[Edit] So eben getestet - es geht doch das man ".Text" auf '' prüft [/Edit] |
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 |
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; |
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='' ... |
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.
|
Re: Überprüfen ob TStringlist leer ist
Zitat:
Arg, Deddy du schnellschreiber. :mrgreen: Kam keine rote Box. [/edit] |
Re: Überprüfen ob TStringlist leer ist
Zitat:
Ich vermute nämlich, dass deine StringList "x" nicht leer ist sondern garnicht erzeugt wird (passier wenn den "z" false ist da die Stringlist innerhalb der Abfrage erst erzeugt und hinterher ohne Prüfung benutzt wird. Wenn du uns sagts, welcher Fehler angezeigt wird dann ist eine Diagnose wesentlich einfacher. Ralf EDIT: kein roter Kasten (anderen war das mit dem "z" auch schon aufgefallen...) |
Re: Überprüfen ob TStringlist leer ist
Zitat:
Gruß Hawkeye |
Re: Überprüfen ob TStringlist leer ist
Ja, ich glaube das sind auch die Gründe, warum angeblich ".Count" nicht funktioniert. ;)
|
Re: Überprüfen ob TStringlist leer ist
Zitat:
Delphi-Quellcode:
sollte man besser schreiben
if ini.SectionExists(leftstr(datetostr(datum),2)) then
z:=true;
Delphi-Quellcode:
z := ini.SectionExists(leftstr(datetostr(datum),2));
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:40 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