moin,
habe folgendes Problem:
so sieht mein Ausdruck in einem Memo aus:
Delphi-Quellcode:
outside:
received (in 320319.350 secs):
261836 packets 237028117 bytes
0 pkts/sec 2 bytes/sec
transmitted (in 320319.350 secs):
199434 packets 34543700 bytes
0 pkts/sec 0 bytes/sec
nun möcht ich die Zahlen nach dem "in" (320319.350) und nach den 2 packets (237028117, 34543700) herausbekommen und in jeweils einer Variable speichern.
Delphi-Quellcode:
procedure Tform1.suchen;
var i:integer;
SuchStr,zahlstr:
String;
StrList:TStringList;
wert:integer;
begin
SuchStr := '
in';
StrList := TStringList.Create;
showmessage(lowercase(suchstr));
for i := 0
to memo1.lines.count - 1
do begin
if trim(lowercase(copy(memo1.lines.strings[i], 1, length(suchstr)))) = lowercase(suchstr)
then
try
zahlStr := copy(memo1.lines.strings[i], length(suchstr) + 2, length(memo1.lines.strings[i])-length(suchstr)-1);
Wert := StrToInt(zahlStr);
except
on exception do
begin
Wert := -1;
MessageDlg(zahlStr+'
ist keine gültige Ziffernfolge.', mtInformation, [mbOk], 0);
end;
end;
end;
edit2.text := IntToStr(wert);
end;
es gibt mir allerdings immer die zahl 9733700 aus, egal nach was ich suche...
PS: ich empfange den ausdruck mit der async komponente über eine serielle schnittstelle. vielleicht kann man das problem auch anders lösen?