Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Moderatore di Javascript L'avatar di ciro78
    Registrato dal
    Sep 2000
    residenza
    Napoli
    Messaggi
    8,514

    [vb6] problema apri file

    Salve,uso la seguente procedura per aprire un file

    codice:
    'procedura per aprire il file
    Public Sub aprifile()
    On Error Resume Next
        Dim intDomINSP As Integer           'Variabile di MsgBox
        
      '  If FrmSP.boolVerifica10 = False And Ctr(FrmSP.Txt105SP.Text) > 0 Then   ' chiede di salvare o No
      '      intDomINSP = MsgBox("SP - Volete salvare il file ? Clic su OK per effettuare" & Chr(13) _
      '      & "l'operazione - su Annulla per aprire un nuovo file, senza salvare quello in uso.", vbExclamation + vbOKCancel, "Applicazioni Aziendali")
      '      If intDomINSP = 1 Then              'Pulsante OK
      '          Call SalvaSP   'Invia alla routine salva con nome
      '      End If
      '  End If
            
            Dim FileNum As Integer
            Dim FileTitle As String
            Dim FileName As String
            
    
    'Variabili per Aprire il file:
            
    With MDIForm1.CommonDialog1
            .CancelError = True             'Imposta CancelError su True
        On Error GoTo ErrHandler
            .Filter = "Discorsi interni (*.dsi)|*.dsi|Discorsi esterni (*.dse)|"
            .FilterIndex = 1
            .DefaultExt = "dsi"
            .Flags = cdlOFNNoChangeDir Or cdlOFNHideReadOnly Or cdlOFNFileMustExist Or cdlOFNNoReadOnlyReturn
            .DialogTitle = "Selezionare il file da aprire"
            .FileName = MDIForm1.CommonDialog1.FileName 'Imposta il Nome del file in base a quanto digitato nella prima pagina
            .InitDir = app.Path & "\save"
            .ShowOpen
    ErrHandler:
            If Err.Number = 32755 Then      'é stato scelto Annulla
                boolErrAnnSP2 = True
                Exit Sub
                Else: boolErrAnnSP2 = False
            End If
            
            FileName = .FileName
            FileTitle = .FileTitle
    
    'Visualizza nome e percorso del file in uso nella Barra di stato:
            MDIForm1.StatusBar1.Panels(1).Text = MDIForm1.CommonDialog1.FileTitle
            FileNum = FreeFile()
    
    'Esce se l'utente ha fatto clic su annulla
                If Len(FileName) = 0 Then
                    Exit Sub
                End If
        End With
        'apre il file
        estensione = Right(FileName, 3)
        Open FileName For Input As FileNum
        Select Case estensione
        Case Is = "dsi"
        Do While Not (EOF(FileNum) = True)  'Trova la fine del file
        For k = 0 To 9
        Input #FileNum, dati(k).campo1, dati(k).campo2, dati(k).campo3, dati(k).campo4, dati(k).campo5, dati(k).campo6
        Next k
        Call trovanumdiscorso
        frmstampa.Show
        savecode = True
        Loop 'Esce da DO
        Case Is = "dse"
        End Select
        Close #FileNum
    End Sub
    il seguente codice funziona ma non benissimo.

    Mediante l'applicazione salvo due file.
    Il primo viene aperto normalmente mentre nel secondo caso mi dice

    codice:
    variabile oggetto o variabile del bocco width non impostata
    l'errore è in grassetto nel codice.successivamente insieme all'errore mi dice :

    codice:
    input oltre la fine del file
    da cosa può dipendere?
    ciao e grazie
    Ciro Marotta - Programmatore JAVA - PHP
    Preferisco un fallimento alle mie condizioni che un successo alle condizioni altrui.


  2. #2
    Moderatore di Javascript L'avatar di ciro78
    Registrato dal
    Sep 2000
    residenza
    Napoli
    Messaggi
    8,514
    up
    Ciro Marotta - Programmatore JAVA - PHP
    Preferisco un fallimento alle mie condizioni che un successo alle condizioni altrui.


  3. #3
    Utente di HTML.it L'avatar di LMondi
    Registrato dal
    Sep 2004
    Messaggi
    1,291
    Di norma l'errore "input oltre la fine del file" si verifica quando la routine non trova le variabili da caricare, o quando le variabili da caricare sono di tipo e/o di numero diverso da quelle salvate.
    Scusa ma dove hai dichiarato le variabili? Nel codice che hai postato non le vedo. Cosa sono "dati(k).campo1" ? Sono valori di un DB?
    Fammi sapere.
    LM

  4. #4
    Moderatore di Javascript L'avatar di ciro78
    Registrato dal
    Sep 2000
    residenza
    Napoli
    Messaggi
    8,514
    sono le variabili nelle quali inserisco i dati che prelevo dal file. Il fatto strano che con un file diverso(ho fatto due prove di salvataggio) me lo apre.

    le variabili filename è l'altra a cui si riferisce l'errore sono dichiarate.

    poi lo stesso errore no si ripete con l'altro file ma solo con questo
    Ciro Marotta - Programmatore JAVA - PHP
    Preferisco un fallimento alle mie condizioni che un successo alle condizioni altrui.


  5. #5
    Utente di HTML.it L'avatar di LMondi
    Registrato dal
    Sep 2004
    Messaggi
    1,291
    Ciro, la routine per Aprire/Salvare i file sequenziali non è quella che stai usando. Le variabili devono essere dichiarate, tenendo conto della natura dei dati (stringa, valori numerici, ..)e devono essere uguali per numero e tipo in tutte e due le operazioni Apri e Salva (in modo speculare); nel caso contrario quando dai il comando Apri, ad esempio, verranno cercate in sequenza le variabili che hai salvato e se non sono trovate emergerà l'errore "input oltre la fine del file".
    Quindi dichiara prima le variabili in Salva (le potrai copiare tali e quali nella routine in Apri) ed assegna i valori: tipo dblSPA1 = FrmPippo.Txt1SP.Text (per Apri FrmPippo.Txt1SP.Text = dblSPA1)e solo dopo scrivi:
    Open FileName For Output As #FileNum
    'Salva i valori del Frm:
    Write #FileNum, dblSPA1, ...,
    ..., ..., ..., ...
    Close #FileNum
    Ciao.
    LM

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.