Utiliser la corbeille de windows

Partagez votre expérience de PureBasic avec les autres utilisateurs.
Le Soldat Inconnu
Messages : 4312
Inscription : mer. 28/janv./2004 20:58
Localisation : Clermont ferrand OU Olsztyn
Contact :

Utiliser la corbeille de windows

Message par Le Soldat Inconnu »

Code : Tout sélectionner

Procedure MoveFileToRecycleBin(DeletedFile.s)
  Protected lpFileOp.SHFILEOPSTRUCT
  
  If FileSize(DeletedFile) <> -1
    If Right(DeletedFile, 1) = "\"
      DeletedFile = Left(DeletedFile, Len(DeletedFile) - 1)
    EndIf
    
    Mem = AllocateMemory(0, Len(DeletedFile)+2, 0)
    If Mem
      lpFileOp\hwnd = 0
      lpFileOp\pTo = 0
      lpFileOp\wFunc = #FO_DELETE
      lpFileOp\pFrom = Mem
      lpFileOp\fFlags = #FOF_ALLOWUNDO | #FOF_NOCONFIRMATION
      
      CopyMemoryString(DeletedFile, @Mem) 
      CopyMemoryString(Chr(0)) 
      CopyMemoryString(Chr(0))
      
      SHFileOperation_(@lpFileOp)
      
      FreeMemory(0)
    EndIf
  EndIf
EndProcedure

MoveFileToRecycleBin("C:\Nouveau Document texte.txt")
Je ne suis pas à moitié Polonais mais ma moitié est polonaise ... Vous avez suivi ?

[Intel quad core Q9400 2.66mhz, ATI 4870, 4Go Ram, XP (x86) / 7 (x64)]
Le Soldat Inconnu
Messages : 4312
Inscription : mer. 28/janv./2004 20:58
Localisation : Clermont ferrand OU Olsztyn
Contact :

Onglet sur plusieurs lignes

Message par Le Soldat Inconnu »

Un code ou j'avais aidé à corriger mais je ne me rapelle plus de qui il est.

en tous cas, c'est chouette

Code : Tout sélectionner

; /Constantes Window
#Window_0 = 0

; /Constantes Gadget
#Btn_Quit = 0
#Panel = 1

; / Constantes
#Style = #TCS_MULTILINE | #TCS_RIGHTJUSTIFY

Procedure SetStyle(Handle, style.l)
  OldStyle.l = GetWindowLong_(Handle, #GWL_STYLE)
  NewStyle.l = OldStyle | style
  SetWindowLong_(Handle, #GWL_STYLE, NewStyle)
EndProcedure

hwnd = OpenWindow(#Window_0, 300, 300, 300, 300, #PB_Window_SystemMenu, "Fenêtre 1", 0)
If CreateGadgetList(WindowID(#Window_0))
  ButtonGadget(#Btn_Quit, 100, 270, 100, 25, "Quitter")
  hPanel = PanelGadget(#Panel, 0, 0, 300, 250)
  For i = 1 To 10
    AddGadgetItem(#Panel, i - 1, "Onglet " + Str(i))
  Next
  CloseGadgetList()
  
  SetStyle(hPanel, #Style)

  SetGadgetState(#Panel, 0)
  
EndIf



Repeat
  Select WindowEvent()
    Case #PB_EventCloseWindow : End
    Case #PB_EventGadget
      Select EventGadgetID()
        Case #Btn_Quit : End
      EndSelect
  EndSelect
ForEver
Je ne suis pas à moitié Polonais mais ma moitié est polonaise ... Vous avez suivi ?

[Intel quad core Q9400 2.66mhz, ATI 4870, 4Go Ram, XP (x86) / 7 (x64)]
Répondre