Einzelnen Beitrag anzeigen

Mohadrim

Registriert seit: 4. Jun 2004
8 Beiträge
 
#1

Memo befüllen in Timer = leer

  Alt 28. Mär 2017, 15:26
Delphi-Version: 10 Berlin
Hallo,

ich habe hier ein ganz komisches Problem.

Es existieren zwei Memo Boxen. Memo1 liest eine Datei ein und schaut Zeile für Zeile ob ein String vorhanden ist, wenn ja wird ab dieser Zeile nichts mehr in Memo2 eingetragen. Das funktioniert super in Form.Show aber nicht wenn dies in einem Timer aufgerufen wird. Das Memo ist nur 20-40Zeilen lang (Config Datei)
Ich möchte mit Ablauf von Timer2 in der Config ab der Zeile mit String #Hier_nicht_mehr die restlichen Zeilen raus haben.

Delphi-Quellcode:
  Memo1.Lines.LoadFromFile('dateiname');
  Memo2.Clear;
  for i := 0 to Memo1.Lines.Count-1 do begin
    if (Pos('#Hier_nicht_mehr', Memo1.Lines[i]) <> 0) and (r = 0) then
      r := 1;
    if r = 0 then
      Memo2.Lines.Add(Memo1.Lines[i]);
  end;
In dem Timer siehts dann so aus

Delphi-Quellcode:
  if time = 0 then
  begin
    Timer1.Enable := false;
    Memo1.Lines.LoadFromFile('dateiname');
    Memo2.Clear;
    for i := 0 to Memo1.Lines.Count-1 do begin
      if (Pos('#Hier_nicht_mehr', Memo1.Lines[i]) <> 0) and (r = 0) then
        r := 1;
      if r = 0 then
        Memo2.Lines.Add(Memo1.Lines[i]);
    end;
  end;
In der if Abfrage wird vor und nach der For Schleife noch zwei andere Sachen gesetzt die auch richtig sind. Hab schon die Memo Sachen in eine eigene procedur ausgelager und die dort aufgerufen aber das geht auch nicht. Im Form.Show hingegen alles super. Es mit nur einem Memo zu versuchen brachte auch nichts.

Delphi-Quellcode:
  for i := 0 to Memo1.Lines.Count-1 do begin
    if (Pos('#Hier_nicht_mehr', Memo1.Lines[i]) > 0) and (r = 0) then
      r := 1;
    if r = 1 then
      Memo1.Lines.Delete(i);
  end;

Die Config sieht so aus:

Code:
# Infotext
# Infotext
# Infotext

stream = 1
bitrate = 128

#Hier_nicht_mehr
typ = mp3
...
Wäre super wenn jemand die Lösung kennt.

Geändert von Mohadrim (28. Mär 2017 um 15:29 Uhr)
  Mit Zitat antworten Zitat