Public Sub Button1_Click()
...
<tuo codice>
...
End
Public Sub Button2_Click()
...
<tuo codice>
...
End
I nomi Button1 e Button2 corrispondono ai nomi degli oggetti Button che hai posizionato nella Form.
Quando clikki su Button1, si scatenza l'evento Button1_Click(), e viene eseguito il codice residente al suo interno.
Stessa cosa per Button2, a cui è collegata la funzione-evento Button2_Click()
Se vuoi unire in un'unica funzione-evento il click dei due pulsanti, devi impostare la proprietà Group con lo stesso nome (es. "MyButton"), e creare una funzione in questo modo:
Public Sub MyButton_Click()
...
<tuo codice>
...
End
E' ovvio che al suo interno, a questo punto non sai chi ha scatenato l'evento, ovvero se Button1 o Button2. In questo caso ti viene d'aiuto la keyword LAST, che ti restituisce l'oggetto che ha scatenato l'evento, quindi:
Public Sub MyButton_Click()
..Dim btn As Button
If (btn = Button1) Then
<tuo codice per il pulsante 1>
Else
<tuo codice per il pulsante 2>
EndIf
...
End
Public sub button_click() ' button che se cliccato controlla il true o false dei due radiobutton
If radiobutton1.value = true then start1
else if radiobutton2.value = true then start2
end if
public sub start1() ' sub da me dichiarata ma non presente sotto forma di bottone o quant'altro ...
textlabel1.text = " bottone 1"
return
end
public sub start2() ' sub da me dichiarata ma non presente sotto forma di bottone o quant'altro ...
textlabel1.text =" bottone 2"
return
end
Questa parte qui:
If radiobutton1.value = true then start1
else if radiobutton2.value = true then start2
end if
io la renderei così:
If radiobutton1.value = True Then start1
If radiobutton2.value = True Then start2
o così:
If radiobutton1.value = True Then
start1
Else
start2
Endif
I "Return", poi, nelle sub-routine chiamate ritengo siano inutili, dato che tu non intendi ritornare alcun valore, e che il programma uscirà da solo da quelle sub-routine (infatti Milio li aveva eliminati nel suo esempio).
Sul GOTO, oltre alla spiegazione dell'ottimo md9327 puoi dare anche uno sguardo a questo piccolo pro-memoria nella nostra WIKI:
http://www.gambas-it.org/wiki/index.php/GOTO
ciao vuott prova a scrivere pari pari queste istruzioni e vedrai degli errori ... mettici una form con due radiobutton e un button clic ...
Ciao distuning,
ho fatto la prova come mi hai proposto ponendo quegli oggetti e copiando pari pari le istruzioni nel tuo messaggio.
Ebbene, il primo errore che emerge è: Unknown identifier: start1. Questo errore viene rilevato, poiché hai dimenticato :violent: di porre l'istruzione di chiusura della routine: End. Dimenticando l'End di chiusura, l'intera sub-routine immediatamente successiva, e cioè "Public Sub start1()" entra a far parte della routine principale chiamante: Public Sub button_click().
Poi, ponendo l'End finale, viene rilevato un altro errore: "ELSE without If", poiché tu hai chiuso la riga dell'IF: If radiobutton1.value = True Then start1, e hai posto l'Else immediatamente dopo.
Come ti avevo già scritto, io quelle tue righe le scriverei così:
Public Sub button_click() ' button che se cliccato controlla il true o false dei due radiobutton
If radiobutton1.value = True Then
start1()
Else
start2()
Endif
End
Public Sub start1() ' sub da me dichiarata ma non presente sotto forma di bottone o quant'altro ...
textlabel1.text = " bottone 1"
End
Public Sub start2() ' sub da me dichiarata ma non presente sotto forma di bottone o quant'altro ...
textlabel1.text = " bottone 2"
End
Ora fai tu la prova :devil: e vedi se sorgono ancora quegli errori. ;D
:ciao: