Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailem Kopírování adresáře s vybranými soubory - Delphi

Zdravím Vás při zamračeném státním svátku :-)

Zase se trochu snažím programovat, akorát mi nejde zprovoznit jedna myšlenka. Chci mít funkci na kopírování adresáře s tím, že pokud bude hodnota "posledniverze" nastavena na true, tak to bude z adresáře kopírovat jen soubory s nejvyšší příponou. Abych to vysvětlil, jeden program mi při uložení nepřepíše původní soubory, ale vytvoří nové. Celkem dobrá vlastnost když se člověk splete a uloží :) . Takže adresář pak vypadá třeba takto:

souborA.1
souborA.2
souborA.3
souborA.4
souborA.5
souborB.1
souborB.2
souborB.3
souborC.125
souborC.126
No a jelikož při spoustě situací není potřeba staré soubory kopírovat, tak bych potřeboval nějak udělat, aby se zkopírovala od každého souboru jen verze s nejvyšším číslem, takže


souborA.5
souborB.3
souborC.126
V současné době používám toto na kopírování celých adresářů

function CopyDir(const fromDir, toDir: string): Boolean;
var
  fos: TSHFileOpStruct;
begin
  ZeroMemory(@fos, SizeOf(fos));
  with fos do
  begin
    wFunc  := FO_COPY;
    fFlags := FOF_FILESONLY;
    pFrom  := PChar(fromDir + #0);
    pTo    := PChar(toDir)
  end;
  Result := (0 = ShFileOperation(fos));
end;
jenže na to moje kopírování bych to viděl tak, že se načtou všechny soubory z adresáře, nějak se setříděj do seznamu, ze seznamu se vyhoděj staré verze a pak se ten seznam pošle do kopírovací funkce jednotlivých souborů. A teď jak na to. Potřebuji nakopnout :-[ kde začít, už to na mě začíná být vyšší dívčí.

Odpověď na otázku

1 Zadajte svou přezdívku:
2 Napište svou odpověď:
3 Pokud chcete dostat ban, zadejte libovolný text:

Zpět do poradny