Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Problem mit Zusammenfassung von Listeneinträgen (https://www.delphipraxis.net/57231-problem-mit-zusammenfassung-von-listeneintraegen.html)

Alex_ITA01 17. Nov 2005 14:30


Problem mit Zusammenfassung von Listeneinträgen
 
Hallo erstmal,
ich habe mal eine Frage. Wie kann ich am einfachsten, eine Liste (die pro Eintrag eine Struktur enthält) vergleichen und zwar so, dass alle gleichartigen (wirklich gleichartigen) Strukturen zusammengefasst werden und am Ende eine Vereinfachung der Liste herauskommt.
Klingt komisch ich weiß.
Beispiel:
Liste (ohne Strukturen aber leichter zu erklären):

1
4
3
6
2
7
3
1

Jetzt will ich am Ende folgende Liste haben:
1
4
3
6
2
7

Die Überprüfung ob die Strukturen gleich sind, funktioniert schon.
Wie bekomme ich aber die Liste so hin, wie oben dargestellt?
Ich stehe grade auf dem Schlauch...
MFG Alex

[edit] Die Liste sortieren und "Duplicates" ausschalten kann ich leider nicht machen, weil ich trotzdem an anderer Stelle alle Einträge benötige [/edit]

sh17 17. Nov 2005 15:15

Re: Problem mit Zusammenfassung von Listeneinträgen
 
Deine Struktur ist also auch nur ein String?

Dann erstell Dir in einer zweiten Liste eine temporäre Ansicht auf die erste.

Einfach gesagt

Delphi-Quellcode:
for i := 0 to list1.Count-1 do
if List2.indexof(list1[i]) < 0 then
  the list2.add(list1[i]);

Alex_ITA01 17. Nov 2005 15:19

Re: Problem mit Zusammenfassung von Listeneinträgen
 
meine Struktur ist ein Zeiger auf ein Record und dieser Record enthält ein Array von 1..50.
Das einzige was sich pro Eintrag in der Liste unterscheiden kann, sind die Daten in dem Array. Ich will im Prinzip nur das Array vereinfachen wenn dort die gleichen Daten sind.
Ich hoffe du weißt wie ich das meine...
Danke, werde mir das Beispiel mal angucken.
MFG Alex

sh17 17. Nov 2005 15:22

Re: Problem mit Zusammenfassung von Listeneinträgen
 
wie vorhin, nur über eine eigene IndexOf Funktion, die prüft, ob das Array schon drin ist

in etwa:

Delphi-Quellcode:
for i := 0 to list1.Count-1 do
if List2.indexofarray(list1[i]) < 0 then
  the list2.add(list1[i]);


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:44 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