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

    [vb6]usare variabili con GOTO


    Ciao a tutti,
    è possibile passare all'istruzione GOTO anzichè un'etichetta, una variabile contenente un'etichetta?

  2. #2
    Moderatore di Javascript L'avatar di ciro78
    Registrato dal
    Sep 2000
    residenza
    Napoli
    Messaggi
    8,514
    no ma tramite un select case dopo l'etichetta puoi gestire li le variabili oppure le gestisci prima

    codice:
    if variabile=valore 1 then
    goto etichetta1
    else
    goto etichetta2
    endif


    oppure

    codice:
    goto etichetta
    .....
    etichetta:
    select case variabile
    case is =.....
    .....
    case is =....
    ......
    end select

    dovrebbe funzionare
    Ciro Marotta - Programmatore JAVA - PHP
    Preferisco un fallimento alle mie condizioni che un successo alle condizioni altrui.


  3. #3
    Utente di HTML.it L'avatar di LMondi
    Registrato dal
    Sep 2004
    Messaggi
    1,291
    Non capisco a cosa possa servirti,
    così sembra che funzioni:
    codice:
    Private Sub Command1_Click()
    Dim strProva1 As String
    Dim strProva2 As String
    Dim Number
        Number = 1
     
    If Number = 1 Then GoTo strProva1 Else GoTo strProva2
    
    strProva1:
        MsgBox "Continuare ?"
    
    strProva2:
    
    End Sub
    LM

  4. #4
    Moderatore di Javascript L'avatar di ciro78
    Registrato dal
    Sep 2000
    residenza
    Napoli
    Messaggi
    8,514
    ci avevo provato lo giuro! ma mi dava errore
    Ciro Marotta - Programmatore JAVA - PHP
    Preferisco un fallimento alle mie condizioni che un successo alle condizioni altrui.


  5. #5
    Utente di HTML.it L'avatar di LMondi
    Registrato dal
    Sep 2004
    Messaggi
    1,291
    Non mi ero accorto che avevi risposto, evidentemente abbiamo postato insieme.
    Bhe, poco male, Ciao.
    LM

  6. #6
    Utente di HTML.it
    Registrato dal
    Nov 2004
    Messaggi
    28

    ciao ragazzi,
    ho fatto questa domanda sul goto perchè a mia volta da tempo sto tentando di trovare una soluzione ad una vecchia discussione che ho trovato su un forum (non ricordo se qui o su un altro sito) ed è la seguente:

    è possibile in vb6 richiamare sub o funzioni o pezzi di codice per riferimento proprio come nel linguaggio assembly?

    cioe ANZICHE FARE:

    if condizione=1 then procedura1
    if condizione=2 then procedura2
    if condizione=3 then procedura3
    .....
    .....
    if condizione=1000 then procedura10000
    .....
    .....
    dove procedura1 ecc. sono distinti pezzi di codice ad esempio delle subroutine,


    si può FARE semplicemente e più velocemente:


    procedurai ,dove i è il valore assunto da condizione?

    Io ci ho provato con le subroutine praticamente considerando le sub come un array ma senza risultato.
    Allora ho pensato alla vecchia istruzione goto fiducioso che vb6 mi avrebbe permesso di usare una variabile anziche un etichetta in modo tale che in luogo di una lunga sequenza di IF THEN come quella sopra, avrei potuto usare semplicemente:

    goto i, dove i è il valore della condizione ed utilizzando poi tanti pezzi di codice del tipo:


    1:
    ...
    codice
    ...
    2:
    ...
    codice
    ...
    3:
    ...
    codice
    ...
    ecc.



    Spero di essermi spiegato bene.
    Ciao


    sssimone.

  7. #7
    Utente di HTML.it L'avatar di LMondi
    Registrato dal
    Sep 2004
    Messaggi
    1,291
    Ciao sssimone,
    condivido la prassi da te intrappresa che, peraltro, uso anch'io in diverse occasioni (il così detto codice strutturato).
    Mi sono permesso di dire: "Non capisco a cosa possa servirti" perchè come hai accennato l'istruziona GoTo è, oserei dire, obsoleta. infatti da MSDN : "Nota - La presenza di troppe istruzioni GoTo può rendere difficile la lettura e il debug del codice. Quando possibile, è consigliabile utilizzare istruzioni di controllo strutturate (Do...Loop, For...Next, If...Then...Else, Select Case)."
    Pertanto per raggiungere lo scopo è meglio usare Select Case ed il comando Call per inviare alla subRoutine.
    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.