Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2010
    Messaggi
    165

    [VB6] leggere file di testo da posizione a posizione

    PROBLEMATICA REALE!!!!!

    Ciao a tutti sono nuovo di HTML FORUM

    Vi spiego il mio problema(cosi magari mi potreste dare una mano :-)

    Ho un file di n righe. Questo file proviene da un tracciato record di un gestionale.
    Io dovrei leggere per esempio:

    da posizione 1 a posizione 9 (che corrisponderebbe al codice cliente)

    - caricare il risultato in una text chiamata CodiceCliente
    - scrivere in un altro file tale codice e settarlo secondo un altro tracciato record

    Tutto questo per eseguire l'esportazione di dati da un gestionale ad un altro e creare un file con il tracciato record del gestionale di destinazione.

    Ditemi se non sono stato troppo chiaro

    VI RINGRAZIO ANTICIPATAMENTE

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Sei stato chiaro ... ma cosa non sai fare ?

    Non sai leggere da un file di testo ? Prova a buttare giu' qualche riga di codice e mostracelo ....
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2008
    Messaggi
    758
    E, in particolare, che cosa non riesci a fare? Che tentativi hai fatto?

    Edit: Ops! Scusa oregon

  4. #4
    Utente di HTML.it
    Registrato dal
    Jan 2010
    Messaggi
    165
    grazie OREGON E GRUMPY



    Il file lo so aprire e chiudere e leggere stringa per stringa. Ma non so quale sia la funzione specifica per leggerlo da punto a punto.

    LA MIA RICHIESTA SAREBBE: CON QUALE FUNZIONE(parte di codice) posso leggere il file nei punti che decido io e farli visualizzare in text specifiche.

    il file l ho aperto cosi:

    Private Sub OpenClose_Click()
    'Open OpenFile.Text For Binary As #1
    'FileLength = FileLen(OpenFile.Text)

    If OpenClose.Caption = "Chiudi" Then
    Close #1
    Inpt.Enabled = False
    posizione.Text = ""
    OpenClose.Caption = "Apri"
    TotInp = 0
    TotInput.Caption = ""
    risultato.Text = ""
    Else
    'posizione.LoadFile OpenFile.Text
    Open OpenFile.Text For Binary As #1

    FileLength = FileLen(OpenFile.Text)
    'Open OpenFile.Text For Binary As #1
    posizione = fileleght
    Inpt.Enabled = True
    OpenClose.Caption = "Chiudi"
    End If

    End Sub


    GRAZIE ANCORA

  5. #5
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Intanto, se è un file di testo, non lo apri "For Binary" ma "For Input".

    Poi, ne leggi una intera riga (con la Line Input #) in una stringa e a questo punto prelevi la parte di stringa che ti interessa con le funzioni apposite (Left, Mid ...).

    Quindi passi alla prossima riga se il file non è finito.

    Se NON è un file di testo ma (come mi pare di capire ...) un file con tracciato record, allora lo puoi aprire con "For Random", indicandone la lunghezza del record.

    Poi crei una struttura (Type ...) con i campi del record e il loro tipo e li leggi con la Get #
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  6. #6
    Utente di HTML.it
    Registrato dal
    Jan 2010
    Messaggi
    165
    GIA

    GRAZIE ORA L HO MESSA A POSTO

    QUESTA E L'APERTURA:

    If OpenClose.Caption = "Chiudi" Then
    Close #1
    Inpt.Enabled = False
    posizione.Text = ""
    OpenClose.Caption = "Apri"
    TotInp = 0
    TotInput.Caption = ""
    risultato.Text = ""
    Else
    posizione.LoadFile OpenFile.Text
    Open OpenFile.Text For Input As #1
    Inpt.Enabled = True
    OpenClose.Caption = "Chiudi"
    End If

    COSI LEGGO UNA STRINGA:

    Dim Prendi As String
    Dim C1 As Integer
    If Tutto.Value = 0 Then
    For C1 = 1 To NumRighe
    If Linea.Value Then Line Input #1, Prendi Else Input #1, Prendi
    risultato.Text = risultato.Text & Prendi & vbCrLf
    TotInp = TotInp + 1
    Next C1
    Else
    Do Until EOF(1)
    If Linea.Value Then Line Input #1, Prendi Else Input #1, Prendi
    risultato.Text = risultato.Text & Prendi & vbCrLf
    TotInp = TotInp + 1
    Loop
    End If
    TotInput.Caption = "Input eseguiti: " & TotInp
    If EOF(1) Then
    TotInput.Caption = "Input eseguiti: " & TotInp & " [Il file è finito]"
    Inpt.Enabled = False
    End If

    SCUSAMI MA NON SONO MOLTO PRATICO DI VB
    PRATICAMENTE DI PRECISO COSA DOVREI FARE???? IL MID DI RISULTATO.TEXT??

    GRAZIE ANCORA!!!!!!!

  7. #7
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Veramente non si capisce nulla da quel codice se non lo posti tra i tag CODE nel forum.

    In ogni caso, se tu l'hai eseguito e hai letto le informazioni che ci sono nel file, usa la Mid per trovare la parte che cerchi ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  8. #8
    Utente di HTML.it
    Registrato dal
    Jan 2010
    Messaggi
    165
    GRAZIE GRAZIE GRAZIE!!!! PROBLEMA RISOLTO CON IL "MID"

    tutto merito tuo!!!!!


    Ciao ciao

  9. #9
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Originariamente inviato da gioviskius
    GRAZIE GRAZIE GRAZIE!!!! PROBLEMA RISOLTO CON IL "MID"

    tutto merito tuo!!!!!


    Ciao ciao

    No MP tecnici (non rispondo nemmeno!), usa il forum.

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.