![]() |
Memo durchsuchen - Zeile in anderes Memo
Hallo :hi:
hab mich jetzt ein paar Stunden totgesucht, das einzige was ich gefunden hab hat aber immer eine Fehlermeldung hervorgerufen (hab die Befehle dann in die Zwischenablage kopiert und irgendwann waren sie weg -.-) und konnte keine Stellen der gesuchten Zeile in ein Label eintragen. Möchte ein mehrzeiliges Memo nach einem Text wie "presolved problem has" durchsuchen. Aus der gleichen Zeile sollen dann die 23. bis 25. Stellen in ein Label eingelesen werden. Habs bereits mit einem Umweg über ein anderes Memo versucht aber auch das ging nicht. Bitte helft mir! edit: achja, ein Beispiel, hab versucht die bisherigen Befehle zu rekonstruieren:
Delphi-Quellcode:
Mir wird in dem Memo3 aber nur die erste Zeile des Memos angezeigt. der gesuchte Text ist aber in jedem Fall vorhanden!
Memo3.Lines.Clear;
for i:=0 to Memo1.Lines.Count-1 do begin zz := Pos('presolved problem has', Memo1.Lines[i]); Memo3.Lines.Add(Memo1.Lines[zz]); end; |
Re: Memo durchsuchen - Zeile in anderes Memo
|
Re: Memo durchsuchen - Zeile in anderes Memo
Oben der Versuch, geht aber nicht. zudem hat er ein "EConvert" (???) Problem bei
Delphi-Quellcode:
- hat vielleicht etwas damit zu tun, dass nicht die Zeile eingelesen wird, nach der ich gesucht habe, sondern komischerweise die erste :gruebel:
Label87.Visible:=true;
Label87.Caption := memo3.Lines.Strings[1][21]+memo3.Lines.Strings[1][22]+memo3.Lines.Strings[1][23]; edit: i stellt doch einfach die Zeilen dar, also werden alle Zeilen des Memos von 1 bis Memo1.Lines.Count-1 durchsucht. Dann ist Pos(); die Zeile, in der der gesuchte Text gefunden wurde - oder? Oder stellt das die Häufigkeit bzw. das Vorkommen dieses Textes dar? Dann wäre es logisch, dass die erste Zeile eingelesen wird ~.- |
Re: Memo durchsuchen - Zeile in anderes Memo
Ungefähr so, hab grad keine Lust das zu testen:
Delphi-Quellcode:
for i := 0 to Memo1.Lines.Count-1 do
begin if Pos(Memo1.Lines[i], 'suchbegriff') <> 0 then Label1.Caption := Copy(..... end; |
Re: Memo durchsuchen - Zeile in anderes Memo
Hallo,
Pos() liefert dir die Position in der Zeile i, an der dein gesuchter Text beginnt - oder 0, wenn ich deiner Online Hilfe glauben darf.
Delphi-Quellcode:
Grüße vom marabu
begin
Memo3.Lines.Clear; for i:=0 to Memo1.Lines.Count-1 do begin zz := Pos('presolved problem has', Memo1.Lines[i]); if zz > 0 then begin Memo3.Lines.Add(Copy(Memo1.Lines[i], 23, 3)); Exit; end; end; end; |
Re: Memo durchsuchen - Zeile in anderes Memo
Danke!! Im Memo werden jetzt die 3 richtigen Stellen angezeigt. Jetzt meckert er aber wegen dem Label. Möchte über die Zahl, die in Memo3 eingelesen wird, Bedingungen erstellen, wenn sie ungleich 0 ist und wenn sie größer 0 ist. Ich bekomme es nichtmal hin, dass das Label einfach diese drei Zahlen übernimmt:
Delphi-Quellcode:
bzw.
Label87.Caption := memo3.Lines[1];
Delphi-Quellcode:
Bekomme sogar je nach Code zwei unterschiedliche Fehlermeldung, einmal EConvertError (1) und Accessviolation (2).
Label87.Caption := memo3.Lines.Strings[1][1]+memo3.Lines.Strings[1][2]+memo3.Lines.Strings[1][3];
Könnt ihr mir bitte noch einmal helfen? edit: ok, es funktioniert mit
Delphi-Quellcode:
aber auch wenn die Zahl 0 ist, wird die else Bedingung ausgeführt *verzweifel*
if Memo3.Lines.Add(Copy(Memo1.Lines[i], 23, 3))=0
trotzdem möchte ich die Zahl gerne in ein Label kopiert haben :-/ |
Re: Memo durchsuchen - Zeile in anderes Memo
Wenn die Zahl, die du ins Memo3 übernommen hast, auch auf einem Label87 erscheinen soll, dann so:
Delphi-Quellcode:
Freundliche Grüße
var
s: String; n: Integer; begin Memo3.Lines.Clear; for i:=0 to Memo1.Lines.Count-1 do begin zz := Pos('presolved problem has', Memo1.Lines[i]); if zz > 0 then begin s := Copy(Memo1.Lines[i], 23, 3); // n := StrToIntDef(s, -1); Memo3.Lines.Add(s); Label87.Caption := s; Exit; end; end; end; |
Re: Memo durchsuchen - Zeile in anderes Memo
Es funktioniert! Vielen lieben Dank marabu und Balu der Bär
:) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:40 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz