Avatar billede tubber Juniormester
26. oktober 2002 - 03:52 Der er 6 kommentarer og
1 løsning

Hjælp til at gennemskue kode........

Hej der

Jeg håber der er en der har lidt tid til overs til lige at hjælpe mig med at gennemskue noget kode som jeg skal have til at funke uden den spørger hvad fil den skal åbne......

Jeg har en rutine der absolut ber om jeg kører den rutine som jeg skal have hjælp til.....

Det jeg ikke kan finde frem til er hvor jeg skal sætte filnavnet ind i min kode for at den bare åbner den fil jeg vil ha.....

'**************************************************************************
' Purpose:  To display a FileOpen dialog box and to intialize clsFile.
' Inputs:  Optional arguments allow the caller to change the visual
'          appearance of the FileOpen dialog.
' Outputs:  Whether or not the file was sucessfully opened.
'**************************************************************************
Public Function OpenFile(Optional vntDefaultExt, Optional vntFlags, _
                                Optional vntFilter, Optional vntFilterIndex)
    Dim intScreenPointer As Integer
    On Error Resume Next
    intScreenPointer = Screen.MousePointer
    With dlg
        .CancelError = True
        .DefaultExt = IIf(IsMissing(vntDefaultExt), DEFAULT_EXT, vntDefaultExt)
        .Flags = IIf(IsMissing(vntFlags), DEFAULT_FLAGS_OPEN, vntFlags)
        .Filter = IIf(IsMissing(vntFilter), DEFAULT_FILTER, vntFilter)
        .FilterIndex = IIf(IsMissing(vntFilterIndex), 1, vntFilterIndex)
        .ShowOpen
        Screen.MousePointer = vbHourglass
        If Not Err Then
            OpenFile = clsFile.OpenFile(.FileName, False)
        Else
            OpenFile = False
        End If
        Screen.MousePointer = intScreenPointer
    End With
End Function

'**************************************************************************
' Purpose:  Opens a binary file for use with the other methods and
'          properties in this class.
' Inputs:  A filename, and an option to open the file as read-only.
' Outputs:  Success or failure of this method.
' Effects:  Opens a disk file.
' Assumes:  A fully qualified filename (WITH PATH) is provided to
'          strFileName.
'**************************************************************************
Public Function OpenFile(strFileName As String, _
                                        blnReadOnly As Boolean) As Boolean
    '---------------------------------------------------------------------
    ' If the file doesn't exist, then stop immediately.
    '---------------------------------------------------------------------
    If FileExists(strFileName) = False Then Exit Function
    '---------------------------------------------------------------------
    ' Set up an error handler that will exit the function immediately on
    ' any error.
    '---------------------------------------------------------------------
    On Error GoTo OpenFile_Err
    '---------------------------------------------------------------------
    ' Open the file the way the user requested.
    '
    ' NOTE
    '      Read-Only files will be shared, but Read/Write files will be
    '      Writelocked to prevent other users from opening the file and
    '      making changes which will be lost when this file is closed.
    '---------------------------------------------------------------------
    If blnReadOnly Then
        Open strFileName For Binary Access Read Shared As mintFileHandle
    Else
        Open strFileName For Binary Access Read Write Lock Write As mintFileHandle
    End If
    '---------------------------------------------------------------------
    ' Since the file was sucessfully opened, then update the class-level
    ' variables. Also notify the caller that OpenFile succeded.
    '---------------------------------------------------------------------
    mstrFileName = strFileName
    mblnReadOnly = blnReadOnly
    mblnFileOpen = True
    OpenFile = True
    Exit Function
'-------------------------------------------------------------------------
' If an error occurs, then notify the user of the error number and message
' and exit the function.
'-------------------------------------------------------------------------
OpenFile_Err:
    MsgBox "Error " & Err.Number & " - " & Err.Description, vbCritical
    Exit Function
End Function


Håber der er nogen der kan hjælpe.......
Avatar billede jespernaur Nybegynder
26. oktober 2002 - 08:38 #1
Der er 2 stk OpenFile rutiner, de eksisterer antagelig i hver sin form eller class ellers ville der være problemer med et dobbelt-defineret navn.

Den første OpenFile rutine viser dialogboksen og kalder den anden OpenFile for rent faktisk at åbne den fil, der blev angivet af brugeren.
Den bedste er antagelig, at du finder kaldet af den første OpenFile rutine og erstatter det med:

    clsFile.OpenFile("dit_filnavn", False)

Mvh
Jesper Naur
Avatar billede tubber Juniormester
26. oktober 2002 - 13:22 #2
Ok så langt så godt :O)

Så skal jeg bare have den rutine lavet lavet om til at indeholde et filnavn uden den opendialog......

Altså den første rutines værdi skal fastsættes manuelt og ikke med den opendialog......hvis jeg ikke kalder den første openfile så går der ged i det....

/Tubber
Avatar billede tubber Juniormester
26. oktober 2002 - 13:35 #3
Jeg kan godt maile min projectfil til dig hvis det er......

/Tubber
Avatar billede jespernaur Nybegynder
26. oktober 2002 - 13:37 #4
Nu må du være lidt mere præcis - hvad får du for en fejl når du kalder

  clsFile.OpenFile("dit_filnavn", False)
Avatar billede tubber Juniormester
26. oktober 2002 - 13:41 #5
Den siger jeg skal kalde openfile rutinen før den kan udføre den anden rutine som jeg har.

Den anden funker fint nok, hvis jeg bruger den der opendialog......

men prøver jeg at komme uden om den siger den jeg skal køre den openfile....
Avatar billede tubber Juniormester
26. oktober 2002 - 13:42 #6
Det er 2 classmoduler jeg bruger....

og så er der 10 linier kode i min form.....
Avatar billede tubber Juniormester
26. oktober 2002 - 13:46 #7
Option Explicit
#If Win32 Then
    Private Declare Function ShellAbout Lib "shell32.dll" Alias "ShellAboutA" _
        (ByVal hWndOwner As Long, ByVal lpszAppName As String, _
        ByVal lpszMoreInfo As String, ByVal hIcon As Long) As Integer
#Else
    Private Declare Sub ShellAbout Lib "shell.dll" (ByVal hWndOwner As Integer, _
        ByVal lpszAppName As String, ByVal lpszMoreInfo As String, _
        ByVal hIcon As Integer)
#End If
Private mclsDialog As New clsFileDialog
Dim mystring As String

Private Sub Command1_Click()
Dim strFilter As String
            strFilter = "Text Files (*.txt)|*.txt|INI Files (*.ini)|*.*"
            If mclsDialog.OpenFile(vntFilter:=strFilter) Then
                mystring = mclsDialog.File.Read
                MsgBox mystring
                mclsDialog.File.CloseFile
            End If

End Sub

Private Sub Form_Load()
Set mclsDialog.CommonDialogControl = dlg
    Move (Screen.Width - Width) / 2, (Screen.Height - Height) / 2
End Sub
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