Avatar billede ddayone Nybegynder
02. august 2001 - 18:34 Der er 2 kommentarer

Check om fil er åben

Jeg har et problem, jeg er ved at skrive et VB som overskriver filer, jeg skal derfor checke om filen er i brug inden jeg kan overskrive, måden jeg checker dette er følgende:

Public Function FileInUse(pFile As String) As Boolean
FileInUse = False
Dim h As Integer

On Error Resume Next

\' get a file handle
h = FreeFile()

Open pFile For Random Access Read Write Lock Read Write As #h

If Err.Number = 0 Then
    Close #h
Else
    FileInUse = True
End If
End Function

Mit problem består i, at de filer som jeg skal overskrive altid er skrivebeskyttede. Derfor virker min funktion ikke da, den prøver at åben filen.

Any ideas til en anden måde at checke på eller ændring af min kode ????
Avatar billede dr.truti Nybegynder
04. august 2001 - 13:04 #1
Alt hvad du har lavet indtil nu er helt okay jeg vil foreslå at du bare leder efter en Kilde Kode eller giver dig til at finde en måde at ophæve Read only ( Jeg vil gå ud fra at man ikke bare kan ophæve den da det jo netop er lavet til det modsatte.
Jeg har prøvet at lede på Palnet Source Code men der var ikke noget af det du mangler :(

Truti
Avatar billede roenving Novice
06. august 2001 - 23:47 #2
Hvorfor prøver du ikke bare at lave en dir på filen og derefter åbne den for input?

Public Function FileInUse(pFile As String) As Boolean
    FileInUse = False
    On Error Goto ErrorHandler

    if dir(pFile) <> \"\" then
        Open pFile for Input as FreeFile()
    End If
   
ExitFunction:
    Exit Function

ErrorHandler:
    FileInUse = True
    Resume ExitFunction
End Function

hth
jes
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester