Visual Basic – Rad sa Recycle Bin-om

Jedna od vrlo korisnih stvari koja je došla sa Windows-om je „Recycle Bin“ – privremeno skladište za nepotrebne fajlove koji su spremni za brisanje.

Uobičajeno je da se za brisanje fajlova u Visual Basic-u koristi naredba „Kill“, koja nepovratno uklanja nepotrebne fajlove. Ali zašto za ovakvu priliku ne bi iskoristili snažnu API funkciju koja će nepotrebne fajlove prebaciti u Recycle Bin, i na taj način vas obezbediti od slučajnog brisanja fajlova.

API funkcija koja omogućava smeštanje nepotrebnih fajlova u Recycle Bin je „SHFileOperation„, a nalazi se u sistemskoj biblioteci „shell32.dll„, u kojoj se inače nalaze i ostale funkcije koje se uglavnom odnose na interfejs Windows-a. Da vidimo kako se koristi ova funkcija, pre svega dodajte sledeći kod u sekciju deklaracija vašeg projekta:


Public Type SHFILEOPSTRUCT
hwnd As Long
wFunc As Long
pFrom As String
pTo As String
fFlags As Integer
fAnyOperationsAborted As Long
hNameMappings As Long
lpszProgressTitle As Long
End Type

Public Declare Function SHFileOperation Lib _
„shell32.dll“ Alias „SHFileOperationA“ (lpFileOp _
As SHFILEOPSTRUCT) As Long

Public Const FO_DELETE = &H3
Public Const FOF_ALLOWUNDO = &H40


Ovaj kod je potreban za korišćenje API funkcije SHFileOperation, ali ne brinite – programski kod potreban za uklanjanje fajla u Recycle Bin, dugačak je samo nekoliko linija. Na primer, postavite na formu jedno komandno dugme i nazovite ga „cmdPrebaciUBin“ i dodajte sledeći kod u događaj Click:


Dim SHop As SHFILEOPSTRUCT
Dim strFile as string

strFile = „c:zdravo.txt“

With SHop
.wFunc = FO_DELETE
.pFrom = strFile
.fFlags = FOF_ALLOWUNDO
End With
SHFileOperation SHop


Pre nego što pokrenete program i pritisnete dugme, kreirajte tekstualni fajl u root folderu diska i nazovite ga „zdravo.txt“. Mada, za ovaj primer možete iskoristi bilo koji fajl na disku koji vam nije potreban, samo promenite putanju varijabli „strFile“. Sada, kada pritisnete dugme, dati fajl će se premestiti sa root-a u Recycle Bin, i na taj način neće biti definitivno izbrisan već ćete moći da ga povratite.

Pratite Krstaricu na www.krstarica.com