AGB  ·  Datenschutz  ·  Impressum  







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

Dateien kopieren wird langsam.

Ein Thema von k4rstn · begonnen am 30. Dez 2010 · letzter Beitrag vom 31. Dez 2010
 
k4rstn

Registriert seit: 29. Dez 2010
3 Beiträge
 
#1

Dateien kopieren wird langsam.

  Alt 30. Dez 2010, 13:34
Hallo
Ich schreib zur zeit ein programm was viele datein kopieren sol...
es funzt auch schon recht gut, jedoch wird es nach ner weile recht langsam.
in der funktion "lesedatum" hatte ich zunächst FreeandNil(ImgData) vergessen, wodurch sich der genutzte RAM aufgebläht hat. Doch auch dadurch läuft das prog nicht mit konstanter geschwindigkeit.
hat jmd ne ahnung warum es gegen ende immer langsamer wird?

hier der code

Delphi-Quellcode:
function LeseDatum(datei:string):string;
var ImgData: TImgData;
begin
  ImgData := TImgData.Create;
  DexifDecode := true;
  ImgData.TraceLevel := 1;
       if ImgData.ProcessFile(datei) then
          if ImgData.HasExif then
            LeseDatum := ImgData.ExifObj.DateTime
          else
            lesedatum := ''
       else
       lesedatum :='';
  FreeAndNil(ImgData);
end;

function TForm1.trennedatum(datum:string) : TStrArray;
begin
trennedatum[0] := Copy(datum, 1, 4);
trennedatum[1] := Copy(datum, 6, 2);
trennedatum[2] := Copy(datum, 9, 2);
trennedatum[3] := Copy(datum, 12, 2);
trennedatum[4] := Copy(datum, 15, 2);
trennedatum[5] := Copy(datum, 18, 2);
end;

procedure TForm1.kopierebilder;
var
i : integer;
jahr,mon,tag : string;
n_jahr,n_mon,n_tag : string;
 fileSource, fileDest: string;
begin
Progressbar1.Max:=Liste.Count-1;
ListBox1.Clear;
  for i:=0 to Liste.Count-1 do
  begin
  Label1.Caption := inttostr(Liste.Count) + ' / ' + inttostr(Liste.Count) + ' Bilder kopiert.';
  ListBox1.Items.Add(Liste[i]);
  Progressbar1.Position :=i;
    if LeseDatum(Liste[i]) <> 'then
    begin
    jahr := trennedatum(LeseDatum(Liste[i]))[0];
    mon := trennedatum(LeseDatum(Liste[i]))[1];
    tag := trennedatum(LeseDatum(Liste[i]))[2];

    n_jahr := Ziel + '\' + jahr;
    n_mon := Ziel + '\' + jahr + '\' + jahr + '_' + mon;
    n_tag := Ziel + '\' + jahr + '\' + jahr + '_' + mon + '\' + jahr + '_' + mon + '_' + tag + '-';
    {$IOChecks off}
    if not(DirectoryExists(n_jahr)) then
      mkdir(n_jahr);
    if not(DirectoryExists(n_mon)) then
      mkdir(n_mon);
    if not(DirectoryExists(n_tag)) then
      mkdir(n_tag);
    {$IOChecks on}

    fileSource := Liste[i];
    fileDest := n_tag + '\' + ExtractFileName(Liste[i]);
    end
    else
    begin
      if not(DirectoryExists(Ziel + '\zeitlos')) then
        mkdir(Ziel + '\zeitlos');
    fileSource := Liste[i];
    filedest := Ziel + '\zeitlos' + '\' + ExtractFileName(Liste[i]);
    end;
    //ListBox1.Items.Add(filesource);
    //ListBox1.Items.Add(filedest);
    CopyFile(PChar(fileSource), PChar(fileDest), true);
    SendMessage(ListBox1.Handle, LB_SETTOPINDEX, ListBox1.Items.Count-1, 0);
  end;
  Progressbar1.Position :=0;
end;
  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 23:25 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