Oppure

Loading
25/07/06 16:02
acid sIMo-88
ciao ragazzi mi sono appena iscritto qui a pierotofy.it e devo dire che è veramente un sito interessante....detto questo vi pongo il mio problema da nuovo aspirante programmatore: non riesco a sviluppare 1 programma che simuli l'estrazione del superenalotto...è 1 pò che ci provo ma mi sfugge qualcosa che mi blocca.
dopo aver creato l'array di 6 label, ciò che son riuscito a fare di + vicino ad un codice è stato:

Public indice As Integer
Public estratti As String
Dim numeri(5) As Integer
Private Sub cmdesci_Click()
End
End Sub
Private Sub Cmdestrazione_Click()
For indice = 0 To 5
Select Case Int(Rnd() * 91) = "estratti.text"
estratti.Text = numeri(0).Caption
Next
End Sub

:d c'è qualcuno di voi che mi potrebbe dare 1 dritta x favore? grazie mille in anticipo
Simone
aaa
26/07/06 17:05
pierotofy
Postato originariamente da acid sIMo-88:

Public indice As Integer
Public estratti As String
Dim numeri(5) As Integer
Private Sub cmdesci_Click()
End
End Sub
Private Sub Cmdestrazione_Click()
For indice = 0 To 5
Select Case Int(Rnd() * 91) = "estratti.text"
estratti.Text = numeri(0).Caption
Next
End Sub


Qui vedo un po' di confusione :asd: ma non preoccuparti è normale agli inizi.

Intanto bisogna preoccuparsi delle label che andranno a contenere i risultati della sub routine: per questo genere di applicazione è praticamente d'obbligo per una maggior chiarezza costruire una matrice di label che si ottiene posizionando una label sul form, assegnando sul campo name il valore "lblnumbers", cliccando successivamente con il sinistro del mouse su di essa e premendo in sequenza CTRL+C (copia) e CTRL+V (incolla). Verrà fuori un avviso con cui Visual Basic chiederà se creare la matrice. A questa domanda bisogna rispondere si. Ripetere questo passaggio fino ad avere sul form tutte le label necessarie (5).

Ora passiamo al codice:

For indice = 0 To 5
Select Case Int(Rnd() * 91) = "estratti.text"
estratti.Text = numeri(0).Caption
Next


La prima riga è corretta: ci serve un ciclo che ripeta la sequenza di istruzioni contenuta al suo interno per 5 volte consecutive, incrementando un indice ad ogni iterazione.

La seconda e terza riga mi lasciano un po' di perplessità, infatti sarei curioso di sapere cosa volevi fargli fare con quel set di istruzioni :)

Select Case Int(Rnd() * 91) = "estratti.text"
estratti.Text = numeri(0).Caption


Prova a sostituirlo semplicemente con:
lblnumbers(indice) = Int(Rnd() * 91)


A questo punto abbiamo alcune variabili che rimangono inutilizzate, quindi elimina pure:

Public estratti As String
Dim numeri(5) As Integer



Facci sapere se così il problema viene risolto. Una volta risolto prova a fermarti due minuti ad esaminare il listato corretto a e confrontarlo con il tuo iniziale. E' il miglior modo per imparare a correggersi. ;)
Ultima modifica effettuata da pierotofy 26/07/06 17:08
Il mio blog: piero.dev
04/08/06 15:51
AcId-SiMo88
grazie mille per la tua disponibilità e scusami se t rispondo solo ora xche ho avuto problemi col router... complimentoni x questo sito e la nuova veste grafica...
aaa
04/10/06 9:47
girobai
se non vuoi che ad ogni avvio del programma si ripetano gli stessi numeri utilizza la funzione Randomize che inizializza il numero base della funzione Rnd
aaa