Frage zu SHFILE // Phil Ide

Fragen rund um diverse Windows-Versionen, ihr Verhalten unter Xbase++ und den Umgang mit der API

Moderator: Moderatoren

Antworten
Benutzeravatar
mini990
1000 working lines a day
1000 working lines a day
Beiträge: 592
Registriert: Sa, 28. Jan 2006 9:44
Wohnort: Berg-Richtheim bei Neumarkt i.d.Opf.
Danksagung erhalten: 1 Mal

Frage zu SHFILE // Phil Ide

Beitrag von mini990 »

Hallo,
damit schön die Ordner fliegen setze ich beim kopieren SHFile ein.

Hätte noch ein paar Fragen
Der Aufruf erfolgt ja mit ShFile:Copy( xSrc, xDest, lConfirm )
Der Parameter lConfirm bewirkt bei mir nur dass das Kopieren "Sichtbar" ist (wenn lConfirm = .T.) oder halt im Hintergrund läuft.
Ist das korrekt?
Gibt SHFile irgendwas zurück? Was passiert wenn der Anwender auf "Abbrechen" drückt beim kopieren? (Außer dass der Kopiervorgang abgebrochen wird)

Gruß Stefan
PS: So ruhig hier im Forum... Zu heiß zum programmieren oder alle im Urlaub??? :D
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

Re: Frage zu SHFILE // Phil Ide

Beitrag von AUGE_OHR »

mini990 hat geschrieben:Gibt SHFile irgendwas zurück? Was passiert wenn der Anwender auf "Abbrechen" drückt beim kopieren? (Außer dass der Kopiervorgang abgebrochen wird)
du solltest die MemberVar
fAnyOperationsAborted von SHFILEOPSTRUCT prüfen.
DE_OPCANCELLED 0x75 The operation was canceled by the user, or silently canceled if the appropriate flags were supplied to SHFileOperation
gruss by OHR
Jimmy
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

Re: Frage zu SHFILE // Phil Ide

Beitrag von AUGE_OHR »

hi,

habe hier die Version von Pablo mit ot4xb gefunden
SHFILEOPERATION.zip
need ot4xb.LIB / DLL
(2.33 KiB) 302-mal heruntergeladen
da er mit einer Strukture arbeitet kannst du direkt auf eine Member VAR zugreifen

Code: Alles auswählen

BEGIN STRUCTURE _SH_F_OP_Base_
   MEMBER HWND      hWnd
   MEMBER UINT      nOp
   MEMBER LPSTR     pFrom
   MEMBER LPSTR     pTo
   MEMBER WORD      wFlags
   MEMBER BOOL      lCancel     // Abbruch
   MEMBER POINTER32 pMappings
   MEMBER LPSTR     pTitle
END STRUCTURE
gruss by OHR
Jimmy
Benutzeravatar
mini990
1000 working lines a day
1000 working lines a day
Beiträge: 592
Registriert: Sa, 28. Jan 2006 9:44
Wohnort: Berg-Richtheim bei Neumarkt i.d.Opf.
Danksagung erhalten: 1 Mal

Re: Frage zu SHFILE // Phil Ide

Beitrag von mini990 »

SHFile funktioniert soweit....
Welche Parameter kann man mit übergeben?
So wird beim Aufruf analog zum Beispiel in SHFile bei vorhandenem Zielordner eine Kopie angelegt.
Kann man das abschalten?

Gruß Stefan
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

Re: Frage zu SHFILE // Phil Ide

Beitrag von AUGE_OHR »

mini990 hat geschrieben:SHFile funktioniert soweit....
Welche Parameter kann man mit übergeben?
es gibt keine weiteren Parameter
mini990 hat geschrieben:So wird beim Aufruf analog zum Beispiel in SHFile bei vorhandenem Zielordner eine Kopie angelegt.
Kann man das abschalten?
dafür sind die "Flags" zuständig

Code: Alles auswählen

   PROPERTY fMultiDestFiles         IS MASK 0x0001  OF wFlags
   PROPERTY fConfirmMouse           IS MASK 0x0002  OF wFlags
   PROPERTY fSilent                 IS MASK 0x0004  OF wFlags
   PROPERTY fRenameOnCollision      IS MASK 0x0008  OF wFlags
   PROPERTY fNoConfirmation         IS MASK 0x0010  OF wFlags
   PROPERTY fWantMappingHandle      IS MASK 0x0020  OF wFlags
   PROPERTY fAllowUndo              IS MASK 0x0040  OF wFlags
   PROPERTY fFilesOnly              IS MASK 0x0080  OF wFlags
   PROPERTY fSimpleProgress         IS MASK 0x0100  OF wFlags
   PROPERTY fNoConfirmMkDir         IS MASK 0x0200  OF wFlags
   PROPERTY fNoErrorUI              IS MASK 0x0400  OF wFlags
   PROPERTY fNoCopySecurityAttribs  IS MASK 0x0800  OF wFlags
   PROPERTY fNoRecursion            IS MASK 0x1000  OF wFlags
   PROPERTY fNoConnectedElements    IS MASK 0x2000  OF wFlags
   PROPERTY fWantNukeWarning        IS MASK 0x4000  OF wFlags
   PROPERTY fNoRecurseReparse       IS MASK 0x8000  OF wFlags
was die bedeuten kannst du unter
https://msdn.microsoft.com/en-us/librar ... 85%29.aspx nachsehen.

Code: Alles auswählen

   IF lConfirm
      oOp:fRenameOnCollision := .F. // nicht überschreiben ( .T. -> Kopie )
      oOp:fAllowUndo         := .T. // User fragen
   ELSE
SHfileOp_Frage_ersetzen.JPG
SHfileOp_Frage_ersetzen.JPG (151.67 KiB) 6164 mal betrachtet
gruss by OHR
Jimmy
Benutzeravatar
mini990
1000 working lines a day
1000 working lines a day
Beiträge: 592
Registriert: Sa, 28. Jan 2006 9:44
Wohnort: Berg-Richtheim bei Neumarkt i.d.Opf.
Danksagung erhalten: 1 Mal

Re: Frage zu SHFILE // Phil Ide

Beitrag von mini990 »

Super! Danke!

Gruß Stefan
Antworten