TStringList eine Zeile auslesen

Für alles, was in den übrigen Lazarusthemen keinen Platz, aber mit Lazarus zutun hat.
Antworten
pascalts
Beiträge: 61
Registriert: Fr 10. Okt 2014, 13:16

TStringList eine Zeile auslesen

Beitrag von pascalts »

Hallöchen!

Ich habe eine TStringsList. Mit

Code: Alles auswählen

ShowMessage(SLR.Text);
kann ich sie mir komplett anzeigen lassen. Wie lasse ich mir aber nur Zeile 1 ausgeben? Oder 3 oder oder oder? Ich hatte es mit

Code: Alles auswählen

ShowMessage(SLR.Text[1]);
versucht, aber da bekomme ich nur den ersten Buchstabe der ersten Zeile...

Sicher ein Klacks für euch!

baumina
Beiträge: 152
Registriert: Mo 3. Feb 2014, 14:07
OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
CPU-Target: xxBit

Re: TStringList eine Zeile auslesen

Beitrag von baumina »

Code: Alles auswählen

ShowMessage(SLR[i]);
Zuletzt geändert von baumina am Do 20. Nov 2014, 14:21, insgesamt 1-mal geändert.
.

Benutzeravatar
m.fuchs
Lazarusforum e. V.
Beiträge: 2808
Registriert: Fr 22. Sep 2006, 19:32
OS, Lazarus, FPC: Winux (Lazarus 2.0.10, FPC 3.2.0)
CPU-Target: x86, x64, arm
Wohnort: Berlin
Kontaktdaten:

Re: TStringList eine Zeile auslesen

Beitrag von m.fuchs »

Code: Alles auswählen

SLR.Strings[0]
bzw.

Code: Alles auswählen

SLR[0]
Achtung: Die Zählung beginnt bei 0. Das heißt die dritte Zeile erhältst du mit

Code: Alles auswählen

SLR[2]
Software, Bibliotheken, Vorträge und mehr: https://www.ypa-software.de

pascalts
Beiträge: 61
Registriert: Fr 10. Okt 2014, 13:16

Re: TStringList eine Zeile auslesen

Beitrag von pascalts »

Danke! Kann ich vorher testen, ob was drin steht?

baumina
Beiträge: 152
Registriert: Mo 3. Feb 2014, 14:07
OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
CPU-Target: xxBit

Re: TStringList eine Zeile auslesen

Beitrag von baumina »

Code: Alles auswählen

SLR.Count
Aber solche Dinge findest du sicherlich auch in der Hilfe.
.

pascalts
Beiträge: 61
Registriert: Fr 10. Okt 2014, 13:16

Re: TStringList eine Zeile auslesen

Beitrag von pascalts »

baumina hat geschrieben:

Code: Alles auswählen

SLR.Count
Aber solche Dinge findest du sicherlich auch in der Hilfe.
Das zeigt doch nur die Anzahl der Einträge an, oder? Dann könnte ich mit <= usw. testen, ob ob es existiert... aber ob SLRsen[7]; (und nur das) existiert kann ich nicht direkt testen?

wp_xyz
Beiträge: 5142
Registriert: Fr 8. Apr 2011, 09:01

Re: TStringList eine Zeile auslesen

Beitrag von wp_xyz »

testen, ob ob es existiert... aber ob SLRsen[7]; (und nur das) existiert kann ich nicht direkt testen?
Na - der Eintrag existiert auf jeden Fall, sonst wäre er ja nicht in der Stringliste. Du meinst wahrscheinlich, ob der Eintrag einen "richtigen" Wert hat, also kein leerer String ist. Jetzt denk mal nach: Die Einträge der Stringliste sind Strings, das was du nicht willst, ist ein Leerstring. Wie musst du fragen, ob ein String ein Leerstring ist? Und dann nimm für den String SLRsen[7].

soerensen3
Beiträge: 104
Registriert: Fr 22. Jun 2012, 01:51
OS, Lazarus, FPC: Fedora-Linux 23 (Korora) Lazarus 1.6 FPC 3.0
CPU-Target: 64Bit
Wohnort: Bonn

Re: TStringList eine Zeile auslesen

Beitrag von soerensen3 »

http://www.freepascal.org/docs-html/rtl ... count.html

TStringList.Count gibt die Anzahl an Zeilen aus, wenn der Wert >= 1 ist, gibt es die 1 Zeile.

Length( TStringList.Text ) gibt die Anzahl an Zeichen aus, wobei auch Zeilenumbrüche zählen.

Code: Alles auswählen

 
if ( SLR.Count >= 1 ) then
  begin
    s:= SLR[ 0 ]// gibt die erste Zeile
    if ( s > '' ) then //String Leer?
      WriteLn( 'Der String in der ersten Zeile ist ', s )
    else
      WriteLn( 'Der String in der ersten Zeile ist leer' );
  end;
 

Antworten