| |
|
|
Heinz Bernhard | Einen freundlichen Gruß in die Profaner-Runde!
Ich hatte vor mehreren Wochen schon mal die gleiche Anfrage gestellt, habe aber leider keine Antwort gefunden. Vielleicht habe ich auch etwas falsch gemacht. Meine Bitte um Hilfe!!! Mein Sorgenkind: Kopieren von Ordnern mit Unterordnern und Dateien, mit Überschreiben eines evtl. schon vorhanden gleichnamigen Ordners.
Habe von Andreas Miethe von 1998 Ein einfaches Backup-Programm gefunden. Es stört mich das manuelle Schliessen des Fensters.
Aufruf für XCOPY32 eine Verzeichnisstruktur anzulegen: Befehl$=xcopy32.exe ;quelle$; ;ziel$; /T /E
XCOPY32 legt eine Verzeichnisstruktur an: Winexecwait(Befehl$,1)
Darauf erscheint die Dateiliste: Beendet-XCopie32. Sie muss am Schliesskreuz geschlossen werden. Kann eine Schliessung mit Befehle erreicht werden? Mit DestroyWindow() und dem Handle geht es bei mir nicht.
Oder, gibt es einfachere Lösungen - ich habe XProfan 9.0? Für die Angabe der Befehle wäre ich sehr dankbar ! Im voraus schon meinen herzlichen Dank, für eure Bemühungen. Heinz Bernhard |
|
|
| |
|
|
|
| Hilft das? KompilierenMarkierenSeparierenDef @SHFileOperation(1) !"SHELL32","SHFileOperationA"
Proc Fileaction
Parameters Action$,File$,File2$,noconfirm%,norecycle%
Parameter 1: Auszuführende Aktion=COPY, DELETE, RENAME, MOVE
Parameter 2: Quelldatei
Parameter 3: Zielldatei
Parameter 4: 0 = User erst fragen, 1= ohne Nachfrage löschen
Parameter 5: 0 = In Papierkorb verschieben, 1= "endgültig" löschen
Declare FOF_Flag%,Action&,DO%,Fehler&
Declare opstruct#,file#,file2#
LET DO%=0
IF @upper$(Action$)="RENAME"
Let Action&=4
elseIF @upper$(Action$)="COPY"
Let Action&=2
elseIF @upper$(Action$)="MOVE"
Let Action&=1
elseIF @upper$(Action$)="DELETE"
Let Action&=3
else
@messagebox("Diese Funktion ist nicht bekannt!","Aktion wird nicht ausgeführt!",64)
LEt DO%=1
endif
IF DO%=0
Case noconfirm% : Let noconfirm%=16
CaseNot norecycle% : Let norecycle%=64
Let FOF_Flag% = @or(noconfirm%,norecycle%)
Dim opstruct#,30
Dim file#,Add(Len(file$),2)
Dim file2#,Add(Len(file2$),2)
String file#,0=@Add$(file$,@Chr$(0))
String file2#,0=@Add$(file2$,@Chr$(0))
Long opstruct#,0=%hwnd Handle des aufrufenden Fensters
Long opstruct#,4=Action&
Long opstruct#,8=file# pfrom : hier der zu löschende Ordner
Long opstruct#,12=file2# pto (muß 0 oder eine Bereichvar. mit Zieldateinamen z.B. bei Umbenennung sein
Word opstruct#,16=FOF_Flag%
Long opstruct#,18=0 Hier steht nach dem Aufruf 1, wenn User abgebrochen hat
Long opstruct#,22=0 Unbedingt immer auf Null setzen!
Long opstruct#,26=0 Zeiger(Bereich) auf Überschrift des Fortschrittsdialogs
LET FEHLER&=@ShFileOperation(opstruct#)
IF @equ(@long(opstruct#,18),1)
@MessageBox("Die Dateioperation wurde abgebrochen!","Operation abgebrochen!",64)
ELSEIF @neq(Fehler&,0)
@MessageBox("Es ist ein Fehler aufgetreten","ShFileOperation "+@str$(Fehler&),16)
EndIf
Dispose file#
Dispose file2#
Dispose opstruct#
endif
EndProc
REM Beispiel
Fileaction "COPY","C:WINDOWS","E:TEMP",0,0
Fileaction "DELETE","E:TEMP","",1,1
|
|
|
| |
|
|
|
Heinz Bernhard | Hallo, Andreas! Das ist ja super mit welchem Tempo die Antwort kam. Ich kann es leider erst morgen testen. Ich möchte aber schon im voraus, egal ob es hilft oder nicht, ein ganz-ganz herzliches Dankeschön sagen. Ich finde schon deinen Versuch zu helfen sehr toll. Ich melde mich morgen wieder hier - vielen Dank. Heinz |
|
|
| |
|
|
|
Heinz Bernhard | Hallo, Andreas !
Es hat mir keine Ruhe gelassen, ich habe es doch noch heute ausprobiert - und auch unseren Eintrag in der Community habe ich endlich auch wieder gefunden. Alles hat geklappt, und ich bin dir sehr, sehr dankbar für dein Programm. Hab also vielen Dank für deine persönliche Bemühung zu meinem Problem Gruß und Dank sagt dir der Heinz |
|
|
| |
|
|
|
| Probiere beim nächsten mal den Codefinder - den habe ich extra dafür gemacht .
Den Findest Du z.B. oben im Popupmenü unter Bibliothek => Codes => Codefinder...
Salve. |
|
|
| |
|
|
|
Heinz Bernhard | Hallo, iF, danke für den Hinweis - werde ich in Zukunft beachten. Habe aber nachträglich zu meinem Problem nichts gefunden. Trotzdem Danke für die die Zukunft. Gruß Heinz |
|
|
| |
|
|
|
| Ist auch schwierig, deshal habe ichs nochmal gepostet. |
|
|
| |
|
|
|
| [quote:eceff73b66=Heinz Bernhard]Hallo, iF, danke für den Hinweis - werde ich in Zukunft beachten. Habe aber nachträglich zu meinem Problem nichts gefunden. Trotzdem Danke für die die Zukunft. Gruß Heinz[/quote:eceff73b66] Hm naja Du willst ja z.B. kopieren, also im Codefinder auf K gehen und nach kopieren suchen, und da steht der Thread. |
|
|
| |
|
|
|
Heinz Bernhard | Hallo, If! Nochmals Danke für den Tipp. Nun habe ich endlich auch den Codefinder begriffen. Finde ich prima - und ist einfach. Gruß Heinz |
|
|
| |
|
|
|
GDL | Hi
@Andreas
Parameter 5: 0 = In Papierkorb verschieben, 1= endgültig löschen
Egal ob ich ne Null oder ne Eins verwende, es wird immer endgültig gelöscht.
Servus Georg |
|
|
| |
|
|
|
| Dann ist Dein Papierkorb vermutlich abgestellt. |
|
|
| |
|
|
|
GDL | Nö, alles was ich mit dem Explorer lösche landet im Papierkorb.
Servus Georg |
|
|
| |
|
|