AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Doppelte Werte aus Memo entfernen

Ein Thema von Crazymodder · begonnen am 2. Apr 2007 · letzter Beitrag vom 3. Apr 2007
Antwort Antwort
Crazymodder

Registriert seit: 28. Dez 2006
69 Beiträge
 
#1

Doppelte Werte aus Memo entfernen

  Alt 2. Apr 2007, 15:11
Hallo alle zusammen. Ich habe in einer Memo mehrere Werte pro Zahl eine Zeile ich möchte nun gerne doppelte Werte aus der Memo löschen. Würde mich sehr freuen wenn mir jemand sagen könnte wie das geht.
Danke im Vorraus
Crazymodder
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Doppelte Werte aus Memo entfernen

  Alt 2. Apr 2007, 15:17
Durchgehen und Einträge vergleichen (.IndexOf())
Markus Kinzler
  Mit Zitat antworten Zitat
Crazymodder

Registriert seit: 28. Dez 2006
69 Beiträge
 
#3

Re: Doppelte Werte aus Memo entfernen

  Alt 2. Apr 2007, 16:09
könnte das vllt jemand nochmal an einem beispiel zeigen. Es ist ja nicht nur eine Zahl die immer doppelt vorkommt sondern immer andere und unterschiedlich anzahl.
Danke würde mich sehr freuen.
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: Doppelte Werte aus Memo entfernen

  Alt 2. Apr 2007, 16:22
Wie sehen die Einträge aus?
Markus Kinzler
  Mit Zitat antworten Zitat
Crazymodder

Registriert seit: 28. Dez 2006
69 Beiträge
 
#5

Re: Doppelte Werte aus Memo entfernen

  Alt 2. Apr 2007, 17:32
Es sind zahlen meinetwegen so
1
5
7
9
1
10
5
7

Die doppelten also 1,5,7 müssten weg aber es können auch andere sein und ach mehr.
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#6

Re: Doppelte Werte aus Memo entfernen

  Alt 2. Apr 2007, 17:49
Delphi-Quellcode:
For i := Memo.Lines.Count -1 downto 2 do
    for j := i-1 downto 1 do
    begin
        if Memo.IndexOf( j) = Memo.IndexOf( i) then Memo.Lines.Delete(i);
    end;
getippt und nicht getestet
Markus Kinzler
  Mit Zitat antworten Zitat
Crazymodder

Registriert seit: 28. Dez 2006
69 Beiträge
 
#7

Re: Doppelte Werte aus Memo entfernen

  Alt 2. Apr 2007, 18:07
Mh thx very nett funktioniert
Danke
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#8

Re: Doppelte Werte aus Memo entfernen

  Alt 2. Apr 2007, 18:19
Bei vielen Einträgen wäre es sicher schneller, wenn man den Memo-Text in eine StringList kopiert, darin die Filterung der Einträge vornimmt und in einem Rutsch zurück ins Memo kopiert, anstelle in jedem Schleifendurchgang direkt mit der VCl zu arbeiten. Bei wenigen Einträgen macht sich der Unterschied jedoch kaum bemerktbar, sind es relativ viele, dann hingegen schon.
  Mit Zitat antworten Zitat
Hawkeye219

Registriert seit: 18. Feb 2006
Ort: Stolberg
2.227 Beiträge
 
Delphi 2010 Professional
 
#9

Re: Doppelte Werte aus Memo entfernen

  Alt 2. Apr 2007, 19:19
Für Notfälle:

Delphi-Quellcode:
procedure RemoveDuplicates (aList: TStrings);
var
  i : Integer;
begin
  aList.BeginUpdate;
  try
    for i := aList.Count - 1 downto 1 do
      if (aList.IndexOf(aList[i]) < i) then
        aList.Delete (i);
  finally
    aList.EndUpdate;
  end;
end;
Gruß Hawkeye
  Mit Zitat antworten Zitat
Crazymodder

Registriert seit: 28. Dez 2006
69 Beiträge
 
#10

Re: Doppelte Werte aus Memo entfernen

  Alt 3. Apr 2007, 09:53
Super thx super nett für die Hilfe hgab es jetzt erst in StringList kopieren lassen und dann sortieren und zurück super nice thx very much.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:43 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz