Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Bestimmtes Format aus Memo auslesen (https://www.delphipraxis.net/92608-bestimmtes-format-aus-memo-auslesen.html)

Testy 23. Mai 2007 10:00


Bestimmtes Format aus Memo auslesen
 
Hallo,

ich habe eine HTML-Seite in ein Memo einlesen lassen. Nun möchte ich alle Zahlen im Format xx:xx:xx (Stunden:Minuten:Sekunden) in eine Listbox oder so auslesen.

Z.B.: <table><td>00:13:53</td></table>

Dann soll er mir die 00:13:53 und alle anderen Zahlen in diesem Format in eine Listbox eintragen.

Wäre super wenn ihr eine Idee habt!

Danke im voraus!

kolbaschedder 23. Mai 2007 10:07

Re: Bestimmtes Format aus Memo auslesen
 
Google mal nach "TRegExpr" gleich der erste Eintrag findet eine Hervorragende komponente mit BeispielProjekt.

Vorsicht, Seite ist in Tschechisch der richtige Button ist mit "Stahnout TRegExpr" beschriftet.

MfG
Kolbi

kolbaschedder 23. Mai 2007 10:11

Re: Bestimmtes Format aus Memo auslesen
 
Der richtige Reguläre Ausdruck wäre dann sowas wie

[0-9]{2}:[0-9]{2}:[0-9]{2}

Testy 23. Mai 2007 10:19

Re: Bestimmtes Format aus Memo auslesen
 
Danke für den Tip! Da ich aber noch blutiger Anfänger bin, kann ich mit dem Programm leider nicht sehr viel anfangen! Scheint mir auch sehr überdimensioniert für mein kleines Problem zu sein!
Trotzdem Danke!
Gibt es für soetwas keine Function oder eine Schleife welche das Memo durchsucht und dann alle Zahlen welche mit zwei Doppelpunkten getrennt sind findet (xx:xx:xx)?

mquadrat 23. Mai 2007 10:29

Re: Bestimmtes Format aus Memo auslesen
 
Um reguläre Ausdrücke wirst du dabei nicht rumkommen. Zumindest wenn du dir nicht unnötig arbeit machen willst. Du könntest dir so ne Schleife natürlich auch von Hand zusammenbasteln. Aber warum das Rad zweimal erfinden?

Testy 23. Mai 2007 10:38

Re: Bestimmtes Format aus Memo auslesen
 
Habe mich mit TRegExpr nochmal beschäftigt, und es geht! Super Tipp von
kolbaschedder! Danke danke danke!!!

Gruß!

Testy 23. Mai 2007 10:47

Re: Bestimmtes Format aus Memo auslesen
 
Ich bin's nochmal! Habe noch ein Problem! Mein Quelltext sieht jetzt wie folgt aus:
Delphi-Quellcode:
procedure TForm1.Button2Click(Sender: TObject);
var
  l: TStringList;
  r: TRegExpr;
begin
  l := TStringList.Create;
  r := TRegExpr.Create;
  try
    l.LoadFromFile('deine.html');
    r.Expression := '[0-9]{2}:[0-9]{2}:[0-9]{2}';
    if r.Exec(l.Text) then
    repeat
      listbox1.items.Add(r.Match[0]);
    until not r.ExecNext;
  finally
    r.Free;
    l.Free;
  end;
end;
Funktioniert auch alles! Nun möchte ich statt 'deine.html' den vorhanden Quelltext aus meinem Memo1 nehmen!
Delphi-Quellcode:
l.LoadFromFile(memo1.lines);
Funktioniert so aber nicht!

mquadrat 23. Mai 2007 10:49

Re: Bestimmtes Format aus Memo auslesen
 
TMemo.Lines ist schon vom Typ TStrings, also einfach
Delphi-Quellcode:
if r.Exec(meinMemo.Lines.Text) then

Testy 23. Mai 2007 10:55

Re: Bestimmtes Format aus Memo auslesen
 
Danke mquadrat.
Nun habe ich die Zahlen in einer Listbox stehen! Wie funktioniert es nun jede zweite Zeile in der Listbox in eine weitere Listbox zu kopieren!
Danke!

mquadrat 23. Mai 2007 11:03

Re: Bestimmtes Format aus Memo auslesen
 
Schleife durch die Einträge der ersten Listbox und dann eben nur jeden zweiten Eintrag (ungerader Index) in die andere Listbox übertragen.

Delphi-Quellcode:
for i := 0 to listbox1.items.count-1 do
begin

  if ((i mod 2) = 1) then
    listbox2.items.add(listbox1.items[i]);

end;


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:57 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz