AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi 80 MB Datei - doppelte Zeilen entfernen
Thema durchsuchen
Ansicht
Themen-Optionen

80 MB Datei - doppelte Zeilen entfernen

Ein Thema von capo · begonnen am 17. Jan 2007 · letzter Beitrag vom 18. Jan 2007
 
Benutzerbild von Mavarik
Mavarik

Registriert seit: 9. Feb 2006
Ort: Stolberg (Rhld)
4.154 Beiträge
 
Delphi 10.3 Rio
 
#26

Re: 80 MB Datei - doppelte Zeilen entfernen

  Alt 18. Jan 2007, 07:29
Zitat von capo:
Logfile.txt heisst die Datei nur weil ich den Code aus einem anderen Programm von mir übernommen habe.
Es sind Adressen um die es geht.
gruss capo
Oh mann

Du läßt uns hier rumrätzeln, weil Du Deine Frage so schwammig gestellt hast...

Na was den nu?

Sind die doppelten jetzt über die Datei verteilt oder liegen die hintereinander?

Wenn es 80MB sind und es sich dabei um Adressen handelt sind das bei typischer Adressgröße ca. 500.000-700.000 Adressen...(Zeilen), richtig?

Dann vielleicht sowas...

Delphi-Quellcode:
type
   TSorter = Record
              CRC : longint;
              Zeile : longint;
            end;
var
   Sort : array of TSorter;
   Count : integer;
   S : String;
   i : integer;
begin
  assignfile(fd1,'Adressen.txt');
  reset(fd1);
  Count := 0;
  Setlength(Sort,500000);
  while not(eof(fd1)) do
    begin
      readln(fd1,S);
      if length(Sort) > Count+1
        then begin
               Sort.CRC := CRC4(S); // Oder auch den HD5
               Sort.Zeile := Count;
      
             end
        else begin
               Setlength(Sort,Count + 10000); // Je größer die Zahl, desto schneller...
             end;

      inc(Count)
    end;
  Closefile(fd1);

  QSort(Sort,0,Count); // Gibt es von mir hier eine Kombo...

  // Den rest überlasse ich Dir...
  // Doppelte aus dem Array löschen...
  // Dann nur die Zeilen in die andere Dateikopieren, wenn Count in sort.Zeile
   
end;
Frank

PS.: Und wenn es dann noch nicht schnell genug ist... Zip die Adress-Datei zusammen und leg sie irgendwo hin...
Denn das Antworten hier dauert jetzt schon länger als eine Konvertierung..
  Mit Zitat antworten Zitat
 


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 11:57 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