Buchempfehlung
Windows System Programming
Windows System Programming
Das Kompendium liefert viele interessante Informationen zur Windows-Programmierung auf Englisch. [Mehr Infos...]
FreeBASIC-Chat
Es sind Benutzer im FreeBASIC-Chat online.
(Stand:  )
FreeBASIC bei Twitter
Twitter FreeBASIC-Nachrichten jetzt auch über Twitter erhalten. Follow us!

Code-Beispiel

Code-Beispiele » Dateien und Laufwerke

Datei in den Papierkorb schieben

Lizenz:Erster Autor:Letzte Bearbeitung:
k. A.RedakteurVolta 24.10.2010

Statt eine Datei zu löschen, kann das verschieben in den Papiekorb manchmal viel Arbeit ersparen.

'Recycle_File.bas
#Define WIN_INCLUDEALL 'damit shellapi.bi eingebunden wird
#Include Once "windows.bi"

Function Recycle_File(filename As String) As Integer
  Dim filestruct As SHFILEOPSTRUCT
  With filestruct
    .pFrom  = StrPtr(filename)
    .wFunc  = FO_DELETE
    .fFlags = FOF_ALLOWUNDO Or FOF_NOCONFIRMATION
  End With
  Return SHFileOperation(@filestruct)
End Function
'Um eine Datei rekonstruieren zu können, müssen Sie deren voll-
'ständigen Pfadnamen und natürlich das Flag FOF_ALLOWUNDO angeben
Print Recycle_File("C:\tmp\Datei2.txt")
Sleep

Bei meinem WinME war es unnötig den Filenamen mit einem doppel chr(0,0) abzuschließen.
Mit der gleichen API-Funktion lassen sich auch Dateien kopieren.
Hier eine Version mit chr(0,0).

'Copy_File.bas
#Include Once "windows.bi"
#Include "win\shellapi.bi"

Function Copy_File(f_from As String, f_to As String) As Integer
  Dim filestruct As SHFILEOPSTRUCT
  Dim As String fb_from = f_from + Chr(0,0)'M$ say, must be
  Dim As String fb_to = f_to + Chr(0,0)'double-null terminated.
  With filestruct
    .wFunc  = FO_COPY
    .pFrom  = StrPtr(fb_from)
    .pTo    = StrPtr(fb_to)
    .fFlags = FOF_NOCONFIRMATION Or FOF_NOCONFIRMMKDIR
  End With
  Return SHFileOperation(@filestruct)
End Function

If Copy_File("C:\tmp\Datei.txt","C:\tmp\Datei2.txt") Then
  MessageBox(0, "kopieren fehl geschlagen!", "Copy_File", _
  MB_OK Or MB_ICONERROR)
EndIf


Zusätzliche Informationen und Funktionen
  • Das Code-Beispiel wurde am 23.10.2010 von RedakteurVolta angelegt.
  • Die aktuellste Version wurde am 24.10.2010 von RedakteurVolta gespeichert.
  Bearbeiten Bearbeiten  

  Versionen Versionen