![]() |
Doppelte wörter aus memo Löschen
hi leute
ich brauche mal wieder hilf hätte vllt jemand für mich ein code zur seite der doppelte wörter aus memo1 löscht? also z.b ich bla ich ich das ich das "ich" soll gelöscht werden wäre dankbar für eure hilfe mfg, |
Re: Doppelte wörter aus memo Löschen
Hi!
Also steht in jeder Zeile nur ein Wort? Grüße, Frederic |
Re: Doppelte wörter aus memo Löschen
Zitat:
hi fkerber danke für deine schnelle antwort :) achso sry das ich das nich angeben habe wusste nich das es so wichtig is aber ja pro zeile ein wort |
Re: Doppelte wörter aus memo Löschen
Hallo,
such mal nach POS, CompareStr, CompareText etc. Memo.Lines Vieleicht hilft dir das ja. MFG Jens |
Re: Doppelte wörter aus memo Löschen
|
Re: Doppelte wörter aus memo Löschen
Zitat:
ich habe hier was gefunden könntest du mir vllt helfen das so zu machen das es aufs memo zugreift? `
Delphi-Quellcode:
function CompareText(const S1, S2: string): integer;
var s1,s2 : string; i : integer; s1:='Delphi'; s2:='Programming'; i:= CompareText(s1,s2); //i<0 because D is less than P in ascii order. |
Re: Doppelte wörter aus memo Löschen
In #5 steht doch schon eine fertige Lösung.
Delphi-Quellcode:
MFG
procedure KillDuplicates(s: TStrings);
var iLow, iHigh: integer; begin for iLow := 0 to s.Count - 2 do for iHigh := Pred(s.Count) downto Succ(iLow) do if s[iLow] = s[iHigh] then s.Delete(iHigh); end; procedure TMainForm.Button1Click(Sender: TObject); begin Memo1.Lines.BeginUpdate; KillDuplicates(Memo1.Lines); Memo1.Lines.EndUpdate; end; Jens |
Re: Doppelte wörter aus memo Löschen
Zitat:
schön abend noch :cheers: |
Re: Doppelte wörter aus memo Löschen
Hallo,
die Möglichkeit finde ich auch immer schön:
Delphi-Quellcode:
for z := Pred(Memo.Lines.Count) downto 1 do
if Memo.Lines.IndexOf(Memo.Lines[z]) <> z then Memo.Lines.Delete(z); |
Re: Doppelte wörter aus memo Löschen
ich würde das .BeginUpdate und .EndUpdate noch mit in KillDuplicates reinverschieben
und es könnte nicht schaden, wenn man dieses dann auch noch mit Try-Finally absichert. und warum gibt es nicht sowas wie Self für das With-Do? dann könnte man es ohne Variabe und inplace gleich so machen
Delphi-Quellcode:
with TStringList.Create do
try Duplicates := dupIgnore; Assign(Memo1.Lines); Memo1.Lines.Assign({self}); finally Free; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:19 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