![]() |
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] |
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]); |
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 |
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 18:42 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