+ Rispondi al messaggio
Visualizzazione dei risultati da 1 a 6 su 6

Parametri delle Property in una Classe

  1. #1
    L'avatar di cippalippa
    cippalippa non è in linea Topo di biblioteca
    Ciao a tutti,
    ho copiato un esercizio da un libro, e come al solito, non funziona.
        Option Explicit
        Private mcurPrezzo As Currency
        Private mintQuantità As Integer
        Private mstrDescrizione As String
    
    Public Property Get Prezzo() As Currency
        Prezzo = mcurPrezzo
    End Property
    Public Property Let Prezzo(ByVal mcurPrezzo As Currency)
        mcurPrezzo = curPrezzo
    End Property
    
    Public Property Get Quantità() As Integer
        Quantità = mintQuantità
    End Property
    Public Property Let Quantità(ByVal mintQuantità As Integer)
        mintQuantità = intQuantità
    End Property
    
    Public Property Get Descrizione() As String
        Descrizione = mstrDescrizione
    End Property
    Public Property Let Descrizione(ByVal mstrDescrizione As String)
        mstrDescrizione = strDescrizione
    End Property
    
    Public Function curCalcolaValore() As Currency
        curCalcolaValore = mintQuantità * mcurPrezzo
    End Function
    
    ****************************************************
        Option Explicit
        Dim mProdotto As cProdotti 
    
    Private Sub Form_Load()
        Set mProdotto = New cProdotti
        mProdotto.Descrizione = txtDescrizione.Text
        mProdotto.Quantità = Val(txtQuantità.Text)
        mProdotto.Prezzo = Val(txtPrezzo.Text)
    End Sub
    
    Private Sub Calcola_Click()
        Label1.Caption = mProdotto.curCalcolaValore
    End Sub
    
    Va bene che sono all'inizio e non so gestire una classe, però non capisco da dove saltino fuori le voci in grassetto...
    Per favore quelcuno me la può correggere?
    (Tenete conto che mProdotto va bene e che visualizza correttamente le sue proprietà...)
    ℹ️ Leggi di più su cippalippa ...

  2. #2
    L'avatar di TheTruster
    TheTruster ora è in linea Moderatore Globale Ultimo blog: Mouse Wheel in Visual Basic 6 - ActiveX
    è piuttosto intuitivo, direi, capire l'errore... anche perchè è una cosa che va a prescindere dal fatto che si lavori con una classe o con una semplice routine:

    il parametro passato alla proprietà deve coincidere con quello utilizzato all'interno della stessa routine:

    Public Property Let Prezzo(ByVal curPrezzo As Currency)
        mcurPrezzo = curPrezzo
    End Property
    
    Public Property Let Quantità(ByVal intQuantità As Integer)
        mintQuantità = intQuantità
    End Property
    
    Public Property Let Descrizione(ByVal strDescrizione As String)
        mstrDescrizione = strDescrizione
    End Property
    
    TheTruster
    ℹ️ Leggi di più su TheTruster ...

  3. #3
    L'avatar di cippalippa
    cippalippa non è in linea Topo di biblioteca
    Non funziona!
    Io pensavo che quel:
    Public Property Let Prezzo(ByVal mcurPrezzo As Currency)
        mcurPrezzo = curPrezzo
    End Property
    
    Fosse corretto e si riferisse al primo termine dell'ugualglianza...
    Ho corretto il codice come hai detto tu, ma lui (il programma) continua imperterrito a darmi come risultato "0".
    ℹ️ Leggi di più su cippalippa ...

  4. #4
    L'avatar di TheTruster
    TheTruster ora è in linea Moderatore Globale Ultimo blog: Mouse Wheel in Visual Basic 6 - ActiveX
    se stai usando il codice del form che hai specificato nel primo post, la causa del malfunzionamento è chiara...

    valorizzi le proprietà all'evento Load del form, ma non prima di richiedere alla classe il valore del calcolo sull'evento click del pulsante...

    TheTruster
    ℹ️ Leggi di più su TheTruster ...

  5. #5
    L'avatar di cippalippa
    cippalippa non è in linea Topo di biblioteca
    Hai ragione (nel secondo messaggio).
    Ho corretto il codice, ora devo capire come fa a funzionare...
    Grazie.
    ℹ️ Leggi di più su cippalippa ...

  6. #6
    L'avatar di cippalippa
    cippalippa non è in linea Topo di biblioteca
    Anzi no!!!
    Avevi ragione in entrambe.
    ℹ️ Leggi di più su cippalippa ...

+ Rispondi al messaggio

Potrebbero interessarti anche ...

  1. costanti in property di classe
    Da NOUS nel forum Visual Basic .Net
    Risposte: 4
    Ultimo Post: 04-03-2018, 22:52
  2. Associare una TextBox ad una property di classe
    Da willy_80 nel forum Visual Basic .Net
    Risposte: 3
    Ultimo Post: 09-11-2012, 19:37
  3. Risposte: 5
    Ultimo Post: 17-01-2008, 23:09
  4. La classe non assegna una published property
    Da Maxinforum1967 nel forum Delphi
    Risposte: 3
    Ultimo Post: 27-12-2007, 10:46
  5. Classe def Property
    Da bornslippy nel forum Visual Basic 6
    Risposte: 6
    Ultimo Post: 05-07-2005, 09:01