Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
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:
Codice sorgente - presumibilmente VB.NET
Public indice AsInteger
Public estratti AsString
Dim numeri(5)AsInteger
PrivateSub cmdesci_Click()
End
EndSub
PrivateSub Cmdestrazione_Click()
For indice = 0 To 5
SelectCaseInt(Rnd()*91)="estratti.text"
estratti.Text= numeri(0).Caption
Next
EndSub
c'è qualcuno di voi che mi potrebbe dare 1 dritta x favore? grazie mille in anticipo
Simone
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 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:
Codice sorgente - presumibilmente VB.NET
For indice = 0 To 5
SelectCaseInt(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
Codice sorgente - presumibilmente Visual Basic 6
Select Case Int(Rnd() * 91) = "estratti.text"
estratti.Text = numeri(0).Caption
Prova a sostituirlo semplicemente con:
Codice sorgente - presumibilmente Plain Text
lblnumbers(indice) = Int(Rnd() * 91)
A questo punto abbiamo alcune variabili che rimangono inutilizzate, quindi elimina pure:
Codice sorgente - presumibilmente VB.NET
Public estratti AsString
Dim numeri(5)AsInteger
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 il 26/07/2006 alle 19:08
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...
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