Entwickler-Ecke

Delphi Language (Object-Pascal) / CLX - Items aus einem Memo-Feld sortieren


phoffi1 - Do 13.07.06 18:20
Titel: Items aus einem Memo-Feld sortieren
Hallo,

es geht um folgendes:
Ich habe ein Memo-Feld mit verschiedenen Seriennummern:

z.B.:

|--------|
| E604 |
| E603 |
| E609 |
| E603 |
| E609 |
| E612 |
| E642 |
| E604 |
| E603 |
| E612 |
|--------|

Nun möchte ich die Seriennummern sortieren, sodass jede Seriennummer nur einmal vorkommt.
Dies soll dann in einem zweiten Memo-Feld ausgegeben werden.
Das würde dann z.B. so aussehen:

|--------|
| E603 |
| E604 |
| E609 |
| E612 |
| E642 |
|--------|


Ich hab schon vieles probiert aber brauche Hilfe.
Danke
Patrick


Marco D. - Do 13.07.06 18:24

Du gehst in einer for-Schleife alle durch und prüfst dann innerhalb dieser mit einer zweiten Schleife auf Ungleichheit, bei Bedarf schreibst du dann in Memo2. Fragen?


Narses - Do 13.07.06 18:26

Moin!

Vorschlag:

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
var
  SL: TStringList;

begin
  SL := TStringList.Create;
  SL.Sorted := TRUE;
  SL.Duplicates := dupIgnore;
  SL.AddStrings(Memo1.Lines);
  Memo2.Lines.Assign(SL);
  SL.Free;

Ungetestet, sollte aber gehen. ;)

cu
Narses

//EDIT: Ansonsten kannst du auch die Duplikate im Original-Memo entfernen: guckst du [http://www.delphi-forum.de/viewtopic.php?p=373836#373836]


phoffi1 - Do 13.07.06 18:36

Danke, hat alles geklappt.