Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: VB6: Filun etsintä

tesmu [19.10.2004 21:07:54]

#

Miten voin ettiä tiedostoja levyltä jollain vb koodilla

rndprogy [19.10.2004 21:52:23]

#

en tiedä tavan hyvyydestä mutta jos laittaisi

Open "tiedosto.jku" for input as #1

niin se yrittää lukea. Mutta kun tiedostoa ei olekaan olemassa VB:hän antaa virheilmoituksen. Siihen kohtaan voisi käyttää error handleria että ei avaakkaan tiedosta. Ja josse pystyy sen avaamaan tiedosto on olemassa.

Metabolix [19.10.2004 22:04:44]

#

Ei ole hyvä tapa.
WinAPI sisältää funktiot FindFirstFile ja FindNextFile. Niillä saa etsittyä tiedostoja, määriteltyä etsittävän päätteen ja attribuutit jne.

nomic [20.10.2004 02:00:58]

#

Itse ainakin loin For-silmukan,
Joka käy läpi Dir1:n näytettävät kansiot ja File1n valitun kansion sisällön.
Jos kansion sisällä on tiedosto, joka vastaa nimeltään haluttua, avataan, jos ei jatketaan jne...

BadSource [20.10.2004 10:19:23]

#

Jos haluat tarkistaa löytyykö jostain tietystä paikasta tiettyä tiedostoa, niin se onnnistuu myös DIR-komennolla. Mutta jos todella haluat etsiä koko levyltä tiedosto(j)a, niin parhaat taitavat olla nuo Metabolixin ehdottamat FindFirstFile ja FindNextFile. AllApin kuvaus FindFirstFile:stä.

Esimerkki DIR:n käytöstä

Private Sub Command1_Click()
    Dim testi1 As String, testi2 As String

    testi1 = Dir("C:\Temp\", vbDirectory)
    If testi1 <> "" Then 'jos hakemisto on olemassa, testi1 sisältää pisteen (.)
        testi2 = Dir("C:\Temp\Testi.txt", vbNormal)
        If testi2 <> "" Then 'jos tiedosto on olemassa, testi2 sisältää tiedoston nimen
            MsgBox "Temp-hakemisto löytyy C-asemalta," & vbCrLf _
              & "ja se sisällä Testi.txt-tiedostonkin!"
        Else
            MsgBox "Temp-hakemisto löytyy C-asemalta," & vbCrLf _
              & "mutta se ei sisällä Testi.txt-tiedostoa."
        End If
    Else
        MsgBox "Ei Temp-hakemistoa C-asemalla."
    End If

End Sub

Edit: muotoilua ja linkin tarkistus...

Tiha [20.10.2004 18:59:36]

#

Tässä toinen dir eli command promptinkin käyttö onnistuu..

Private Sub Form_Load()

'Kommentoi käyttiksesi mukaan
'joko ensimmäinen tai toinen prompti
prompti = "c:\windows\command.com" '95 / 98
'prompti = "CMD" 'NT /2000 / XP

etsi = "calc.exe" ' etsittävä tiedosto
tulostiedosto = "c:\testi.txt" ' Output file

act = Shell(prompti & " /c dir /s c:\" & etsi & " >" & tulostiedosto, vbHide) ' Etsi tiedosto

End Sub

Vastaus

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

Tietoa sivustosta