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 - Problema su procedure e parametri
Forum - Visual Basic 6 - Problema su procedure e parametri

Avatar
carmine (Member)
Pro


Messaggi: 168
Iscritto: 20/04/2010

Segnala al moderatore
Postato alle 16:21
Martedì, 01/02/2011
salve ragazzi ho una procedura nel quale genero numeri random casualmente senza che essi si ripetano.
Inoltre essa la rikiamo in un'altra procedura poiche la devo richiamare più volte con parametri diversi,..
il problema è che quando la rikiamo più volte essa verifica anke per i numeri gia usciti nella precedente chiamata...mi spiego meglio...sto sviluppando una tombola, e genero numeri senza ripetizioni sia per l'estrazione che per le cartelle,
(ho 3  cartelle) se genero per la prima cartella, tuttobene, quando genero la seconda o il tabellone, la procedura mi controlla che nn escano anke i numeri usciti nelle cartelle gia generate!! spero di essermi spiegato!  comunque ekko il codice:

la prima mi serve per vedere quando attuare la generazione delle cartelle e quando per il tabellone, cioè quando fare il ciclo per generarli tutti insieme e quindo estrarre uno alla volta

Codice sorgente - presumibilmente VB.NET

  1. ' procedura per chiamare cartelle o tombola
  2. Sub mat(ByVal matrice, ByVal n As Long, ByVal m As Long, ByVal tabella As MSFlexGrid)
  3.  
  4. d = 0
  5. g = 0
  6. If f = True Then  'se scegli la cartella ciclo
  7.     i = 0
  8.     j = 0
  9.     For d = 0 To n - 1
  10.         For g = 0 To m - 1
  11.             Call estrai(matrice, n, m, tabella)
  12.         Next g
  13.     Next d
  14.     f = False
  15. Else             'se scegli la tombola una alla volta
  16.     If y = True Then
  17.         i = 0
  18.         j = 0
  19.         y = False
  20.     End If
  21.         Call estrai(matrice, n, m, tabella)
  22. End If
  23.  
  24. End Sub


la seconda mi genera i  numeri senza ripetizioni:

Codice sorgente - presumibilmente VB.NET

  1. 'procedura per l'estrazione dei numeri senza ripetizioni
  2. Sub estrai(ByVal matrice, ByVal n As Integer, ByVal m As Integer, ByVal tabella As MSFlexGrid)
  3.     cont = cont + 1
  4.     If cont <= 90 Then
  5. estrai:
  6.        
  7.         Call genera2
  8.         t = False
  9.         For k = 0 To n - 1
  10.             For h = 0 To m - 1
  11.                 If num = matrice(k, h) Then
  12.                     t = True
  13.                     GoTo estrai
  14.                 End If
  15.             Next h
  16.         Next k
  17.         If t = False Then
  18.             matrice(i, j) = num
  19.             tabella.CellFontBold = True
  20.             tabella.Row = i
  21.             tabella.Col = j
  22.             tabella.Text = matrice(i, j)
  23.             If a = True Then
  24.                'MsgBox ("numero Estratto " + CStr(num))
  25.                 a = False
  26.             End If
  27.             j = j + 1
  28.             If j = m Then
  29.                 j = 0
  30.                 i = i + 1
  31.             End If  
  32.         End If
  33.     End If
  34. End Sub



Ringrazio Anticipatamente

PM Quote
Avatar
carmine (Member)
Pro


Messaggi: 168
Iscritto: 20/04/2010

Segnala al moderatore
Postato alle 20:59
Martedì, 01/02/2011
ragaa ho risolto grz lo stessoooo....dove azzerare un contatore...

PM Quote