![]() |
Zeile im Memo löschen
Hi ich möchte gern ne Zeile, die eine Zahl enthält löschen :)
Also Mir23 fack lol 12 <--ganz wech asd |
Re: Zeile im Memo löschen
Delphi-Quellcode:
memo1.Lines.Delete(Index);
|
Re: Zeile im Memo löschen
und wenn das ungefähr 1000 zeilen sind darin immer ma wieder die zahlen sind (kapitelmarken)?
Und ich hab nich wirklich bock 1000 zeilen text zu durchsuchen^^ |
Re: Zeile im Memo löschen
das wirst du aber wohl müssen, sonst weist du ja nicht, ob der Text in der Zeile steht !
Delphi-Quellcode:
for i := Memo1.Lines.Count-1 do
if Memo1.Lines.Strings[i] = '12' then Memo1.Lines.Delete(i); |
Re: Zeile im Memo löschen
sonst schreib dir ne funktion wo geprüft wird obs ne zahl ist =)
|
Re: Zeile im Memo löschen
Zitat:
Delphi-Quellcode:
if Memo1.Lines.IndexOf('12') >= 0 then
Memo1.Lines.Delete(Memo1.Lines.IndexOf('12')); |
Re: Zeile im Memo löschen
oder so
Delphi-Quellcode:
var i : Integer;
begin for i := 0 to Memo1.Lines.Count do If Pos('12', Memo1.lines.Strings[i]) > 0 then Memo1.Lines.Delete(i); end; meia und ich hab mich gerade an nem beisspiel abgeschröpft ... damit man ne zahl generell prüft und dann merk ich erst das "12" eh festgelegt ist :drunken: :wall: :x |
Re: Zeile im Memo löschen
dann löscht man ja jede 12 im text
aber...hier ma n Ausschnitt: Zitat:
Aber die ZAhl hinter dem Namen soll bleiben !!! |
Re: Zeile im Memo löschen
nein die zahlen hinter den wörtern entfernt es bei mir nicht :?
|
Re: Zeile im Memo löschen
klick zweimal :)
|
Re: Zeile im Memo löschen
Hi, versuch's mal so:
Delphi-Quellcode:
das Trim, falls Leerzeichen stören
var i,int:integer;
begin for i:=memo1.Lines.Count-1 downto 0 do if TryStrToInt(Trim(memo1.Lines[i]), int) // Prüfung ob Integer then memo1.Lines.Delete(i); end; end; Gruß Lantis |
Re: Zeile im Memo löschen
hey trystrtoint ist ja echt super das kannte ich nicht mal :D
|
Re: Zeile im Memo löschen
Hi, versuch's mal so:
Delphi-Quellcode:
das Trim, falls Leerzeichen stören
var i,int:integer;
begin for i:=memo1.Lines.Count-1 downto 0 do if TryStrToInt(Trim(memo1.Lines[i]), int) // Prüfung ob Integer then memo1.Lines.Delete(i); end; end; Gruß Lantis |
Re: Zeile im Memo löschen
eigentlich ist das
Delphi-Quellcode:
schon beinahe die richtige lösung. Es sollte jedoch so aussehen
for i := Memo1.Lines.Count-1 do
if Memo1.Lines.Strings[i] = '12' then Memo1.Lines.Delete(i);
Delphi-Quellcode:
downto damit nicht ein "Index out of Bounds" kommt...
for i := Memo1.Lines.Count-1 downto 0 do
if Memo1.Lines.Strings[i] = '12' then Memo1.Lines.Delete(i); und das ganze mit prüfung auf eine zahl zu verbinden sieht es dann so aus
Delphi-Quellcode:
Wenn in einer Zeile keine Zahl steht so wird eine Exception ausgelöst (welche mit try-except abgefangen wird) und die nachfolgende Delete-anweisung wird nicht augeführt... Ist jedoch in der zeile eine zahl so wird keine exception ausgelöst und die Delete-Anweisung wird ausgeführt
for i := Memo1.Lines.Count-1 downto 0 do
begin try strtoint(Memo1.Lines.Strings[i]); Memo1.Lines.Delete(i); except end; end; [Edit]Ich war wiedermal zu langsam :cry: und TryStrToInt hab ich auch ni verwendet... die perfekte Lösung wurde somit gepostet[Edit] |
Re: Zeile im Memo löschen
ich auch nich, aber scheinbar funzt es :)
Danke digga :) und es werden auch bei tausendmal klicken nur die festgelegten werte entfernt :) BiG THX :D |
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:29 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