Einzelnen Beitrag anzeigen

Benutzerbild von APP
APP

Registriert seit: 24. Feb 2003
Ort: Graz (A)
705 Beiträge
 
Delphi 7 Enterprise
 
#16

Re: Problem mit If schleife ...

  Alt 25. Okt 2003, 16:03
Hallo sharkx,

falls ich Dich richtig verstanden habe, dann meinte ich in etwa so:

Delphi-Quellcode:
PROCEDURE TForm1.Button3Click(Sender: TObject);
VAR
   NewList : TStringList;
   j : Integer;

   // logfile auf "[Time] [Tag] und String" durchsuchen
   FUNCTION ReadString(path: STRING): STRING;
   CONST
      searchstring = '[bla] + blaa bluuuub:';
   VAR
      list : TStringList;
      z1, datum, release : STRING;
      i, p1, p2 : integer;
   BEGIN
      list := TStringList.Create;
      list.LoadFromFile(path);
      // Release parsen
      FOR i := 0 TO list.Count - 1 DO
         BEGIN
            p1 := Pos(searchstring, list[i]);
            IF p1 = 0 THEN continue;

            z1 := list.Strings[i];
            p1 := Pos('[', z1);
            p2 := Pos(']', z1);

            datum := Copy(z1, p1 + 1, (p2 - p1) - 1);

            p1 := Pos(searchstring, z1);
            z1 := Copy(z1, p1 + length(searchstring) + 1, length(z1));

            p2 := Pos(' ', z1);

            release := Copy(z1, 1, p2 - 1);
            newlist.Add(datum + ' ' + release)
         END;
      result := newlist.CommaText;
      list.free;
   END;

BEGIN
   NewList := TStringList.Create;
   TRY
      // StringList sortieren und keine doppelten Strings hinzufügen
      NewList.Sorted := True;
      NewListt.Duplicates := dupIgnore;
      NewList.CaseSensitive := False;
      // Deine "Endlosschleife"
      FOR j := 0 TO 10 DO
         BEGIN
            Memo1.Clear;
            Memo1.Lines.add(ReadString('C:\LB.txt'));
         END;
      beep;
   FINALLY
      NewList.Free;
   END;
END;
Das ist nur ein Ansatz, Du kannst "newlist" auch als Parameter mitgeben,
wenn Deine Funktion keine Unter-Funktion sein soll.
Oder Du kannst "newlist" global deklarieren...

Auf alle Fälle sollte deine Funktion immer mit der Stringliste
arbeiten die vorher einmal erzeugt wurde.
Armin P. Pressler

BEGIN
...real programmers are using C/C++ - smart developers Delphi;
END;
  Mit Zitat antworten Zitat