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

    [VB6] Problema con " Split() "

    Salve raga, finalmente dopo 20 anni di vita, approdo anche io nella programmazione, la quale mi ha sempre attirato.

    Un mio carissimo amico, molto esperto di linguaggi di programmazione, mi ha consigliato di iniziare con Visual Basic, non il .net, ma quello normale.

    Per imparare questo linguaggio, ho iniziato seguendo questa guida come base, perchè ho visto che è quella più diretta, semplice ed efficace:

    http://www.mrwebmaster.it/visual-bas...sual-basic_15/

    Ovviamente la costeggio con altre guide più famose, come quella di html.it e altre.

    Seguendo la guida sopracitata però mi son bloccato in un punto, finora riesco a fare tutto, ho compreso le variabili e le costanti, poi i tipi di stringa, integer, string, etc etc, ho capito i vari comandi di iterazione tipo if, elseif, for-to next etc etc.

    Ho già sviluppato anche qualche elementarissimo software, ma con grande soddisfazoine.

    Ora sono ai vari comandi per modificare una stringa, per esempio il Replace, lo split etc.
    Allora, il Replace l'ho capito, è facile, ma lo split no, per esempio questo codice:

    Private Sub Form_Load()
    i = 0
    stringa = "Luca#Ruggiero#Napoli"
    s = Split(stringa, "#")
    For i = 0 To UBound(s)
    lblSplit.Caption = lblSplit.Caption & s(i) & vbCrLf
    Next
    End Sub

    La guida dice anche che:

    Split(stringa, carattere di riferimento)


    Cioè praticamente qui ho la stringa " Luca#Ruggiero#Napoli ", e il cancelletto mi aiuta per splittare, ma non ho capito il senso del codice,

    Ovvero allora, all'inizio diamo i = 0 ( e non sò perchè ), e stringa = etcetc, quindi diamo alla parola stringa il valore "Luca#Ruggiero#Napoli"
    Poi dice s = Split(stringa, "#"), e questo me lo dovete un pò interpretare.
    Poi dice For i = 0 To UBound(s) Cosa significa, non sò cosa sia l'UBound
    e infine lblSplit.Caption = lblSplit.Caption & s(i) & vbCrLf, se mi potete esplicare i passaggi ve ne sarei grato

    Grazie a tutti.
    :P

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Come ti dicevo in

    http://www.p2pforum.it/forum/showthr...=1#post3016129

    basta conoscere ed utilizzare un vettore di stringhe (un array di stringhe).

    Cosi' facendo, capirai la funzione della variabile i (indice del vettore) e il fatto che ogni elemento del vettore conterra' una delle parole tra i caratteri # e che il numero complessivo di parole sara' determinato tramite la UBound
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    Utente di HTML.it L'avatar di Mabi
    Registrato dal
    May 2002
    Messaggi
    1,245
    codice:
    i = 0
    Viene impostato il valore iniziale di i per "rimediare" alla mancata dichiarazione della variabile assegnandogli un valore numerico.
    Sarebbe stato comunque più corretto dichiarala.

    codice:
    stringa = "Luca#Ruggiero#Napoli"
    Viene impostato il valore iniziale della stringa.

    codice:
    s = Split(stringa, "#")
    La funzione Split genera un array di variabili di tipo stringa divise in questo caso dal carattere "#".

    In seguito c'è un ciclo che va ripetuto per il numero di variabili create dalla funzione Split. In questo caso sono 3 e quindi si potrebbe sostituire la funzione UBound() con il valore 2 visto che si parte da 0.
    Per rendere il codice più dinamico però lo si rende adatto a tutte le occasioni e quindi a qualsiasi stringa. In questo caso non è prevedibile il numero d'elementi dell'array e quindi si usa la funzione UBound per determinarlo.
    Il ciclo è usato per concatenare la Caption della label in cui sarà inserito il risultato della funzione Split().

    Ciao
    ... e non usare while wend è una sintassi deprecata

  4. #4
    Si scusami oregon è che ho letto dopo su p2pforum e ho fatto la domanda anche qui.
    Però cavolo, in quella guida, non spiega molto bene, cercherò di seguira quella di html.it che è più complicata ma più corretta.
    Grazie comunque anche a Mabi per avermi esplicato il contenuto.
    :P

  5. #5
    Utente di HTML.it L'avatar di gibra
    Registrato dal
    Apr 2008
    residenza
    Italy
    Messaggi
    4,244

    Re: [VB6] Problema con " Split() "

    Originariamente inviato da eltura
    codice:
    Private Sub Form_Load()
        i = 0
        stringa = "Luca#Ruggiero#Napoli"
        s = Split(stringa, "#")
        For i = 0 To UBound(s)
            lblSplit.Caption = lblSplit.Caption & s(i) & vbCrLf
        Next
    End Sub
    Mancano tutte le dichiarazioni delle variabili (magari sono da un'altra parte?).

    In ogni caso, oltre a quello che ti ha suggerito Antonio, verifica che l'ambiente di progettazione VB6.0 sia impostato in modo corretto.

    Vai nel menu Strumenti - Opzioni - scheda Editor
    e attiva la casella:
    Dichiarazione di variabili obbligatoria

    Così eviterai molti mal di testa causati da errori che non sai da cosa dipendono.

    Inoltre, io nella scheda Generale -> Intercettazione degli errori
    attivo sempre l'opzione:
    Interrompi ad ogni errore non gestito

    Altri mal di testa evitati...

    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.