Newsgroup: it.comp.lang.visual-basic
Titolo: due codici identici ma uno non va

Private Sub Command1_Click()
    Image1.Visible = False         ' nascondi monete
    Label1.Caption = Int(Rnd * 10) ' seleziona numeri
    Label2.Caption = Int(Rnd * 10)
    Label3.Caption = Int(Rnd * 10)
    Spins = Spins + 1
    'se appare 7 visualizza monete e suona
    If (Label1.Caption = 7) Or (Label2.Caption = 7) _
      Or (Label3.Caption = 7) Then
        Image1.Visible = True
        Beep
        Wins = Wins + 1
        lblWins.Caption = "Vittorie" & Wins
    End If
    lblRate.Caption = Rate(Wins, Spins)
End Sub
questo è il codice di un bott. (il prog è una specie di slot machine che
visualizza anche il numero delle vincite e la percentuale ,è un esercizio di
un libro "learn vb6 now" questo sopra dicevo l'ho scritto io, quest'altro
sotto è l'esempio contenuto nel softweare allegato al libro il primo non
funziona e il secondo si io li controllati e ricontrollati
e mi sembrano identici qual'cuno mi sa dire dove c'e l'inghippo?
Private Sub Command1_Click()
    Image1.Visible = False         ' nascondi monete
    Label1.Caption = Int(Rnd * 10) ' seleziona numeri
    Label2.Caption = Int(Rnd * 10)
    Label3.Caption = Int(Rnd * 10)
    Spins = Spins + 1
    'se appare 7 visualizza monete e suona
    If (Label1.Caption = 7) Or (Label2.Caption = 7) _
      Or (Label3.Caption = 7) Then
        Image1.Visible = True
        Beep
        Wins = Wins + 1
        lblWins.Caption = "Vittorie" & Wins
    End If
    lblRate.Caption = Rate(Wins, Spins)
End Sub
anche il modulo e identico ve lo assicuro.
ciao e grazie lobax

      Or (Label3.Caption = 7) Then
Ma chi ti ha insegnato a confrontare stringhe con interi?
P.s.: se il primo non funziona credo tu sia perfettamente in grado di fare
un minimo di debug e scoprire da solo il perchč.
Ciao

 Ma chi ti ha insegnato a confrontare stringhe con interi?
Eh.... Io credo che dovresti fare tipo cosě:
If (val(Label1.Caption) = 7) Or (val(Label2.Caption) = 7) _
Or (val(Label3.Caption) = 7) Then
Antonio Mirarchi

Ciao
l'ho fatto mi da: errore 424 e mi segnala la penultima riga , usando quck
watch mi da questo:Watch :   : lblRate.Caption = Rate(Wins, Spins) : <Object
required> : Variant/Integer : Form1.Command1_Click
ciao e scusa l'ignoranza ma da qualche parte si deve pur cominciare.
lobax
purtroppo nessuno mi "ha insegnato"ho comprato un libro che si chiama Vb6
learn now di un certo Michael Halvorson edito mondadori informatica

If (val(Label1.Caption) = 7) Or (val(Label2.Caption) = 7) _
Or (val(Label3.Caption) = 7) Then
Riguaro al problema sopra, ti consiglio di valutare se il test riesce, ed č
effettivamente quello il problema.
Su come gestire una stringa ed un numero in VB esistono molti modi,
sicuramente quello da te utilizzato non č il piů elegante.
Il problema potrebbe anche essere nel form in cui risiedono le etichette,
dal codice visto devono essere tre etichette:
label1
label2
label3
verifica che nel tuo form esistano e si chiamino allo stesso modo.

Ciao,
l'errore e' dovuto al fatto che non hai un'etichetta con nome <lblRate> nel
form.
Un consiglio, utilizza Option Explicit quando crei un progetto, questo ti
rendera' la vita molto piu' semplice, sempre che tu sia un po' sveglio :o))
beppe
-----------------------------------------------------------
Visita il sito del WWF AltoFerrarese
http://www.comune.cento.fe.it/wwfaf
-----------------------------------------------------------

finalmente ho risolto e come sempre le cose + semplici sono quelle che mi
fanno + incazzare devo dire che avevo appena cominciato ad utilizzare i
prefissi convenzione per i nomi degli oggetti avevo usato fino ad ora sempre
i nomi predefiniti e chiaramente č bastato inpostare le proprietą e il nome
dell'etichetta giusto e tutto si č rimesso a posto.
grazie a tutti
saluti lobax