![]() |
Memo String suche und Löschen
Hallo ich möchte in einem Memo in einer Zeile nach einem '%' suchen und mchte wenn es das 7. letzte Zeichen ist alles dannach löschen. nach einem STring suchen mache ich so
Delphi-Quellcode:
jedoch habe ich mehrere % zeichen in meinem Memo die auch drin bleiben sollen. es geht nur um die % welche sich an 8 letzter position der Memozeile befinden.
for i := Memo1.Lines.Count - 1 downto 0 do
if Pos('#', Memo1.Lines[i]) <> 0 then Kann mir jemand helfen oder einen guten Ansatz geben?!? Danke |
AW: Memo String suche und Löschen
Versuch mal
Delphi-Quellcode:
System.SysUtils.LastDelimiter
Delphi-Quellcode:
Den Rest mit 7tes oder 8tes Zeichen habe ich ehrlich gesagt nicht kapiert.
for i := Memo1.Lines.Count - 1 downto 0 do
begin sLine := Memo1.Lines[i]; iPos := System.SysUtils.LastDelimiter('%', sLine); if iPos > 7 then ..... end; |
AW: Memo String suche und Löschen
habe in eingen zeilen so etwas zu stehen
125 1 Haustier 5,00 4,67 5,00 0,2% 4,67 5,00 0,2% 20 0 -1 Ich will in solchen Zeilen alles hinter dem letzten % zeichen löschen |
AW: Memo String suche und Löschen
Dann so
Delphi-Quellcode:
for i := Memo1.Lines.Count - 1 downto 0 do
begin iPos := System.SysUtils.LastDelimiter('%', Memo1.Lines[i]); if iPos > 0 then // weil du eben von irgendwas mit 7, 8 und was weiß ich geschrieben hast, stand hier vorher > 7 begin Memo1.Lines[i] := Copy(Memo1.Lines[i], 1, iPos); end; end; |
AW: Memo String suche und Löschen
muss ich noch irgend eine unit einbinden der erkennt sline und ipos nicht?
|
AW: Memo String suche und Löschen
Am besten lokal, da wo die Schleife aufgerufen wird
Delphi-Quellcode:
sLine brauchst du nicht. Siehe oben.
var
iPos: Integer; Habe oben auch einen Tippfehler korrigiert. |
AW: Memo String suche und Löschen
er erkennt SysUtils nicht
[Error] Unit1.pas(74): Undeclared identifier: 'SysUtils' |
AW: Memo String suche und Löschen
Mach aus
System.SysUtils.LastDelimiter das hier LastDelimiter |
AW: Memo String suche und Löschen
sline ist dann ein String?
Delphi-Quellcode:
procedure TForm1.Button4Click(Sender: TObject);
var i:integer; iPos: Integer; sline:string; begin for i := Memo1.Lines.Count - 1 downto 0 do begin iPos := SysUtils.LastDelimiter('%', Memo1.Lines[i]); if iPos > 0 then // weil du eben von irgendwas mit 7, 8 und was weiß ich geschrieben hast, stand hier vorher > 7 begin Memo1.Lines[i] := Copy(sLine, iPos); end; end; end; |
AW: Memo String suche und Löschen
Habe mein Beispiel oben geändert.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:09 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