Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: VB6: Kansion koko?

Jamma [25.09.2002 17:41:06]

#

Voiko joku kertoa miten saan selville määrätyn / määrättyjen kansioiden koko? Tarkoitukseni olisi laskea 3 kansion koko yhteen ja se tulos jaetaan niin pitkään kunnes naaman edessä on tulos megoina. Jos joku tietää niin olisi hyvä jos laittaisi koodin näkyviin tänne tai sitten eemeliä osoitteeseen jamma85@sunpoint.net.

Antti Laaksonen [25.09.2002 18:02:10]

#

Tämä koodinpätkä sisältää funktion HaeHakemistonKoko joka palauttaa halutun hakemiston tiedostojen yhteenlasketun koon. Esimerkissä haetaan hakemistojen c:\winnt\system32\, c:\winnt\ ja c:\ koot, lasketaan ne yhteen, ja ilmoitetaan MsgBox:issa.

Private Sub Form_Load()
    Dim koko As Long
    koko = koko + HaeHakemistonKoko("c:\winnt\system32")
    koko = koko + HaeHakemistonKoko("c:\winnt\")
    koko = koko + HaeHakemistonKoko("c:\")
    MsgBox "Hakemistojen koko on " & Round(koko / 1024 / 1024, 2) & " megatavua"
End Sub

Function HaeHakemistonKoko(hakemisto As String) As Long
    Dim tied As String, koko As Long
    tied = Dir(hakemisto, vbNormal)
    On Error Resume Next
    Do While tied <> ""
        koko = koko + FileLen(hakemisto & tied)
        Err = 0
        tied = Dir
    Loop
    HaeHakemistonKoko = koko
End Function

Jamma [25.09.2002 19:58:27]

#

Kiitos paljon.

Jamma [25.09.2002 20:03:49]

#

Öö... Mulla on problem.. siis toihan ei ota huomioon piilotiedostoja / kansioita ja alihakemistoja? Pistin C:\ ja se sanoi 0,01mb eli txt tiedoston verran joka siellä oli. Miten ton sais näyttämään koko kansion sisällön koon? Piilotiedostot ja kansiot mukaanluettuna.

Antti Laaksonen [25.09.2002 21:59:14]

#

Piilo- ja systeemitiedostot saat näkyviin vaihtamalla funktion toisen rivin muotoon:

tied = Dir(hakemisto, vbNormal + vbReadOnly + vbHidden + vbSystem)

Mutta kaikkien hakemiston alihakemistojen plaraamiseen tarvitaan jo kehittyneempää aliohjelmaa. Voin yrittää tehdä aiheesta jossain vaiheessa koodivinkin, jos aikaa on.

Gevil [26.09.2002 14:25:46]

#

Etkös sä antti jo tehny sellasen joskus kuukausia sitten.. Alihakemistojen plaraamis algoritmin siis..

Antti Laaksonen [26.09.2002 18:12:57]

#

Juu onhan tuossa tuo alihakemistojen plaraaminen:

https://www.ohjelmointiputka.net/koodivinkit/23528-vb6-alihakemistojen-etsiminen

Sen kun yhdistää ylläolevaan koodinpätkään, niin sitten funktion pitäisi toimia täydellisesti.

Vastaus

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

Tietoa sivustosta