» »

VB6 - brisanje datotek - pomoč

VB6 - brisanje datotek - pomoč

RuN ::

Imam Form1 na kateri se nahaja kontrolnik TextBox1 in Gumb1.

V TextBox1 vpišem število dni (npr. 150) in pritisnem Gumb1 (O.K.)

Sedaj bi rad kodo ;-), ki bi mi iz določenega direktorija oz. vseh njegovih poddirektorijev izbrisala vse datoteke ki so starejše od 150 dni oz. kolko je v TextBox1.caption.

Vem samo ime glavnega direktorija oz. mape. Vse ostale mape /direktoriji/ so neznani !!

LEPO PROSIM ZA NASVET OZ. KODO. Častim PIVO !!

ge ::

Pijem Laško !

:-))
Ge

ElectricMan ::

Pivo :- Glej pivo.

To je definicija rekurzije. To ti bo prav prišlo pri tvojem programu.

BigWhale ::

A si ze kdaj programiral v VB? V cemerkoli?

berta ::

http://vbnet.mvps.org/code/fileapi/inde...

POglej tuki kako se rekurzivno sprehaja po strukturi imenikov pa tko naprej. Za samo brisanje si pa pol sam kodo sestavi.

Sicer se pa tud na googlu najde sam mal je treba poiskat

Slide ::

Zelo kmečka fora ampak deluje in je enostavna, je ta da z DIR ukazom (Command Promt) izpišeš strukturo nekega direktorija in preusmeriš izpis v datoteko potem pa z VBjem manipuliraš s to novo kreirano datoteko in tko potem dobiš datoteke in uporabiš ukaz KILL "ime datoteke"...

Comments?
forever 200 MPH ...

Zgodovina sprememb…

  • spremenil: Slide ()

RuN ::

@BigWhale:

Ja sem že programiral v VB, sam ne vem kako se po direktorijih premikat.

Rabim pa najhitrejši način za izbris starejših datotek.

@Slide:
A ti v tej novo-kreirani datoteki izpiše tudi direktorije al samo datoteke ???

Kakšna je sintaksa ???

BigWhale ::

Parsanje 1MB texta sigurno ni najhitrejsi nacin za brisanje datotek.

Run: Poglej si malo Dir funkcijo... :)

darkolord ::

Malo pozno, ampak vseeno....

najbolj eleganten način za take stvari je FSO...

RuN ::

Darklord, kaj lahko napišeš kako se s tem dela.

Veš mogoče kako to nardit ?!?

darkolord ::

Ok... najprej dodaj referenco na "Microsoft Scripting Runtime" (project -> references), pol pa na formo postavi 2 textboxa in 1 gumb... pol pa skopiraj tole kodo:

Option Explicit

Private Sub DeleteFiles(sFolderPath As String, lDays As Long)
Dim FS As New FileSystemObject
Dim FSfile As File
Dim FSfolder As Folder
Dim subfolder As Folder

Set FSfolder = FS.GetFolder(sFolderPath)
For Each FSfile In FSfolder.Files
DoEvents
If DateDiff("d", FSfile.DateLastModified, Now) > lDays Then
FSfile.Delete True
End If
Next FSfile

For Each subfolder In FSfolder.SubFolders
Call DeleteFiles(subfolder.Path, lDays)
Next subfolder
Set FSfolder = Nothing
End Sub

Private Sub Command1_Click()
DeleteFiles Text1, Text2
End Sub

Zgodovina sprememb…

  • spremenilo: darkolord ()

RuN ::

@darklord:

TI SI CAR. DOBIŠ MRZLO PIVO !!! :P

HVALA

darkolord ::

LOL. :D


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

Visual Basic

Oddelek: Programiranje
313432 (2458) cekr
»

vb.net: dynamic textbox

Oddelek: Programiranje
51180 (1070) saule
»

c# undo, redo, paste

Oddelek: Programiranje
5950 (850) japol
»

[VB] Open

Oddelek: Programiranje
71531 (1370) Monster
»

[ASP.NET] send mail

Oddelek: Programiranje
51266 (1203) Microsoft

Več podobnih tem