Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2006
    Messaggi
    4

    separatori di campo in VBA

    Buon giorno a tutti, premetto di non essere un esperto in forum perciò spero mi perdoniate eventuali errori, cmp vengo al dunque.
    Io ho un problema di questo tipo:
    ho a disposizione un file contene una serie di righe cosi strutturate Es:
    A 2.5
    B 5.1
    C 7.2
    Da questo file devo prelevare i valori A B C come stringa e gli altri come numero, il problema è che non essendoci separatore di campo tipo una virgola o altro, il programma non riconosce i due campi separati...
    Spero di essere stato chiaro e che qualcuno mi possa aiutare.
    Grazie

  2. #2

    Re: separatori di campo in VBA

    Originariamente inviato da FFili
    Buon giorno a tutti, premetto di non essere un esperto in forum perciò spero mi perdoniate eventuali errori, cmp vengo al dunque.
    Io ho un problema di questo tipo:
    ho a disposizione un file contene una serie di righe cosi strutturate Es:
    A 2.5
    B 5.1
    C 7.2
    Da questo file devo prelevare i valori A B C come stringa e gli altri come numero, il problema è che non essendoci separatore di campo tipo una virgola o altro, il programma non riconosce i due campi separati...
    Spero di essere stato chiaro e che qualcuno mi possa aiutare.
    Grazie
    Ci sono due possibilita':
    1) I dati sono separati da qualcosa, anche uno SPAZIO va' bene !
    2) I dati sono a lunghezza fissa;

    L'esempio che hai postato va' bene per ENTRAMBI i criteri !

    Bisogna vedere pero' se il file EFFETTIVO soddisfa almeno uno dei due criteri, dovresti postare qualche riga REALE per vedere cosa si puo' fare... nascondendo i dati riservati, ma non alterando la struttura degli stessi !

    Ciao !
    IceCube_HT (VB6 fan Club)

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2006
    Messaggi
    4
    Si i dati sono separati da uno spazio il problema e che se dimensiono la prima colonna come una string e la seconda con un double (perche i numeri sono un po differenti da quelli che ho riportato per semplicità qui..) mi unisce lettere e numeri.
    Mentre io devo avere due variabili distinte per fare un confronto e eventualmente un calcolo.
    Private Sub CommandButton1_Click()
    Dim comando As String, go As String
    Dim misura As Integer
    Dim tot As Integer

    Open "C:\FileDriferim\ComandiRobot.txt" For Input As #1
    tot = 0
    Do While Not EOF(1)
    Input #1, comando, misura
    If comando = "A" Then (confronto il valore con la prima cononna)
    tot = misura + tot (dove misura è il numero della seconda colonna)
    .
    .
    .


    .... un po' confuso... vero

  4. #4
    Originariamente inviato da FFili
    Si i dati sono separati da uno spazio il problema e che se dimensiono la prima colonna come una string e la seconda con un double (perche i numeri sono un po differenti da quelli che ho riportato per semplicità qui..) mi unisce lettere e numeri.
    Mentre io devo avere due variabili distinte per fare un confronto e eventualmente un calcolo.
    Private Sub CommandButton1_Click()
    Dim comando As String, go As String
    Dim misura As Integer
    Dim tot As Integer

    Open "C:\FileDriferim\ComandiRobot.txt" For Input As #1
    tot = 0
    Do While Not EOF(1)
    Input #1, comando, misura
    If comando = "A" Then (confronto il valore con la prima cononna)
    tot = misura + tot (dove misura è il numero della seconda colonna)
    .... un po' confuso... vero
    Allora provo a ripeterlo:

    SE posti un esempio CONCRETO dei tuoi dati, eliminando eventuali segreti di Stato,
    ALLORA forse qualcuno puo' aiutarti...
    ALTRIMENTI se continui a "esemplificare" a modo tuo...

    Mi spiego meglio: se la riga e':
    A 1
    si risolve in un modo, se e':
    ABC 1.53
    si risolve in un altro, se e':
    ABC1,53
    si risolve in un altro ancora, se e':
    ABC 1,535659
    in un ulteriore modo....

    ....devo continuare ?...

    Se sai SOLO TU come e' scritta la riga dati, SOLO TU puoi scrivere la routine di lettura, no ?
    IceCube_HT (VB6 fan Club)

  5. #5
    Utente di HTML.it
    Registrato dal
    Nov 2006
    Messaggi
    4
    ok capito

    l'esempio è :

    AO 13.0
    BR (campo vuoto)
    AO 12.0
    BR (campo vuoto)
    AO 20.0

    Io praticamente devo leggere il file e sommare i numeri in corrispondena a tutti gli AO

  6. #6
    Originariamente inviato da FFili
    ok capito

    l'esempio è :

    AO 13.0
    BR (campo vuoto)
    AO 12.0
    BR (campo vuoto)
    AO 20.0

    Io praticamente devo leggere il file e sommare i numeri in corrispondena a tutti gli AO
    1) leggi una riga INTERA come testo con Line Input #1, r

    2) dal tuo esempio il comando sembra essere sempre di 2 caratteri, quindi:
    comando = Left(r, 2)
    misura = Val(Mid(r, 3))
    IceCube_HT (VB6 fan Club)

  7. #7
    Utente di HTML.it
    Registrato dal
    Nov 2006
    Messaggi
    4
    grazie tante troppo gentile provo subito!!!!

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.