Hi und guten Morgen.
Alles gut ^^ . Ist mir auch schon aufgefallen und habe das geändert,
Das baue ich mit Absicht so hin und kann dann schneller separieren. Wenn alles klappt dann sieht der Code auch so aus wie Du ihn dort geschrieben hast.
- zu box.Cells[2,indI] := konvertBytes( GetFileSize( tempS ) );
leider kommt dann manchmal chinesisch raus, meine Variante beschriftet wirklich jede
- weiter habe ich noch ein problem mit
-- GetCreationTimeOfFile
-- GetFileLastAccessTime
-- GetFileDate
Bei manchen Dateien werden die Daten nicht ausgelesen und der jeweilige Task bleibt dann hängen.
hab gerade mal mit sleep dazwischen probiert , aber nu wird der indI 11 wieder zu 12
Task 8 ist bei dem dateinamen konten.txt hängen geblieben -> hinweis könnten Adminrechte sein ... mal schauen
Delphi-Quellcode:
if ( FileExists( tempS ) ) then
begin
byte := GetFileSize( tempS );
tempS1 := inttostr( byte ); // konvertBytes( byte ); wird in seperater schleife abgefertigt
//delay(100);
tempS2 :='';
tempS2 := DateTimeToStr( GetCreationTimeOfFile( tempS )); //erstellt
sleep(100);
tempS3 :='';
tempS3 := DateTimeToStr( GetFileLastAccessTime( tempS )); //letzter zugriff
sleep(100);
tempS4 :='';
tempS4 := DateTimeToStr( GetFileDate( tempS )); //geändert
sleep(100);
end else
begin
tempS1 := 'n/a';
tempS2 := 'n/a';
tempS3 := 'n/a';
tempS4 := 'n/a';
end;
Delphi-Quellcode:
byte := GetFileSize( tempS );
tempS1 := inttostr( byte ); // konvertBytes( byte ); wird in seperater schleife abgefertigt
Hallo,
ich kritisiere eigentlich ungern an anderer Leute Code rum, da meiner oft auch nicht besser aussieht, aber hier ist der Code wirklich ineffizient/unübersichtlich und dazu leider auch noch falsch: du versuchst ein Änderungsdatum etc. zu ermitteln, auch wenn die Datei nicht existiert(bei der Größe prüfst du vorher...)
Mein Vorschlag würde wiefolgt aussehen:
Delphi-Quellcode:
for indI := 0 to box.RowCount - 1 do
begin
if ( true = IsStringAInteger( box.Cells[ 9, indI] )) then
begin
if (strtoint(box.Cells[ 9, indI]) = tempTHI ) then
begin
tempS := box.Cells[ 7, indI];
if ( FileExists( tempS ) ) then
begin
box.Cells[2,indI] := konvertBytes( GetFileSize( tempS ) );
delay(100);
box.Cells[3,indI] := DateTimeToStr( GetCreationTimeOfFile( tempS )); //erstellt
box.Cells[4,indI] := DateTimeToStr( GetFileLastAccessTime( tempS )); //letzter zugriff
box.Cells[5,indI] := DateTimeToStr( GetFileDate( tempS )); //geändert
end;
end;
end;
end;