Ricerca 
it-ITen-US
Registrazione
Accedi
In-Vesti Dotnetwork
IN-VESTI DNW!!!
Sono finalmente arrivate le nuovissime T-Shirt di DotNetWork!!! Con soli 15,00 € ci sosterrai nelle spese di gestione della Community e ti invieremo a casa una splendida maglietta.
Se vuoi contribuire al mantenimento di DotNetWork.it Vai sulla pagina Iscrizioni
Effettua il pagamento usando IWBank
Click per andare alla pagina di Iscrizione
Oppure un Bonifico bancario (le coordinate sono sulla pagina Iscrizioni), inviaci una mail a support@dotnetwork.it indicandoci la tua taglia e l'indirizzo di spedizione.  Non appena verificata la ricezione del pagamento provvederemo a spedirti la tua T-Shirt.  Le magliette sono disponibili nelle taglie S-M-L-XL-XXL (in caso di esaurimento di una delle taglie, indica quella di "Backup"). Grazie per IN-VESTIRTI con NOI!!!
.:DotNetWork Founders:.
    Stampa     


DotNetWork Forums
Buonasera, mi date una mano?
Ultimo Post 19 lug 2010 23.02 by Alberto [MVP] (DNW TEAM). 1 Risposte.
Stampa immediata
Ordina:
PrevPrev ProssimoProssimo
Non sei autorizzato ad inviare una risposta.
Autore Messaggi Non risolto

Posts:6

--
19 lug 2010 19.57  

Ciao a tutti, una breve presentazione.

Mi chiamo Matteo,  ho 31 anni sono un neo-iscritto nonché neo-appassionato di programmazione in VB.NET.

Sono anche un autodidatta: tutto ciò che ho imparato lo devo ai libri di programmazione (un gran complimento a Mario De Ghetto per aver scritto un libro assolutamente chiaro e alla portata di tutti).

Purtroppo per me, gli errori e i dubbi sono frequenti perciò chiedo aiuto a voi, nella speranza sappiate aiutarmi. Tenete presente che è una delle prime classi che realizzo. L’idea è un oggetto persona, con 2 proprietà:

- se è sposato: logicamente, boolean  (o sei sposato, o non lo sei)

- se ha figli: dato come integer, visto che non so quanti figli abbia.

La classe servirebbe in un form per calcolare l’IRPEF.

Una persona sposata ha diritto per legge ad una detrazione di 690 €, un single non ha diritto alla detrazione (detrazione =0).

Ora: io avrei progettato la classe in questo modo

 

Public Class Persona

    Public redditoLordo As Double

    Public redditoNetto As Double

    Public detrazioneLavoro As Double

    Public detrazioneFigli As Double

    Public detrazioneConiuge As Double

    Public statoCivile = False

    Public Figli As Integer

    Public Property isSposato() As Boolean

        Get

            Return statoCivile

        End Get

        Set(ByVal value As Boolean)

            statoCivile = value

        End Set

    End Property

    Public Function Sposato() As Boolean

        If isSposato = True Then

            statoCivile = True

            detrazioneConiuge = 690

        Else

            statoCivile = False

            detrazioneConiuge = 0

        End If

        Return detrazioneConiuge

    End Function

End Class

                                               

 

La proprietà isSposato è richiamata da un radiobutton e dalla pressione di un button

 

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCalcola.Click

        Dim soggetto As New Persona

 

        If RadioSingle.Checked = True Then

            soggetto.issposato = False

        End If

        If RadioSposato.Checked = True Then

            soggetto.issposato = True

        End If

        MessageBox.Show("Detrazione: " & soggetto.detrazioneConiuge.ToString())

    End Sub

Come vedete dalla Messagebox, io vorrei visualizzare la “detrazione spettante” (Sei sposato? 690 €. Non lo sei ? 0 €). Purtroppo per me, non funziona. Il programma ritorna 0 € anche se imposto isSposato= true

Lo so: per voi sarà una banalità, ma io non riesco a venirne a capo. Mi date una mano? Grazie in anticipo


Posts:662

--
19 lug 2010 23.02  
Lo so: per voi sarà una banalità, ma io non riesco a venirne a capo. Mi date una mano? Grazie in anticipo
Il problema nasce dal fatto che nel momento in cui richiedi il valore alla funzione DetrazioneConiuge la proprietà DetrazioneConiuge è impostata a 0. Oltretutto la funzione "Sposato" da cui ti aspetti un boolean in realtà ti ritorna un valore double che per effetti del casting implicito è true se è sposato e false se non è sposato. Insomam hai fatto un po' di confusione... NOn preoccuparti è normale per chi inizia con le classi e le proprietà... Ho provato a riscrivere per te la classe vedi se così ti funziona:

Public Class Persona

Public Property RedditoLordo As Decimal
Public Property RedditoNetto As Decimal
Public Property DetrazioneLavoro As Decimal
Public Property DetrazioneFigli As Decimal
Public Property DetrazioneConiuge As Decimal
Public Property StatoCivilePersona As StatoCivile
Public Property Figli As Integer

Public Enum StatoCivile As Integer
Sconosciuto = 0
CelibeNubile = 1
Coniugato = 2
Convivente = 3
Separato = 4
ConFigli = 5
End Enum

Public Function GetDetrazione() As Decimal
Dim RetValue As Decimal
Select Case StatoCivilePersona
Case StatoCivile.CelibeNubile
RetValue = 0
Case StatoCivile.Coniugato
RetValue = DetrazioneConiuge
Case StatoCivile.ConFigli
RetValue = DetrazioneFigli
Case Else
RetValue = 0
End Select
Return RetValue
End Function

Public Sub New(ByVal DetrazioneLavoro As Decimal, ByVal DetrazioneFigli As Decimal, ByVal DetrazioneConiuge As Decimal)
Me.DetrazioneConiuge = DetrazioneConiuge
Me.DetrazioneFigli = DetrazioneFigli
Me.DetrazioneLavoro = DetrazioneLavoro
End Sub
End Class

Per richiamarla:
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim Marito As New Persona(230, 123.98, 690)
Marito.StatoCivilePersona = Persona.StatoCivile.Coniugato
MessageBox.Show(Marito.GetDetrazione.ToString)
End Sub

HTH
Alberto.
Non sei autorizzato ad inviare una risposta.

Active Forums 4.1
       
Articoli
Panoramica degli Eventi Pilotati
Come iniziare a capire com'è fatto WPF (parte 4)
2007/08/14 | Autore: Patrizia Cosolo
Lavorare con gli Array
Il problema dello zaino
2007/07/29 | Autore: Alberto De Luca
Bitmap, GDI+,Collezioni,Classi
Classi e oggetti per usare la GDI+ per disegnare delle forme.
2009/06/06 | Autore: Sabrina Cosolo
Introduzione a Windows Presentation Foundation (parte 2)
La prima di una serie di traduzioni da articoli di MSDN o altre fonti che offrono un punto di partenza per iniziare a capire il WPF.
2007/07/29 | Autore: Patrizia Cosolo
Addin per Live Writer
Programmer Paster, un Addin per Live Writer che colora il codice sorgente inserito nei Post dei Blog
2007/11/11 | Autore: Rudy Azzan
Iniziare da zero con WPF (Parte 3)
Litigi, Divinità, Pennelli e Frigoriferi. (seconda parte)
2007/11/22 | Autore: Sabrina Cosolo
Visual Studio LightSwitch Beta 1 - Installazione
La procedura di installazione e le risorse sul web
2010/08/24 | Autore: Mario De Ghetto
SQL Server Nozioni base (parte 2)
Come creare un database in SQL Server Usando solo il codice SQL
2008/03/09 | Autore: Sabrina Cosolo
    Stampa     
Home|Forums|Blogs|Mappa del sito
© 2007-2010 by DotNetWork  .:.  Condizioni d'uso  .:.  Privacy  .:.  Accedi  .:.