![]() |
Typisierte Datei Sortieren
Ich habe eine Frage bezüglich einer Sortierung(BubbleSort) einer Typisierten Datei!!
Delphi-Quellcode:
Das ist der Record!!
TID = cardinal;
TName = string[50]; TTyp = (CD, DVD); TLaenge = cardinal; TKategorie = (Film,Musik,Software,SonstigeDaten); TMedium = record ID : TID; Name : TName; Typ : TTyp; Kategorie : TKategorie; case TKategorie of Film :(FilmFormat: TName;Laenge : TLaenge;FilmKategorie : TName); Musik:(MusikFormat,MusikKategorie : TName); Software:(Hersteller,Schlüssel : TName); SonstigeDaten:(Zusatz : String[70]);
Delphi-Quellcode:
Das ist die Datei!!!
Type Datei = File of TMedium;
Nun möchte ich zum Beispiel die Datei nach ID Sortieren, beginnend mit der 1 und endend mit der Filesize(Datei)!! Wenn man jetzt das Hauptgerüst eines BubbleSorts hat .....
Delphi-Quellcode:
Wie könnte man jetzt die Datei sortieren????for x:=1 to FileSize(Datei) do for y:=1 TO (FileSize(Datei)-1) do Man muss ja den Index eines Datensatzes mit dem Index eines anderen Datensatzes vergleichen, nur wie greift man darauf zu?? |
Re: Typisierte Datei Sortieren
Hallo,
geht denn Seek nicht ? Heiko |
Re: Typisierte Datei Sortieren
Ja toll!
Mit seek kann ich an eine Stelle in der Datei springen, aber woher weiß ich wo die ID denn immer steht?? Ich kann ja auch nicht direkt fragen ob (Seek(Datei,y+1) < Seek(Datei,y)) das gilt?? Und auf die ID in der Datei kann man nicht zugreifen, oder?? |
Re: Typisierte Datei Sortieren
Zitat:
Du müsstest dann mit read einen Datensatz lesen. Mit FilePos bekommst Du heraus wo in der Datei der "Lesezeiger" steht. Wie groß ist die Datei dennt? Geht es nicht, das Du die Datensätze in eine TList einliest und diese dann sortierst? Grüße Klaus |
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:25 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