Français
Source/ Codesnippets

Kopieren Effacer débaptiser Déplacer

 
Folgende Procédure löscht dans den corbeille à papier, kopiert, verschiebt et benennt Fichiers et Dossier um - et cela avec Fortschrittsdialog. Den Code J'ai eu partiellement sowieso déjà prêt et habe ihn kurz la fois sur qui anderen Funktionen erweitert. c'est pourquoi läßt sich daran aussi bestimmt encore einiges améliorer...
KompilierenMarqueSéparation
Def @SHFileOperation(1) !"SHELL32","SHFileOperationA"
Declare opstruct#,file#,file2#

Proc Fileaction

    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 Parameters Action$,file$,file2$,noconfirm%,norecycle%
    Declare FOF_Flag%,Action&,DO%
    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#
        Long opstruct#,12=file2#
        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

        IF @Gt(@ShFileOperation(opstruct#),0)

            @MessageBox("Es ist ein Fehler aufgetreten","ShFileOperation",16)

        EndIf

    endif

    Dispose file#
    Dispose file2#
    Dispose opstruct#

EndProc

REM Beispiel
Fileaction "COPY","C:WINDOWS","C:TEMP",0,0
Fileaction "RENAME","C:WINDOWSTEMPTEST.DOC","C:WINDOWSTEMPTEST2.DOC",0,0
Fileaction "COPY","C:WINDOWSTEMPTEST2.DOC","C:WINDOWSTEMPTEST.DOC",0,0
Fileaction "MOVE","C:WINDOWSTEMPTEST2.DOC","C:WINDOWSTEMPTEST3.DOC",0,0
Fileaction "DELETE","C:WINDOWSTEMPTEST.DOC",=s3>»,0,0

(Hoffentlich maintenant sans Rechtschreibfehler)
 
21.07.2004  
 



était encore un kleiner faute drin (on sollte plan pas alles ungefragt prendre). So läufts (hoffentlich) besser:
KompilierenMarqueSéparation
Def @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% = 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(FEHLER&,117)

            @MessageBox("Die Dateioperation wurde abgebrochen!","Operation abgebrochen!",64)

        ElseIF @gt(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","C:TEMP",0,0
Fileaction "DELETE",&quo
MP",»,1,1
 
04.10.2004  
 



Zum Quelltext


Topictitle, max. 100 marque.
 

Systemprofile:

ne...aucune Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

s'il te plaît s'inscrire um une Beitrag trop verfassen.
 

Options du sujet

3.578 Views

Untitledvor 0 min.
E.T.22.11.2023
iF17.01.2015
AndreasS16.07.2012
Michael Borowiak25.03.2012
plus...

Themeninformationen

cet Thema hat 1 participant:

unbekannt (2x)


Admins  |  AGB  |  Applications  |  Auteurs  |  Chat  |  protection des données  |  Télécharger  |  Entrance  |  Aider  |  Merchantportal  |  Empreinte  |  Mart  |  Interfaces  |  SDK  |  Services  |  Jeux  |  cherche  |  Support

un projet aller XProfaner, qui il y a!


Mon XProfan
Privé Nouvelles
Eigenes Ablageforum
Sujets-La liste de voeux
Eigene Posts
Eigene Sujets
Zwischenablage
Annuler
 Deutsch English Français Español Italia
Traductions

protection des données


Wir verwenden Cookies seulement comme Session-Cookies à cause de qui technischen Notwendigkeit et chez uns gibt es aucun Cookies de Drittanbietern.

si du ici sur unsere Webseite klickst ou bien navigierst, stimmst du unserer Erfassung de Informationen dans unseren Cookies sur XProfan.Net trop.

Weitere Informationen trop unseren Cookies et en supplément, comment du qui Kontrolle par-dessus behältst, findest du dans unserer nachfolgenden Datenschutzerklärung.


d'accordDatenschutzerklärung
je voudrais keinen Cookie