Español
Fuente/ Codesnippets

Kopieren Löschen Umbenennen Verschieben

 
Folgende Procedimiento löscht en el Papierkorb, kopiert, verschiebt y benennt Archivos y Ordner en - y el con Fortschrittsdialog. Den Code Tuve teilweise sowieso ya parat y habe ihn kurz veces en el otro Características erweitert. Deshalb läßt se daran auch determinado todavía einiges verbessern...
KompilierenMarcaSeparación
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 ahora sin Rechtschreibfehler)
 
21.07.2004  
 



War todavía una kleiner Fehler drin (uno debería eben no alles ungefragt tomar). So läufts (hoffentlich) mejor:
KompilierenMarcaSeparación
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


Título del Tema, max. 100 Signo.
 

Systemprofile:

Kein Systemprofil creado. [anlegen]

XProfan:

 Contribución  Font  Smilies  ▼ 

Bitte registro en una Contribución a verfassen.
 

Tema opciones

3.588 Views

Untitledvor 0 min.
E.T.22.11.2023
iF17.01.2015
AndreasS16.07.2012
Michael Borowiak25.03.2012
Más...

Themeninformationen

Dieses Thema ha 1 subscriber:

unbekannt (2x)


Admins  |  AGB  |  Applications  |  Autores  |  Chat  |  Política de Privacidad  |  Descargar  |  Entrance  |  Ayuda  |  Merchantportal  |  Pie de imprenta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Juegos  |  Búsqueda  |  Support

Ein Projekt aller XProfan, el lo son!


Mi XProfan
Privado Noticias
Eigenes Ablageforum
Temas-Merkliste
Eigene Beiträge
Eigene Temas
Zwischenablage
Cancelar
 Deutsch English Français Español Italia
Traducciones

Política de Privacidad


Wir uso Cookies sólo como Session-Cookies wegen el technischen Notwendigkeit y en uns hay no Cookies de Drittanbietern.

Wenn du hier en unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung de Informationen en unseren Cookies en XProfan.Net a.

Weitere Informationen a unseren Cookies y dazu, como du el Kontrolle darüber behältst, findest du en unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Yo möchte no Cookie