Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2002
    Messaggi
    21

    aiutoooooooooooooo!

    ciao a tutti!


    in vb6 io ho questo codice:

    codice:
    Private Sub Command1_Click()
        Dim contA, contB, contC, contAS As Integer
    
        contA = 0
        contB = 0
        contC = 0
        contAS = 0
        Dim vettore(10) As String
        vettore(0) = "1"
        vettore(1) = "2"
        vettore(2) = "1"
        vettore(3) = "3"
        vettore(4) = "*"
        vettore(5) = "1"
        vettore(6) = "2"
        vettore(7) = "3"
        vettore(8) = "1"
        vettore(9) = "2"
        Randomize
    
        Text1(0).Text = vettore(Int(Rnd * 10))
        Text1(1).Text = vettore(Int(Rnd * 10))
        Text1(2).Text = vettore(Int(Rnd * 10))
    
        For i = 0 To 2
            Select Case Text1(i).Text
                Case "1"
                    contA = contA + 1
                Case "2"
                    contB = contB + 1
                Case "3"
                    contC = contC + 1
                Case "*"
                    contAS = contAS + 1
            End Select
    
        Next i
        If contA = 2 Then
            MsgBox "ci sono due 1"
        ElseIf contA = 3 Then
            MsgBox "ci sono tre 1"
        End If
    
        If contB = 2 Then
            MsgBox "ci sono due 2"
        ElseIf contB = 3 Then
            MsgBox "ci sono tre 2"
        End If
    
        If contC = 2 Then
            MsgBox "ci sono due 3"
        ElseIf contC = 3 Then
            MsgBox "ci sono tre 3"
        End If
    
        If contA = 1 And contB = 1 Then
            MsgBox "ci sono tre numeri diversi"
        End If
    End Sub
    
    Private Sub Command2_Click()
        End
    End Sub

    il mio form è composto da un array di tre caselle di testo un button e una quarta casella dove mettere un punteggio.

    io sono riuscita a far si che uscisse una casella msgbox...ma se volesssi far incrementare un punteggio invece di far uscire la casella come devo fare?

  2. #2
    non ho capito come deve essere il tuo punteggio, di cosa deve tener conto??

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2002
    Messaggi
    21
    deve tener conto se escono due uno deve incrementare di 10 se escono tre 3 deve incrementare di 100 e cosi via!

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2002
    Messaggi
    54

    Re: aiutoooooooooooooo!

    Originariamente inviato da flyaxe
    codice:
    Dim punteggio As Integer 'variabile che tiene nota del punteggio  
    
    Private Sub Command1_Click()
        Dim contA, contB, contC, contAS As Integer
    
        contA = 0
        contB = 0
        contC = 0
        contAS = 0
        Dim vettore(10) As String
        vettore(0) = "1"
        vettore(1) = "2"
        vettore(2) = "1"
        vettore(3) = "3"
        vettore(4) = "*"
        vettore(5) = "1"
        vettore(6) = "2"
        vettore(7) = "3"
        vettore(8) = "1"
        vettore(9) = "2"
        Randomize
    
        Text1(0).Text = vettore(Int(Rnd * 10))
        Text1(1).Text = vettore(Int(Rnd * 10))
        Text1(2).Text = vettore(Int(Rnd * 10))
    
        For i = 0 To 2
            Select Case Text1(i).Text
                Case "1"
                    contA = contA + 1
                Case "2"
                    contB = contB + 1
                Case "3"
                    contC = contC + 1
                Case "*"
                    contAS = contAS + 1
            End Select
    
        Next i
        If contA = 2 Then
            punteggio=punteggio+10 'incremento la variabile  
            text2.text=punteggio 'assegno il valore a una textbox 
            MsgBox "ci sono due 1"
        ElseIf contA = 3 Then
            punteggio=punteggio+100
            text2.text=punteggio 
            MsgBox "ci sono tre 1"
        End If
    ...
    prova in questo modo dovrebbe funzionare.
    ciao
    Teolo

  5. #5
    Utente di HTML.it
    Registrato dal
    Jul 2002
    Messaggi
    21
    non funziona perchè non somma il punteggio....avevo provato anche io cosi...

  6. #6
    Utente di HTML.it L'avatar di Toeke
    Registrato dal
    Aug 2002
    Messaggi
    348
    ci sono alcuni errori da correggere:

    -.
    Nel form_load metti la
    codice:
    text2.txt="0"
    -.
    Dim contA, contB, contC, contAS As Integer

    Se il tuo scopo era quello di dichiarare queste quattro variabili a integer sappi che le prime 3 sono dichiarate come variant che 'e di default, mentre solo l'ultima e' un integer.
    Per cui se e' come credo la dichiarazione dovrebbe essere fatta in questa maniera:

    codice:
        Dim contA As Integer
        Dim contB As Integer
        Dim contC As Integer
        Dim contAS As Integer
    Per provare il tuo programma ho aggiunto due variabili integer nel metodo click del command1, ora nn so se tu le hai a livello globale per cui questa parte prendila come un controllo

    codice:
        Dim i As Integer
        Dim Punteggio As Integer
    Dopo di che veniamo alla parte che forse ti sta + a cuore da quello che leggo.

    Teolo ha commesso un piccolo errore.
    codice:
        Next i
        If contA = 2 Then
            punteggio=punteggio+10 'incremento la variabile  
            text2.text=punteggio 'assegno il valore a una textbox 
            MsgBox "ci sono due 1"
        ElseIf contA = 3 Then
            punteggio=punteggio+100
            text2.text=punteggio 
            MsgBox "ci sono tre 1"
        End If
    IN questa maniera nn aggiungera' mai il punteggio, la formula corretta e' la seguente:
    Il punteggio ad ogni tiro te lo metti dentro la casella di testo text2, per cui al punteggio successivo se si verifica la condizione aggiungi il nuovo punteggio al valore preso nella casella di testo
    codice:
        Next i
        If contA = 2 Then
            punteggio=text2.text+10 'incremento la variabile  
            text2.text=punteggio 'assegno il valore a una textbox 
            MsgBox "ci sono due 1"
        ElseIf contA = 3 Then
            punteggio=text2.text+100
            text2.text=punteggio 
            MsgBox "ci sono tre 1"
        End If
    P.s. Perdona errori di scrittura o altri


    Spero di averti aiutato











    Toe

  7. #7
    Utente di HTML.it
    Registrato dal
    Jul 2002
    Messaggi
    21
    ti ringrazio tantissimo funziona....però mi spieghi solo text2.text = "0" nel form_load come posso definirla...è una variabile?
    ti ringrazio tantissimo mi sei stato di vero aiuto!

  8. #8
    Utente di HTML.it L'avatar di Toeke
    Registrato dal
    Aug 2002
    Messaggi
    348
    Originariamente inviato da flyaxe
    ti ringrazio tantissimo funziona....però mi spieghi solo text2.text = "0" nel form_load come posso definirla...è una variabile?
    ti ringrazio tantissimo mi sei stato di vero aiuto!
    No nn e' una variabile e' solo che setti il valore di default della text2.txt.

    Per definirla puo fare in due modi:
    inRuntime
    codice:
    Private Sub Form_Load()
       Text2.Text = "0"
    End Sub
    o In designTime
    modificandone la proprieta' text


    Questo lo devi fare poiche' al primo caso di incremento del punteggio prendi quello della text2.txt e gli sommi il punteggio.
    Nello specifico il valore parte da 0 gli aggiungi 10 o 100 valore nuovo 10 o 100, mentre se nn gli metti nulla si incc@22@ il programma.

    Un'altra cosa facendo un piccolo test ho notato che punteggio dichiarato come integer ti manda in overflow non appena raggiunge il valore 32,768 quindi puoi ovviare in due diversi modi:
    o lo dichiari come long
    o la somma dei valori la effettui con questa riga di codice:
    codice:
    text2.txt=text2.txt + 'valore'

    P.s. Se stai reallizzando una specie di sloymachine ti posso chiedere se mi invivi le immagini che adoperi?
    toeke75@hotmail.com
    Altrimenti nn importa






    Toe

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.