Español
Fuente/ Codesnippets

Api Dateioperationen Mittels

 

KompilierenMarcaSeparación
FileOps : Unabhängiges API-Dateicontrol
Parameter...
1 :	$ Pfad Quelldatei
2 :	$ Pfad Zieldatei
3 :	% Dateioperation
1 = Kopieren $1 -> $2
2 = Verschieben/Umbenennen $1 -> $2
3 = Löschen $1
4 :	% Schutzfunktionen
Für Datei Verschieben/Kopieren
0 = nicht überschreiben wenn Zieldatei bereits existiert
1 = Zieldatei überschreiben wenn existiert
2 = Fragen ob Zieldatei überschrieben werden soll
Für Datei Löschen
0 = Keine Sichheitsafrage
1 = Sicherheitsabfrage
5 :	% Datei Schreibschutz
0 = Datei nicht bearbeiten wenn Schreibgeschützt
1 = Schreibschutz entfernen wenn Schreibgeschützt
2 = Fragen ob Schreibschutz entfernt werden soll
6 :	% Voreingestellter Fehlercode zum testen der eigenen Auswertung.
MUSS 0 sein um die eigentliche Dateioperation auszuführen, sonst passiert nix !
*** Benötigte APIs
DEF CopyFile(3) !"Kernel32","CopyFileA"
DEF MoveFile(2) !"Kernel32","MoveFileA"
DEF DeleteFile(1) !"Kernel32","DeleteFileA"
DEF SetFileAtt(2) !"Kernel32","SetFileAttributesA"
DEF GetFileAtt(1) !"Kernel32","GetFileAttributesA"

proc FileOps

    parameters fo_fp1$,fo_fp2$,fo_fop%,fo_fex%,fo_fsm%,fo_fmsg%
    case fo_fmsg%=0:fo_fmsg%=if(len(findfirst$(fo_fp1$))=0,6,if(and(trim$(fo_fp2$)="",fo_fop%<3),8,if(and(lower$(fo_fp1$)=lower$(fo_fp2$),fo_fop%<3),7,0)))

    if and(fo_fmsg%=0,and(fo_fop%<3,len(findfirst$(fo_fp2$))>0))

        fo_fex%=if(fo_fex%=2,messagebox(fo_fp2$+"
        Die Datei existiert bereits !
        Soll sie überschrieben werden ?","Frage:",35),if(fo_fex%=0,7,1))
        fo_fmsg%=if(fo_fex%=2,4,if(fo_fex%=7,1,0))

    elseif fo_fmsg%=0

        fo_fex%=if(fo_fop%=3,if(fo_fex%,messagebox(fo_fp1$+"
        Soll die Datei wirklich gelöscht werden ?","Frage:",36),1),0)
        fo_fmsg%=if(fo_fex%=7,2,0)

    endif

    if fo_fmsg%=0

        case and(and(getfileatt(addr(fo_fp1$)),1),fo_fop%>1):fo_fmsg%=if(fo_fsm%=2,messagebox(fo_fp1$+"
        Die Datei ist schreibgeschützt.
        Soll der Schreibschutz entfernt werden ?","Frage:",35),if(fo_fsm%=0,7,6))
        case fo_fmsg%:fo_fmsg%=if(fo_fmsg%=2,5,if(fo_fmsg%=7,3,if(setfileatt(addr(fo_fp1$),getfileatt(addr(fo_fp1$))-1)=1,0,9)))

        if and(fo_fmsg%=0,and(fo_fop%<3,len(findfirst$(fo_fp2$))>0))

            fo_fmsg%=if(and(getfileatt(addr(fo_fp2$)),1),if(fo_fsm%=2,messagebox(fo_fp2$+"
            Die Datei ist schreibgeschützt.
            Soll der Schreibschutz entfernt werden ?","Frage:",35),if(fo_fsm%=0,7,6)),0)
            case fo_fmsg%:fo_fmsg%=if(fo_fmsg%=2,5,if(fo_fmsg%=7,3,if(setfileatt(addr(fo_fp2$),getfileatt(addr(fo_fp2$))-$01)=1,0,10)))

        endif

    endif

    if fo_fmsg%=0

        case fo_fex%:fo_fmsg%=if(deletefile(if(fo_fop%=3,addr(fo_fp1$),addr(fo_fp2$)))=1,0,if(fo_fop%=3,11,12))
        case and(fo_fop%=1,fo_fmsg%=0):fo_fmsg%=if(copyfile(addr(fo_fp1$),addr(fo_fp2$),0)=1,0,13)
        case and(fo_fop%=2,fo_fmsg%=0):fo_fmsg%=if(movefile(addr(fo_fp1$),addr(fo_fp2$))=1,0,14)

    endif

    return fo_fmsg%

endproc

Rückgabewerte...
0 : Erfolg
1 : Datei existiert bereits -> nicht überschreiben gewählt (vom Anwender oder per Schutzfunktion automatisch)
2 : Datei löschen -> nicht löschen gewählt
3 : Datei schreibgeschützt -> nicht bearbeiten gewählt (vom Anwender oder per Schutzfunktion automatisch)
4 : Datei existiert -> Abgebrochen gewählt
5 : Datei schreibgeschützt -> Abgebrochen gewählt
6 : Quelldatei existiert nicht
7 : Quelldatei = Zieldatei (daher Unsinn) (bei Datei löschen egal)
8 : Kein Zielpfad angegeben (bei Datei löschen egal)
9 : Schreibschutz der Quelldatei konnte nicht entfernt werden
10 : Schreibschutz der Zieldatei konnte nicht entfernt werden
11 : Quelldatei konnte nicht gelöscht werden
12 : Zieldatei konnte nicht gelöscht werden
13 : Datei konnte nicht kopiert werden
14 : Datei konnte nicht movido voluntad
 
05.06.2005  
 



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

2.795 Views

Untitledvor 0 min.
Tommy25.03.2023
AndreasS14.01.2019
GDL03.09.2015
Heltal03.08.2014
Más...

Themeninformationen

Dieses Thema ha 1 subscriber:

iF (1x)


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