AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Dateien ohne Inhalt (leere Dateien) finden

Ein Thema von Schwedenbitter · begonnen am 10. Sep 2012 · letzter Beitrag vom 11. Sep 2012
Antwort Antwort
Schwedenbitter

Registriert seit: 22. Mär 2003
Ort: Finsterwalde
622 Beiträge
 
Turbo Delphi für Win32
 
#1

AW: Dateien ohne Inhalt (leere Dateien) finden

  Alt 10. Sep 2012, 14:03
Danke für Eure Antworten!

Ich bekomme eine EAccessViolation in der Zeile mit If (Buffer[I] <> 0) Then . Nicht mehr und nicht weniger. Warum ist mir völlig unklar. Dabei sieht die Deklaration wie folgt aus:
Delphi-Quellcode:
Const
   BuffSize      = 1024;
Var
   SR            : TSearchRec;
   F            : File;
   Buffer      : Array [1..BuffSize] Of Byte;
   Res         : Integer;
   IsEmpty      : Boolean;
   I            : Integer;
Aber das wollte ich nicht alles hier schreiben. Deshalb hatte ich ja den Quellcode gepackt angefügt. Was genau - zusätzlich zur Fehlermeldung - braucht Ihr noch für eine schnelle Antwort. Ich bin ja durchaus willig...

Die größte Datei ist bislang ca. 1,5 MB. Üblicher Weise beginnen Dateien nicht eben mal mit Nullen. I.d.R. steht am Anfang ein TAG, der die Datei einem bestimmten Typ zuordnet, bei exe-Dateien steht am Anfang 'MZ' etc.
Mir reicht es bei meiner Suche, wenn ich feststelle, dass die ersten 1024 Bytes (oder weniger) ausschließlich Nullen sind. Dann kann ich per Hand nachsehen. Denn nachsehen und die Dateien mit sinvollen Daten aus dem Backup ersetzen muss ich sowieso. Und weil es um ca. 200 GB an Daten geht, kann/will ich die Dateien nicht komplett auslesen.

Die Schleife werde ich später vorzeitig beenden. Das break steht ja schon auskommentiert da

Warum ich bei 1 und nicht bei 0 mit dem Index angefangen habe, weiß ich auch nicht.

Ich habe jetzt
  • das Array von 0 bis 1023 definiert,
  • habe bei BlockRead Buffer[0] angegeben und
  • lasse die Schleife von 0 bis Pred(Res) laufen
und bekomme trotzdem noch die EAccessViolation.

[edit]
Falls jemand eine leere Datei zum Testen braucht, kann ich die liefern. Gepackt dürfte die ja nicht sehr groß sein
[/edit]
Alex Winzer
  Mit Zitat antworten Zitat
Antwort Antwort


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 22:44 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