Miten saan että mun ohjelmaa poistaa kansion?
RmDir:llä ei onnistu.
Miten niin ei onnistu?
Jos hakemistossa on tiedostoja, ne pitää poistaa ensin.
Niin, tiedän. Mutta miten?
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.
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 SubTimer1.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.
[OffTopic]Jos 30 sekunttia kerrotaan 20:llä, niin saadaan täyteen 10 minuuttia (kts. Lasku-muuttujan käyttö Timer1_Timer:ssa).[/OffTopic]
Kappas, siellä olikin tuollainen käytössä. Ei pitäisi yrittää päteä heti näin aamusta :>
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.
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
Aihe on jo aika vanha, joten et voi enää vastata siihen.