Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2005
    Messaggi
    89

    Ridefinire una stringa di dati in sottostringhe

    Ho il seguente problema :
    Ricevo in input una stringa di dati con 16384 caratteri contigui(ovvero non separati da virgole, spazi,ecc...).
    Questa stringa deve essere suddivisa in un centinaio di campi;
    la prima soluzione, molto onerosa, č quella di andarmi a prendere
    le varie stringhe parziali e memorizzarle in variabili di comodo
    (ovvero strX1 = mid(StringaOrigine,40,5), ecc...).

    Vorrei sapere se qualcuno di voi ha giā dovuto affrontare il problema
    e se lo ha risolto in qualche altro modo pių efficace e rapido.

    Grazie

  2. #2
    Utente di HTML.it L'avatar di MMarzia
    Registrato dal
    Mar 2001
    Messaggi
    1,781
    linguaggio e versione vanno specificati nel titolo, leggi il regolamento
    io sono festosamente cicciottello :: e. cartman

    t'amo senza sapere come, nč quando nč da dove,
    t'amo direttamente senza problemi nč orgoglio:
    cosė ti amo perchč non so amare altrimenti

  3. #3
    Utente di HTML.it L'avatar di yyzyyz
    Registrato dal
    Oct 2001
    Messaggi
    1,653
    allora :
    1) tu dici un 100 di campi, ma intendi campi uguali (kesso', ogni campo da 50 caratteri) ?
    2) dove vanno messi questi campi ? textbox, combo, database ecc.ecc...


  4. #4
    Utente di HTML.it
    Registrato dal
    Feb 2005
    Messaggi
    89

    VB6 : Ridefinire una stringa di dati in sottostringhe

    1) I campi non sono uguali come lunghezza, ovvero posso avere una stringa di 10, una di 20, una di 5, ecc...Potrei avere anche dei numerici ma, per il momento mi accontenterei di riuscire a risolverlo con delle stringhe
    2) I campi vanno messi in variabili di tipo stringa

  5. #5
    Utente di HTML.it L'avatar di Brainjar
    Registrato dal
    Nov 2004
    Messaggi
    1,162
    In base a quale criterio devi ripartire la stringa originale ?
    Hai un carattere specifico che funge da separatore ?

    Senza stabilire questi punti, non č che si va molto lontano.

    Ciao,
    Ciao, Brainjar

  6. #6
    Utente di HTML.it
    Registrato dal
    Feb 2005
    Messaggi
    89
    Purtroppo non ho un carattere di separazione (Altrimenti avrei utilizzato uno split e mi sarei creato un array).
    La stringa originale deve essere ripartita sempre allo stesso modo
    ovvero
    - Campo1 : primi 10 caratteri
    - Campo2 : da 11 a 20
    - Campo3 : da 21 a 24
    - ...

    Ho provato ad definirmi un tipo dati (Type) ma non so come muoverci
    in 1 colpo solo tutta la stringa originale dentro (Ho fatto delle prove con CopyMemory ma mi riempie i campi di schifezze)

  7. #7
    Utente di HTML.it L'avatar di Brainjar
    Registrato dal
    Nov 2004
    Messaggi
    1,162
    Se usi un Type, questa struttura č utilizzata per leggere e scrivere
    in file Random (Record a lunghezza fissa) ed altri (Binary).

    Un workaround, non molto elegante ma funzionale, consiste nello
    scrivere su un file temporaneo la stringa, e poi rileggerla in una
    struttura. Eccoti un esempio :

    codice:
    Option Explicit
    Private Type MioTipo
        Stringa1 As String * 10
        Stringa2 As String * 20
        Stringa3 As String * 30
        Stringa4 As String * 10
        Stringa5 As String * 20
        Stringa6 As String * 30
    End Type
    
    
    Private Sub Command1_Click()
    Dim Stringona As String * 120
    Dim MiaVariabile As MioTipo
    Dim nFile As Integer
       nFile = FreeFile
       Stringona = "aaaaaaaaaabbbbbbbbbb" & _
                "ccccccccccdddddddddd" & _
                "eeeeeeeeeeffffffffff" & _
                "gggggggggghhhhhhhhhh" & _
                "iiiiiiiiiillllllllll" & _
                "kkkkkkkkkkmmmmmmmmmm"
       Open "c:\Temp\mioFile.dat" For Random As #nFile Len = Len(Stringona)
        Put #nFile, 1, Stringona
        Get #nFile, 1, MiaVariabile
        Close #nFile
    
    End Sub
    In MiaVariabile avrai le sottostringhe come le hai definite in
    MioTipo.

    Ho provato e funziona.

    Ciao,
    Ciao, Brainjar

  8. #8
    Utente di HTML.it
    Registrato dal
    Feb 2005
    Messaggi
    89
    Grazie Brainjar,
    Ho provato e funz. bene
    Sei stato molto gentile
    Ciao

  9. #9
    Utente di HTML.it L'avatar di cassano
    Registrato dal
    Aug 2004
    Messaggi
    3,002
    complimenti sono rimasto basito da questa soluzione ,ottima davvero.

  10. #10
    Utente di HTML.it L'avatar di Brainjar
    Registrato dal
    Nov 2004
    Messaggi
    1,162
    Grazie a tutti per i complimenti, non mi fate arrossire !

    Ciao,
    Ciao, Brainjar

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.