Forum: Sonstige Fragen zu Delphi
Delphi
by DeddyH,
30. Jul 2009
Das geht auch ohne break :zwinker:procedure StripLines(const Titel: string; const sLines: TStrings);
const sIgnore = 'Serien Termine'
var i : integer;
begin
sResult.Add(Titel);
i := 0;
while (i < sLines.Count) and (sLines <> '') and (sLines <> sIgnore) do
begin
sResult.Add(sLines);
inc(i);
Forum: Sonstige Fragen zu Delphi
Delphi
by DeddyH,
30. Jul 2009
Dann hab ich das falsch verstanden. OK, dann müsste das so gehen:procedure StripLines(const Titel: string; const sLines: TStrings);
const sIgnore = 'Serien Termine'
var i : integer;
begin
sResult.Add(Titel);
for i := 0 to sLines.Count - 1 do
if (sLines <> '') and (sLines <> sIgnore) then
sResult.Add(sLines)
else
break;
Forum: Sonstige Fragen zu Delphi
Delphi
by DeddyH,
30. Jul 2009
Ich hab mal was stumpf heruntergetippt, schau mal, ob das so funktioniert.procedure TForm1.SpeichernClick(Sender: TObject);
var sResult :Tstringlist;
procedure StripLines(const Titel: string; const sLines: TStrings);
const sIgnore = 'Serien Termine'
var i : integer;
begin
sResult.Add(Titel);
for i := 0 to sLines.Count - 1 do
Forum: Sonstige Fragen zu Delphi
Delphi
by DeddyH,
30. Jul 2009
Finde ich nicht. Außerdem kannst Du dann sicher sein, dass Du immer exakt dasselbe machst und nicht mittendrin irgendwo eine Zeile vergisst oder sowas.
Forum: Sonstige Fragen zu Delphi
Delphi
by DeddyH,
30. Jul 2009
Und so?Zwischenspeicher.Add(trim(DiString.Text)); // das Gleiche für die anderen Listen
Übrigens machst Du zig mal quasi dasselbe, das würde ich in eine Funktion auslagern.
Forum: Sonstige Fragen zu Delphi
Delphi
by DeddyH,
30. Jul 2009
Ich habe mir nicht alles in allen Einzelheiten angeschaut, aber beim Löschen musst Du die Schleife rückwärts laufen lassen.For i:= Zwischenspeicher.Count -1 downto 0 do // das hier
begin // ist
If(Zwischenspeicher = '') Then // jetzt
Zwischenspeicher.Delete(i); // neu
end;