Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: VB6: [vb6] Kansion poisto

Sivun loppuun

Kulma [07.06.2006 16:39:57]

#

Miten saan että mun ohjelmaa poistaa kansion?
RmDir:llä ei onnistu.

Antti Laaksonen [07.06.2006 16:56:33]

#

Miten niin ei onnistu?

Jos hakemistossa on tiedostoja, ne pitää poistaa ensin.

Kulma [07.06.2006 19:22:04]

#

Niin, tiedän. Mutta miten?

Metabolix [07.06.2006 19:43:02]

#

Sovella oppaita ja vinkkejä ja opettele itsekin edes jotakin.

Tiedostonlistausfunktion voit kehittää vaikka vinkistä Alihakemistojen etsiminen. Kill poistaa tiedoston. Rekursio-opas käsittelee myös kansiopuun listaamista.

Kulma [07.06.2006 21:20:28]

#

Ei noista ollut apua. Olen jo katsonut nuo, mutta keksin sen jo äsken itse ja googlen avulla:

Kill ("C:\Documents and Settings\Jussi\Recent\" & "*.*")
RmDir "C:\Documents and Settings\Jussi\Recent"

Ja teinpä sitten huvin vuoksi ohjelman, joka tyhjentää "Viimeisimmät tiedostot" - osion Käynnistä valikosta 10 min välein:

Dim Lasku As Integer

Private Sub Form_Load()
Lasku = 0
Me.Visible = False
App.TaskVisible = False
On Error Resume Next
Kill ("C:\Documents and Settings\Jussi\Recent\" & "*.*")
Timer1.Interval = 30000
Timer1.Enabled = True
End Sub

Private Sub Timer1_Timer()
If Not Lasku = 20 Then
Lasku = Lasku + 1
Else
On Error Resume Next
Kill ("C:\Documents and Settings\Jussi\Recent\" & "*.*")
Lasku = 0
End If
End Sub

tuomas [08.06.2006 10:08:05]

#

Timer1.Interval = 30000

Toi on kylläkin 30 sekuntia, eikä 10 minuuttia.
Saatat haluta tutustua gettickcount() winapiin jos haluat sen toimimaan niin, että poisto tapahtuu 10 minuutin välein. Tuolle timer-komponentilla saat viivettä korkeintaan sen 65535 millisekuntia.

BadSource [08.06.2006 10:22:31]

#

[OffTopic]Jos 30 sekunttia kerrotaan 20:llä, niin saadaan täyteen 10 minuuttia (kts. Lasku-muuttujan käyttö Timer1_Timer:ssa).[/OffTopic]

tuomas [08.06.2006 10:24:31]

#

Kappas, siellä olikin tuollainen käytössä. Ei pitäisi yrittää päteä heti näin aamusta :>

Kulma [08.06.2006 10:44:04]

#

tuomas kirjoitti:

Kappas, siellä olikin tuollainen käytössä. Ei pitäisi yrittää päteä heti näin aamusta :>

Joo on tollanen koska intervalliksi ei voi laittaa niin suurta lukua -> error.

tesmu [08.06.2006 13:37:03]

#

Suurin luku intervalliksi on muistaakseni 60000 eli 1min ja itse olisin laittanut tuon siihen ja laittanut timerin koodiksi tällätavalla.

Private Sub Timer1_Timer()
Static I as Long
I = I + 1
Select Case I
Case 10
'tee juttu
I = 0
End Select
End Sub

Sivun alkuun

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta