Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Visual Basic 6 - Superenalotto
Forum - Visual Basic 6 - Superenalotto

Avatar
acid sIMo-88 (Normal User)
Newbie


Messaggi: 1
Iscritto: 25/07/2006

Segnala al moderatore
Postato alle 18:02
Martedì, 25/07/2006
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

  1. Public indice As Integer
  2. Public estratti As String
  3. Dim numeri(5) As Integer
  4. Private Sub cmdesci_Click()
  5. End
  6. End Sub
  7. Private Sub Cmdestrazione_Click()
  8. For indice = 0 To 5
  9. Select Case Int(Rnd() * 91) = "estratti.text"
  10. estratti.Text = numeri(0).Caption
  11. Next
  12. End Sub

   :d  c'è qualcuno di voi che mi potrebbe dare 1 dritta x favore? grazie mille in anticipo
Simone

PM Quote
Avatar
pierotofy (Admin)
Guru^2


Messaggi: 6230
Iscritto: 04/12/2003

Segnala al moderatore
Postato alle 19:05
Mercoledì, 26/07/2006
Testo quotato

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:

Codice sorgente - presumibilmente VB.NET

  1. For indice = 0 To 5
  2. Select Case Int(Rnd() * 91) = "estratti.text"
  3. estratti.Text = numeri(0).Caption
  4. 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

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



Prova a sostituirlo semplicemente con:
Codice sorgente - presumibilmente Plain Text

  1. lblnumbers(indice) = Int(Rnd() * 91)



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

Codice sorgente - presumibilmente VB.NET

  1. Public estratti As String
  2. 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 il 26/07/2006 alle 19:08


Il mio blog: https://piero.dev
PM Quote
Avatar
AcId-SiMo88 (Normal User)
Newbie


Messaggi: 5
Iscritto: 04/08/2006

Segnala al moderatore
Postato alle 17:51
Venerdì, 04/08/2006
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...

PM Quote
Avatar
girobai (Normal User)
Newbie


Messaggi: 13
Iscritto: 04/10/2006

Segnala al moderatore
Postato alle 11:47
Mercoledì, 04/10/2006
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

PM Quote