Visualizzazione dei risultati da 1 a 10 su 10
  1. #1

    [vb6] split da stringa ad array

    Ecco qua....ho un problemino sulla programmazzione di questo programma che dovrebbe codificare un messaggio in DEC 029 (creando delle schede perforate quelle vecchissime)Questo è il cybereninga di hj...se nonchè ho incontrato una sola difficoltà (dato che il vb6 nn è un linguaggio che conosco bene...ma abbastanza pratico!!!)
    Non riesco a "splittare" una stringa in un array..ecco l esempio pratico:

    dbDEC029 = (" /11-8-2/8-7/8-3/11-8-3/0-8-4/12/8-5/12-8-5/11-8-5/11-8-4/12-8-6/0-8-3/11/12-8-3/0-1/0/1/2/3/4/5/6/7/8/9/8-2/11-8-6/12-8-4/8-6/0-8-6/0-8-7/8-4/12-1/12-2/12-3/12-4/12-5/12-6/12-7/12-8/12-9/11-1/11-2/11-3/11-4/11-5/11-6/11-7/11-8/11-9/0-2/0-3/0-4/0-5/0-6/0-7/0-8/0-9/12-8-2/11-8-7/0-8-2/12-8-7/0-8-5")
    For i = 1 To 58
    dbDEC029Arr(i) = Split(dbDEC029, "/")
    Next i


    Mi dice typemismatch...come posso risolvere la situazione??gfrazie mille!!!

  2. #2

    Re: [vb6] split da stringa ad array

    Originariamente inviato da Guido8975
    Ecco qua....ho un problemino sulla programmazzione di questo programma che dovrebbe codificare un messaggio in DEC 029 (creando delle schede perforate quelle vecchissime)Questo è il cybereninga di hj...se nonchè ho incontrato una sola difficoltà (dato che il vb6 nn è un linguaggio che conosco bene...ma abbastanza pratico!!!)
    Non riesco a "splittare" una stringa in un array..ecco l esempio pratico:

    dbDEC029 = (" /11-8-2/8-7/8-3/11-8-3/0-8-4/12/8-5/12-8-5/11-8-5/11-8-4/12-8-6/0-8-3/11/12-8-3/0-1/0/1/2/3/4/5/6/7/8/9/8-2/11-8-6/12-8-4/8-6/0-8-6/0-8-7/8-4/12-1/12-2/12-3/12-4/12-5/12-6/12-7/12-8/12-9/11-1/11-2/11-3/11-4/11-5/11-6/11-7/11-8/11-9/0-2/0-3/0-4/0-5/0-6/0-7/0-8/0-9/12-8-2/11-8-7/0-8-2/12-8-7/0-8-5")
    For i = 1 To 58
    dbDEC029Arr(i) = Split(dbDEC029, "/")
    Next i

    Mi dice typemismatch...come posso risolvere la situazione??gfrazie mille!!!
    Apparte la prima parte del post (poco chiaro e superfluo) per il resto tutto ok:

    codice:
    Dim matrice()
    valori = (" /11-8-2/8-7/8-3/11-8-3/0-8-4/12/8-5/12-8-5/11-8-5/11-8-4/12-8-6/0-8-3/11/12-8-3/0-1/0/1/2/3/4/5/6/7/8/9/8-2/11-8-6/12-8-4/8-6/0-8-6/0-8-7/8-4/12-1/12-2/12-3/12-4/12-5/12-6/12-7/12-8/12-9/11-1/11-2/11-3/11-4/11-5/11-6/11-7/11-8/11-9/0-2/0-3/0-4/0-5/0-6/0-7/0-8/0-9/12-8-2/11-8-7/0-8-2/12-8-7/0-8-5")
    matrice = Split(valori, "/", -1, vbTextCompare)
    For i = 0 To UBound(matrice)
           MsgBox matrice(i)
    Next i
    Split si usa così, una matrice si popola così e da ultimo ho inserito un msgbox per farti capire come si estraggono i valori dall'array.

    Un consiglio, visto che sei alle prime armi: molti errori sono causati da piccole imprecisioni nelle dichiarazioni delle stesse variabili quindi cerca di inserire variabile che ti facciano capire cosa sono (ma per questo esistono i commenti) ma più semplici da scrivere, così risparmi tempo nello scriverle e nel controllarle..

    ciao

  3. #3
    A)grazie
    B)se nn comprendi la prima parte nn è colpa mia (studia)(consiglio)
    c)ho kiesto solo per saperlo dato che i linguaggi miei sn php,c,c++,pascal(anke se nn serve + a niente)

    Cmq grazie CIAOO!

  4. #4
    Peccato che dia lo stesso errore..non funonzia!!!
    Chi mi aiuta?

  5. #5
    Quello l'ho risolto però ho un altro problema...!!!

    Dim AppArr() As String


    For i = 1 To Len(CodTxt.Text)
    For j = 1 To 58
    If CodStr(i) = dbArr(j) Then AppArr = Split(dbDEC029Arr(i), "-")
    For h = 1 To 3
    Qui mi da script out of range Text2.Text = Text2.text AppArr(h)
    Next h
    PErchè??
    Cosìè che nn va?

  6. #6
    Prova un pò così:
    Spero di non aver sbagliato..anche io sono alle prime armi.
    Fammi sapere
    Ciao
    codice:
        
        Private Sub SplipArray()
            Dim dbDEC029 As String
            Dim dbDEC029Array() As String
            Dim i As Integer
    
            dbDEC029 = (" /11-8-2/8-7/8-3/11-8-3/0-8-4/12/8-5/12-8-5/11-8-5/11-8-4/12-8-6/0-8-3/11/12-8-3/0-1/0/1/2/3/4/5/6/7/8/9/8-2/11-8-6/12-8-4/8-6/0-8-6/0-8-7/8-4/12-1/12-2/12-3/12-4/12-5/12-6/12-7/12-8/12-9/11-1/11-2/11-3/11-4/11-5/11-6/11-7/11-8/11-9/0-2/0-3/0-4/0-5/0-6/0-7/0-8/0-9/12-8-2/11-8-7/0-8-2/12-8-7/0-8-5")
            For i = 1 To 58
                dbDEC029Array = Split(dbDEC029, "/")
                MsgBox(dbDEC029Array(i))
            Next
        End Sub
    in pratica non assegno il valore al singolo elemento dell'array(i) benì all'array stesso.
    A Lucca si mangia,si beve e si cucca.

  7. #7
    a proposito cos'è il DEC029?
    ciao ancora
    A Lucca si mangia,si beve e si cucca.

  8. #8
    Utente di HTML.it L'avatar di LMondi
    Registrato dal
    Sep 2004
    Messaggi
    1,291
    Quarda che il codice funziona, era solo una questione di dichiarazione di variabili:
    codice:
        Dim Valori As String
        Dim matrice() As String
        Dim i
        Valori = (" /11-8-2/8-7/8-3/11-8-3/0-8-4/12/8-5/12-8-5/11-8-5/11-8-4/12-8-6/0-8-3/11/12-8-3/0-1/0/1/2/3/4/5/6/7/8/9/8-2/11-8-6/12-8-4/8-6/0-8-6/0-8-7/8-4/12-1/12-2/12-3/12-4/12-5/12-6/12-7/12-8/12-9/11-1/11-2/11-3/11-4/11-5/11-6/11-7/11-8/11-9/0-2/0-3/0-4/0-5/0-6/0-7/0-8/0-9/12-8-2/11-8-7/0-8-2/12-8-7/0-8-5")
        matrice = Split(Valori, "/", -1, vbTextCompare)
        For i = 0 To UBound(matrice)
               MsgBox matrice(i)
        Next i
    LM

  9. #9
    Originariamente inviato da giacomocinzia
    a proposito cos'è il DEC029?
    ciao ancora
    SI GRAZIE funge!
    Il DEC 029 è una codifica...le vecchie scehde perforate usavano questo sistema(è un cyberenigma di hj)..

  10. #10
    In effetti forse Guido è stato tratto in inganno dal mio codice, in cui dichiaravo solo una variabile..ma per il resto era corretto..

    Per quanto riguarda il consiglio sulle variabile, voleva essere solo un consiglio e non volevo insinuare o mettere in dubbio la tua preparazione informatica..cmq ciao

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.