![]()
Ciao a tutti,
è possibile passare all'istruzione GOTO anzichè un'etichetta, una variabile contenente un'etichetta?
![]()
Ciao a tutti,
è possibile passare all'istruzione GOTO anzichè un'etichetta, una variabile contenente un'etichetta?
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.
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
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.
Non mi ero accorto che avevi risposto, evidentemente abbiamo postato insieme.
Bhe, poco male, Ciao.
LM
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.
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