Hallo,
ich habe ein Problem mit meinem Fileserver und hoffe zunächst, die richtige Rubrik innerhalb der
gefunden zu haben.
Nach einem Absturz (Ursache ist hier egal), habe ich jetzt schon ein paar Dateien gefunden, deren Größe <> 0 Bytes ist, deren Inhalt aber wie folgt aussieht:
Code:
00000000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00000010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00000020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Das sollte so nicht sein und ich befürchte, dass es noch ein paar weitere Dateien "erwischt" hat. Ich habe jetzt in meiner Not quick and dirty etwas zusammenprogrammiert, was mir derartige Null-Dateien rekursiv suchen soll, was aber nicht funktioniert. Den vollständigen Code habe ich angehängt. Der Fehler muss aber irgendwo hier liegen:
Delphi-Quellcode:
If (SR.Size > 0) Then // 0-Byte-Dateien ignorieren
Begin
AssignFile(F, Dir + PathDelim + SR.Name);
System.FileMode:=fmOpenRead;
{$I-}
Reset(F);
If (IOResult = 0) Then
Begin
IsEmpty:=True;
BlockRead(F, Buffer, BuffSize, Res);
CloseFile(F);
If (Res > 0) Then
Begin
For I:=1 To Res Do
Begin
If (Buffer[I] <> 0) Then
Begin
IsEmpty:=False;
// Break;
End;
End;
End;
If IsEmpty Then
LBFiles.Items.Append(Dir + PathDelim + SR.Name + ' - (' +
FormatFloat('0,', SR.Size) + ')');
End;
{$I+}
End;
Kann mir jemand helfen, meine Denkblockade aufzulösen?
Danke, Alex