Autor Beitrag
\ \\PAX// /
Gast
Erhaltene Danke: 1



BeitragVerfasst: Mo 02.06.03 17:24 
Hi!
Mein Programm muss Dateien aus einem Unterverzeichnis des Hauptverzeichnisses (= wo Prog ist) verschieben. Dazu kommt noch, dass neben den Dateien auch ein Ordner verschoben werden muss (auch im Unterverzeichnis).
Gibts da eine nichtumständliche Möglichkeit? Kann man das auch mit DOS-Befehlen machen (nicht über Batch-Datei!)?

PAX :)
O'rallY
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 563



BeitragVerfasst: Mo 02.06.03 17:37 
In den FAQs findest du, wie man einen Ordner mit seinen Unterordnern in einer rekursiven (sich selbstaufrufenden) Prozedur durchsucht. Diese Implementation durch einen Kopierbefehl zu erweitern, dürfte nicht schwer sein.
Zu den DOS-Befehlen: Das ist nicht gerade schönes programmieren.

_________________
.oO'rallY
Linux is like a tipi: No gates, no windows and a gnu-eating apache inside...
MathiasSimmack
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Mo 02.06.03 18:09 
Auch schön ist SHFileOperation, was der Kopier-, Verschiebe- und Löschanimation des Explorers entspricht. Damit reduziert sich die ganze Arbeit auf ein paar Einstellungen und einen Befehl, und man erhält dafür einen fertigen Dialog samt Progressbar und Dateinamen-Anzeige.

Und was muss man dafür tun? O.g. Zauberwort mal in die Suche eintippen.
\ \\PAX// /
Gast
Erhaltene Danke: 1



BeitragVerfasst: Di 03.06.03 10:52 
Ich hab mal im Demo-Verzeichnis nachgeguckt, doch da war nur ein Ordner namens "ShellControls"! Is schon installiert! Ist das nun das richtige? Wo bekomm ich ShFileOperation her? Ist das Freeware?
Danke

PAX
Tino
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Veteran
Beiträge: 9839
Erhaltene Danke: 45

Windows 8.1
Delphi XE4
BeitragVerfasst: Di 03.06.03 11:38 
\ \\PAX// / hat folgendes geschrieben:
Wo bekomm ich ShFileOperation her? Ist das Freeware?

Hast Du mal die Suchfunktion mit dem Begriff SHFileOperation benutzt? SHFileOperation ist eine API Funktion. Siehe dir mal dieses Topic an.

Gruß
Tino
knuffel
ontopic starontopic starontopic starofftopic starofftopic starofftopic starofftopic starofftopic star
Beiträge: 68

WIN XP Prof
D3 Prof, D7 Ent
BeitragVerfasst: So 10.08.03 13:47 
:!: hallo!

mit dem folgenden code kann man relativ einfach ordner und dateien verschieben. dabei wird der ORDNER in den ZIELPFAD verschoben.

hier den sourcecode:
ausblenden volle Höhe Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, shellapi;

type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

function MoveDir(const fromDir, toDir: string): Boolean; 
var
  fos: TSHFileOpStruct; 
begin 
  ZeroMemory(@fos, SizeOf(fos)); 
  with fos do 
  begin 
    wFunc  := FO_MOVE; 
    fFlags := FOF_FILESONLY; 
    pFrom  := PChar(fromDir + #0); 
    pTo    := PChar(toDir) 
  end; 
  Result := (0 = ShFileOperation(fos)); 
end;


procedure TForm1.Button1Click(Sender: TObject);
begin
  if (MoveDir('ORDNER', 'ZIELPFAD': string)=true) then
     ShowMessage('Verschiebevorgang erfolgreich !')
end;

end.


knuffel

_________________
Carpe Diem. Also programmier mit Delphi.
Keldorn
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 2266
Erhaltene Danke: 4

Vista
D6 Prof, D 2005 Pro, D2007 Pro, DelphiXE2 Pro
BeitragVerfasst: So 10.08.03 13:57 
@knuffel

die anderen poss hast du gelesen? da steht das gleiche :roll:
außerdem hat sich der Frage abgemeldet und das Topic ist steinalt :roll:

_________________
Lükes Grundlage der Programmierung: Es wird nicht funktionieren.
(Murphy)
knuffel
ontopic starontopic starontopic starofftopic starofftopic starofftopic starofftopic starofftopic star
Beiträge: 68

WIN XP Prof
D3 Prof, D7 Ent
BeitragVerfasst: Mo 11.08.03 10:27 
:oops: muss ich wohl übersehen haben

_________________
Carpe Diem. Also programmier mit Delphi.
Ist die Frage beantwortet? Das Problem gelöst?

Dann klicke hier, um das Thema entsprechend zu markieren!