![]() |
Delphi-Version: 5
Delimiter-Strigliste abarbeiten
Guten Tag,
Ich habe eine Stringliste (ManungenSL) mit mehreren Zeilen. Die Stringliste hat als Trenner ein Semikolon Beispiel:
Delphi-Quellcode:
Der Quellcode macht was er soll!!
j := 0;
ibqryZeigeForderungen.First; for i := 1 to grdZeigeForderungen.RowCount - 1 do begin if grdZeigeForderungen.GetCheckBoxState(1, i, pState) then begin if pState then begin ibqryZeigeForderungen.MoveBy(i - 1 - j); // muss zuerst (MoveBy verschiebt den Datensatz) pSLInput := ibqryZeigeForderungenFORDAUS.AsString + ';' + ibqryZeigeForderungenFORDERUNGSTXT.AsString + ';' + FloatToStrF(ibqryZeigeForderungenFORDERUNG.AsCurrency, ffCurrency, 8, 2) + ';' + FloatToStrF(ibqryZeigeForderungenOFFEN.AsCurrency, ffCurrency, 8, 2); MahnungenSL.Delimiter := ';'; MahnungenSL.DelimitedText := pSLInput; MahnungenSL.StrictDelimiter := True; j := i - 1; // muss zuletzt end; end; end; Ich möchte nun die einzelnen Zeilen der Stringliste abarbeiten. Meine Versuche scheiterten bisher kläglich. for i := 0 to strigliste.Count - 1 Liest nur die Spalten der letzten Zeile. Meine Fragen dazu: Wie wird der Zeige auf die erste Zeile gestellt? Ist evtl. eine Delimiter-Liste falsch und eine "Zusammenhänge Liste" besser oder gar ein Record?:gruebel: Vielen Dank im Voraus an die Tippgeber. |
AW: Delimiter-Strigliste abarbeiten
Mach doch bitte ein komplettes Beispiel mit Code der dein Problem nachvollziehen lässt. Die textuelle Beschreibung ist leider nicht eindeutig genug.
|
AW: Delimiter-Strigliste abarbeiten
Delphi-Quellcode:
, sonst werden auch Leerzeichen/Tabt/usw. als Delimiter betrachtet :wall:
SL.StrictDelimiter:=True;
Was für ein Curser? Einmal mit FOR über jede Zeile und dann jede Zeile einzeln an dein DelimitetText zuweisen.
Delphi-Quellcode:
for i := 0 to StringListe.Count - 1 do begin
SL.DelimitedText := StringListe[i]; // hier in SL alle Werte der aktuellen Zeile for var Line in StringListe do begin SL.DelimitedText := Line; // hier in SL alle Werte der aktuellen Zeile und bitte [DELPHI]dein code[/DELPHI] benutzen |
AW: Delimiter-Strigliste abarbeiten
Zitat:
Delphi-Quellcode:
die Stringliste erweitert - tut sie aber nicht! Sie wird dagegen komplett ersetzt und enthält am Ende nur die Daten des letzten Records.
MahnungenSL.DelimitedText := pSLInput;
|
AW: Delimiter-Strigliste abarbeiten
Zitat:
Da eine Schleife durchlaufen wird, habe ich gedacht, es wird jedesmal eine neue Zeile erzeugt und hinzugefügt. Das scheint aber nicht der Fall zu sein.Aber was soll stattdessen genommen werden?
Delphi-Quellcode:
ist doch auch nicht richtig.
MahnungenSL.ADD(pSLInput)
|
AW: Delimiter-Strigliste abarbeiten
Eine separate TStringList mit DelimitedText pro Datensatz befüllen und diese dann mit AddStrings an die bestehende anhängen.
|
AW: Delimiter-Strigliste abarbeiten
Was ist das für ein Grid?
etwa Delphis TStringGrid? Wenn ja, dann gibt es dort doch je Row eine interne StringList (glaub ich), von welcher man eventuell das DelimitedText aufrufen kann. Das für jede Zeile machen und an eine neue StringListe als Zeile (Add) anhängen. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:03 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