Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 20
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2004
    Messaggi
    1,627

    [VB] Script per estrazione dati

    Salve a tutti
    come consigliatomi dposto qui la mia richiesta.

    Premetto che non sò quale sia il linguaggio più adatto alla mia richiesta (VB, VB6.. .Net).

    Praticamente ho una cartella la quale contiene vari file .txt all'interno di ogni file è contenuto un codice (oltre che a dell'altro testo)posto a circa a metà docuemento.
    Preciso che tutti i file sono strutturati in maniera identica per quanto riguardano il numero di righe.

    Ora quello che volevo fare era creare uno script che automaticamente andasse a leggere sul file questo codice..e lo salvasse nel nome del file, e che fosse fatto per tutti i files contenuti della directory.

    Cosa consigliate??

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Puoi utilizzare sia VB6 che VB.NET ...

    Con il primo, usi la funzione Dir per ottenere l'elenco dei file che ti servono e con una banale Open ... Line Input ... leggi i dati (o anche con una Get # se la posizione del dato e' calcolabile a priori ...)
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2004
    Messaggi
    1,627
    capito, vista la mia insesperienza in campo VB hai qualche script che mgari fà al caso mio da conisgliarmi?

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    No ... non ho degli "script" ... (fra l'altro "script" non e' il termine adatto ... in VB6 si parla piu' propriamente di "spezzone di codice", magari di "funzione" oppure "classe", a seconda di come e' organizzato il codice che effettua una determinata operazione ...).

    Se dai un'occhiata a quelle istruzioni, e ci provi un po', vedrai che ci arrivi facilmente da solo ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  5. #5
    Utente di HTML.it
    Registrato dal
    Nov 2004
    Messaggi
    1,627
    rieccomi....ho letto e sono arrivato fino a qui...ma ora non sò proprio da che parte girarmi posto quello che ho fatto

    Dim txt As String
    Dim fileNum As Integer
    Dim fname As String
    Dim customer As String, addr As String, city As String
    fname = "data.dat"
    fileNumber% = Freefile
    fileNum% = Freefile()

    ' Apertura Files
    Open "C.\1.txt" For Input As fileNumber%

    ' Vado alla riga 10 e mi prelevo il contenuto
    For i% = 1 To 10
    %if i%=10
    'leggi la riga
    %Else
    Next i%
    %End If

    'Scrivo il valore ricavato alla riga 10 come nome del files (e qui non saprei come fare)

  6. #6
    Utente di HTML.it L'avatar di LMondi
    Registrato dal
    Sep 2004
    Messaggi
    1,291
    Ciao james81,
    guarda se così va bene:
    codice:
    Option Explicit
    Dim fname As String
    ' Acquisisce il contenuto di una riga del file aperto:
    Private Sub Command1_Click()
        
        Dim FileName As String
        Dim FileNum As Integer
        Dim x As Integer
        Dim NextLine As String
        Dim LinesFromFile As String
        
        FileName = App.Path & "\ProvaXY" & ".txt"
        FileNum = FreeFile()
        
        Open FileName For Input As #FileNum
            x = 0
            Do Until EOF(FileNum)
                Line Input #FileNum, NextLine
                ' Acquisisce il contenuto della 5° riga del file:
                If x = 4 Then fname = NextLine
                x = (x + 1)
                ' Verifica la lettura del file:
                LinesFromFile = LinesFromFile + NextLine + Chr(13) + Chr(10)
            Loop
        Close #FileNum
    End Sub
    Per brevità ho fatto un file più piccolo, di sole 6 battute ed ho prelevato il contenuto della 5° riga.
    LM

  7. #7
    Utente di HTML.it
    Registrato dal
    Nov 2004
    Messaggi
    1,627
    grazie mille!!!

    solo non capisco come è impostato il ciclo...o come funziona..me lo puoi spiegare?...gracies!

  8. #8
    Utente di HTML.it L'avatar di LMondi
    Registrato dal
    Sep 2004
    Messaggi
    1,291
    solo non capisco come è impostato il ciclo...o come funziona..me lo puoi spiegare?...
    Certo sarebbe più indicato oregon, il quale peraltro ti ha fornito la soluzione al problema; comunque spero che le seguenti righe siano sufficienti:

    codice:
    Open FileName For Input As #FileNum
            x = 0
            ' Prosegue il ciclo (legge il file una riga alla volta) sino
            ' alla fine del file (EOF) aperto in modalità Input sequenziale :
            Do Until EOF(FileNum)
                Line Input #FileNum, NextLine
                ' Acquisisce il contenuto della 5° riga del file:
                If x = 4 Then fname = NextLine
                x = (x + 1)
                ' L'istruzione Line Input #, pur riconoscendo la sequenza ritorno
                ' a capo-nuova riga come fine della riga, non la include durante
                ' la lettura della riga nella variabile.
                ' Se desideri mantenere la sequenza, è necessario aggiungerla
                ' tramite il codice vbCrLf [od anche Chr(13) & Chr(10)].
                LinesFromFile = LinesFromFile & NextLine & vbCrLf
            Loop
        Close #FileNum
    Ciao, e buon lavoro !
    LM

  9. #9
    Utente di HTML.it
    Registrato dal
    Nov 2004
    Messaggi
    1,627
    grazie mille funziona tutto l'ho adattato e và!

    un'ultima cosa:
    questo scipt vorrei che fosse eseguito in maniera automatica su una cartella che contiene x file (possono essere da 5 a infiniti)...come si può fare una cosa del genere?

  10. #10
    Utente di HTML.it L'avatar di LMondi
    Registrato dal
    Sep 2004
    Messaggi
    1,291
    Ciao james81,
    questo scipt vorrei che fosse eseguito in maniera automatica su una cartella che contiene x file (possono essere da 5 a infiniti)...
    Fai attenzione all'uso dei termini, ti è già stato spiegato che il codice di cui trattasi non è uno "script"; poi devi spiegare bene cosa intendi "...fosse eseguito in maniera automatica..."
    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.