AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Suchfunktion Ergebnis der Suchanfrage

Ergebnis der Suchanfrage


Datum des Suchindex: Heute, 12:02

Parameter dieser Suchanfrage:

Suche in Thema: Dateien byteweise vergleichen
Suche alle Beiträge, die von "himitsu" geschrieben wurden
• Suchmethode: "Suche nach allen Begriffen"
• Nach Datum (firstpost) sortiert
• Zeige Treffer als Beiträge
Zeige 8 von insges. 8 Treffern
Suche benötigte 0.002s

Es liegen Ergebnisse in folgenden Bereichen vor:

  • Forum: Neuen Beitrag zur Code-Library hinzufügen

    Re: Dateien byteweise vergleichen

      Delphi
      by himitsu, 14. Mai 2010
    Wenn man aber jetzt davon ausgehen darf, daß alle Codes potentiell fehlerhaft/unsicher sind,
    dann kann man auch gleich alles selber neu schreiben und niemals Fremdcodes verwenden.
    Und gerade bei unserer Codelib geh ist erstmal davon aus, daß darin geprüfter/sicherer Code enthalten ist, bzw. daß derartiger Code keine bekannten Fehler enthält. :zwinker:
  • Forum: Neuen Beitrag zur Code-Library hinzufügen

    Re: Dateien byteweise vergleichen

      Delphi
      by himitsu, 14. Mai 2010
    In deinen eigenen Programme kannst'e das "gern" machen.
    Aber bei öffentlichen Codes für Andere ... was wäre denn, wenn die ESA :zwinker: die neuen Raketensteuerprogramme in Delphi programmiert und dafür deinen Code verwendet?

    Und wie gesagt, mit einer kleinen Umstelltung kannst'e hier die beiden Streams auch mit nur einem Try-Finally absichern. :angel2:
  • Forum: Neuen Beitrag zur Code-Library hinzufügen

    Re: Dateien byteweise vergleichen

      Delphi
      by himitsu, 14. Mai 2010
    Ja, genau das.


    OutOfMemory (kein Speicher für die Klasse) und andere Exceptions im Konstructor können also nie auftreten?

    Die Ausnahmen für die Zusammenfassung der Try-Finally hatte ich grade oben noch mit dazueditiert.
  • Forum: Neuen Beitrag zur Code-Library hinzufügen

    Re: Dateien byteweise vergleichen

      Delphi
      by himitsu, 14. Mai 2010
    Schau dir aber dazu bitte meine beiden Codes aus Beitrag #4 an ... speziell die Streams und die zugehörigen Try-Finally.

    Ein Resourcen-Schutzblock (Try-Finally) fängt immer direkt nach der Resourcen-Beschaffung an,
    um diese Resource auch richtig zu schützen/freizugeben.

    {resource reservieren}
    try
    ...
    finally
    {resource freigeben}
  • Forum: Neuen Beitrag zur Code-Library hinzufügen

    Re: Dateien byteweise vergleichen

      Delphi
      by himitsu, 14. Mai 2010
    Wie gesagt, das langsame byteweise Lesen.
    - Lesen über einen Puffer
    - und der Einfachheit halber die Zählrichtung vom Counter umgedreht

    Bedenke auch, daß bei TMemoryStream alles im RAM landet, welches bei größeren Dateien Probleme bereiten kann.
    Aber wenn eh schon alles im RAM liegt, dann kann man natürlich alles auf einmal vergleichen ... siehe nachfolgend Neutral General.

    function...
  • Forum: Neuen Beitrag zur Code-Library hinzufügen

    Re: Dateien byteweise vergleichen

      Delphi
      by himitsu, 14. Mai 2010
    Ein Hash wäre (vorallem wenn beide Dateien auf dem selben Datenträger liegen) wohl schneller, aber wie mkinzler sagen wollte "ein Hash ist nicht eindeutig".

    Bei einem CRC32 gibt es schon bei Dateigrößen bis 5 Byte je Hash mindestens 256 Dateien mit diesem Hash.
  • Forum: Neuen Beitrag zur Code-Library hinzufügen

    Re: Dateien byteweise vergleichen

      Delphi
      by himitsu, 14. Mai 2010
    try
    ...
    except
    Result := False
    end;
    Dieses sollte besser ganz raus, denn bei einem Zugriffsfehler (z.B. fehlende Rechte) würde einfach nur FALSE ausgegeben, aber der Grund bleibt "geheim".
    Außerdem könnte es ja dennoch sein, daß beide Dateien identisch sind, welches dann ntürlich ein falsches Ergebnis liefern würde.

    die beiden kürzesten Quellcodes (nicht kürzeste Laufzeit) wären...
  • Forum: Neuen Beitrag zur Code-Library hinzufügen

    Re: Dateien byteweise vergleichen

      Delphi
      by himitsu, 14. Mai 2010
    Eine byteweise Verarbeitung ist extrem langsam ... ließ ganze Blöcke aus und vergleiche diese z.B. mit CompareMemory deren Inhalt.

    Jedesmal Seek aufzurufen ist auch unnötig, da Read den Positionszeiger schon verschiebt.

    Read ohne Auswerten des Rückgabewertes zu verarbeiten ist nicht gut, da Lesefehler irgnoriert werden könnten. (verwende besser ReadBuffer oder werte das Result aus)
    ...


URL zu dieser Suchanfrage:

https://www.delphipraxis.net/dp_search.php?do=usersearch&search_username=himitsu&search_exact_username=1&search_sortby=dateline&search_resulttype=post&search_matchmode=0&searchthreadid=151352
Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:10 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