Delphi-PRAXiS
Seite 4 von 4   « Erste     234   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Delphi Windows 7 änderungsdatum (https://www.delphipraxis.net/157602-windows-7-aenderungsdatum.html)

WizoHulk 19. Jan 2011 09:26

AW: Windows 7 änderungsdatum
 
bei der unit StrUtils meckert er rum das er die nicht finden kann.

Laut Google gab es noch keine StrUtils unter D5.

DeddyH 19. Jan 2011 09:41

AW: Windows 7 änderungsdatum
 
Das wird wohl unter Delphi 5 tatsächlich nicht gehen, allein schon, weil IncludeTrailingPathDelimiter unbekannt sein dürfte.

WizoHulk 20. Jan 2011 07:28

AW: Windows 7 änderungsdatum
 
Hallo DeddyH,

Mit deinem Code klappt alles Prima, muss mir den aber noch mal genauer anschaun, da so einige sachen dran sind die ich nicht so ganz verstehe. Danke

Wofür ist die Anweisung
Delphi-Quellcode:
CopyEmptyDirs: Boolean = false
Und was macht das?
Delphi-Quellcode:
 faNewAnyFileEx = $00017FFF; // erweitertes faAnyFile aus der DP
werd da nicht ganz schlau drauß

Ist es möglich eine Progressbar zu Integrieren, das ich mir den Vortschritt anzeigen lassen kann.

DeddyH 20. Jan 2011 07:32

AW: Windows 7 änderungsdatum
 
CopyEmptyDirs ist dafür da, dass man auf Wunsch auch leere Verzeichnisse kopieren kann. Und die Konstante ist lediglich eine Erweiterung für faAnyfile, welches z.B. komprimierte Dateien nicht berücksichtigt. In der erweiterten Konstanten sollten alle derzeit bekannten Dateiattribute enthalten sein.

[edit] Zur Progressbar: Das dürfte schwierig werden, da Du im Vorfeld ermitteln müsstest, wieviele Dateien tatsächlich kopiert werden müssen. Aufgrund dieses Wertes könntest Du ja erst den prozentualen Anteil des aktuellen Kopiervorganges ermitteln. Allerdings kann man natürlich eine Progressbar im Marquee-Style anzeigen, um dem Benutzer zu signalisieren, dass etwas passiert. [/edit]

WizoHulk 20. Jan 2011 07:57

AW: Windows 7 änderungsdatum
 
ja so in etwa hatte ich mir das schon gedacht das das nicht so einfach geht, also werd ich im Vorfeld Die Dateianzahl ermitteln müssen.
Dürfte ja da mit den Quellcode gehen
Delphi-Quellcode:
class function TMyDaten.ErmittleArchivAttribut(Verzeichnis: String): TStringList;
var
  Search : TSearchRec;
  LVerz  : String;
  LNamen : TStringList;
begin
  LNamen := TStringList.Create;

  LVerz := Verzeichnis;
  if FindFirst(LVerz + '*.*', faAnyFile or faArchive, Search) = 0 then
    try
      repeat
        if (Search.Attr and faArchive) = faArchive then
          LNamen.Add(Search.Name)
      until
        FindNext(Search) <> 0;
    finally
      SysUtils.FindClose(Search);
      Result := LNamen;
    end;
  //LNamen.Free;
end;

ChrisE 20. Jan 2011 07:58

AW: Windows 7 änderungsdatum
 
Zitat:

Zitat von WizoHulk (Beitrag 1075981)
Ist es möglich eine Progressbar zu Integrieren, das ich mir den Vortschritt anzeigen lassen kann.

Das wäre möglich wenn du die Routine in zwei Bereiche auf teilst.

Erster Teil entspricht nahezu dem Code von DeddyH. Während dessen läuft wie von Ihm vorgeschlagen ein Progressbar in Marquee-Style. Nur werden hier weder Dateien kopiert noch Verzeichnisse erstellt. Es wird nur z.B. eine StringListe mit den zu kopierenden Dateien erstellt und eine StringListe mit dem evtl. zu erstellenden EmptyDirs.

Im zweiten Schritt kannst du dann alle Dateien kopieren und die Verzeichnisse erstellen. Da du die Anzahl der Dateien / Verzeichnisse kennst, kannst du einen Gesamtfortschritt anzeigen.

Wenn du es noch etwas besser haben willst, dann merkst du dir zusätzlich zu den Dateinamen auch noch deren Größe und passt den Gesamtfortschritt nicht nach der Anzahl der Dateien an sondern nach den zu kopierenden Bytes :-) Das wäre dann aber eher eine Kür - kann aber praktisch sein, da beim kopieren ja auch durchaus deutlich unterschiedlich große Dateien dabei sein können.

Gruß, Chris

DeddyH 20. Jan 2011 08:05

AW: Windows 7 änderungsdatum
 
Genauso hatte ich mir das auch gedacht.


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:05 Uhr.
Seite 4 von 4   « Erste     234   

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