le frasi devono essere modificabili dall'utente in esecuzione oppure decise da te e non modificabili in fase di esecuzione? se non vuoi utilizzare un file esterno e le frasi non devono essere modificabili puoi fare:
codice:
Public C As Integer
Public Estratto As Integer
Public Frase As String
Public numfrasi As Integer
Private Sub Command1_Click()
numfrasi = 10 'sostituisci il 10 con il num di frasi
ripeti: 'in caso la frase fosse già uscita il programma riparte da quì
Randomize 'attiva il generatore di numeri casuali
Estratto = Int((10 - 1 + 1) * Rnd + 1) 'risultato estrazione nella variabile Estratto
For x = 1 To 10 'inizia un ciclo for next sostituisci il 10 con il num di frasi
If Uscito(x) = True Then 'controlla se tutte le frasi sono uscite
C = C + 1
If C >= numfrasi Then
For y = 1 To 10 'sostituisci sempre il 10 con il num frasi
Uscito(y) = False 'se tutte le frasi sono uscite resetta l'array Uscito
Next y
End If
Else
GoTo falso
End If
Next x
falso:
If Uscito(Estratto) = False Then 'controlla se la frase è uscita
Uscito(Estratto) = True ' se non è uscita la segna come uscita
GoTo Lefrasi ' e va all'etichetta lefrasi
Else 'altrimenti
GoTo ripeti 'torna a ripeti e estrae un'altra frase
End If
Lefrasi:
Select Case Estratto 'seleziona la variabile estratto
Case 1 'se è uno scrivi nella variabile frase "prima frase"
Frase = "prima frase"
Case 2 ' se è due "seconda frase" ecc.
Frase = "seconda frase"
Case 3
Frase = "terza frase"
Case 4
Frase = "quarta frase"
Case 5
Frase = "quinta frase"
Case 6
Frase = "sesta frase"
Case 7
Frase = "settima frase"
Case 8
Frase = "ottava frase"
Case 9
Frase = "nona frase"
Case 10
Frase = "decima frase"
'devi mettere tanti case quante sono le tue frasi con i numeri
'in ordine crescente
End Select
Label1.Caption = Frase 'scrive la frase nella label1
End Sub
poi crei un nuovo modulo dal menù progetto e ci scrivi:
codice:
Public Uscito(1 To 10) As Boolean 'sostituisci il 10 con il numero di frasi che vuoi inserire.
Spero di esserti stato di aiuto.