Newsgroup: it.comp.lang.visual-basic
Titolo: La mia prima classe non funge!

E' la prima volta che cerco di creare una CLASSE quindi pls non "vi fate la
pipi sotto dalle risate"
Io ho due combobox (cboAnzianità e cboQualifica) collegati ad un
Array(MatriceAliquote). Tramite una Funzione(CalcolaAliquote) tiro fuori
l'aliquota giusta.
Fin qui tutto ok! Quello che vorrei chiedervi posso creare l'oggetto
aliquota?
Intanto che ci pensate io vi scrivo quello che ho fatto, che è sbagliato
perchè ovviamente non funge. Vabbè io sono un caso clinico visto che prima
di capire una cosa ci metto una vita
Ho messo sul Form1 le 2 combobox (cboAnzianità e cboQualifica) o messo un
etichetta txtAliquota e un pulsante cmdOk
Ho creato una classe chiamata CAliquote
________________________________________________
Option Explicit
Public mcurVolo As Currency
Public Property Get Volo() As Currency
Volo = mcurVolo
End Property
Public Property Let Volo(ByVal curVolo As Currency)
mcurVolo = Volo
End Property
_________________________________________________
dentro CAliquote c'è l'Array e la funzione(CalcolaAliquote)
Public Sub MatriceAliquote()
'Matrice Aliquote di volo
 mcurVolo(0, 0) = 0
  mcurVolo(0, 1) = 11.73
  mcurVolo(0, 2) = 5.12
  mcurVolo(1, 0) = 0
  mcurVolo(1, 1) = 11.73
  mcurVolo(1, 2) = 5.12
  mcurVolo(2, 0) = 0
  mcurVolo(2, 1) = 12.32
  mcurVolo(2, 2) = 6.72
  mcurVolo(3, 0) = 0
  mcurVolo(3, 1) = 12.32
  mcurVolo(3, 2) = 6.72
  mcurVolo(4, 0) = 0
  mcurVolo(4, 1) = 12.9
  mcurVolo(4, 2) = 8.77
[cut] <----- L'ho tagliato perchè è lungo (giusto per farvi capire)
_________________________________________________
Public Function CalcolaAliquote()
 Dim intRiga As Integer
 Dim intColonna As Integer
 Dim curAliquotaVolo As Currency
 Dim mcurVolo As Currency
    intColonna = Form1.cboQualifica.ListIndex
    intRiga = Form1.cboAnzianità.ListIndex
    curAliquotaVolo = mcurAliquotaVolo(intRiga, intColonna)
    mcurVolo = FormatCurrency(curAliquotaVolo)
   End Function
________________________________________________
Ora se non ho capito male ho creato la Classe Aliquota giusto? (Ho qualche
dubbio)
vorrei che premendo il pulsante sul form1 in base alla scelta fatta sulle
listbox mi apparisse l'aliquota
Il codice presente sul Form1 è il seguente:
Option Explicit
Private Aliquota As New CAliquote
Private Sub Command1_Click()
assegnaproprietà
End Sub
Public Sub assegnaproprietà()
Aliquota.Volo = CCur(txtvolo.Text)
End Sub
Dove sbaglio?

 Public mcurVolo As Currency
No ...è UNA COSA INTERNA ALLA CLASSE NO?
posto che una enum non sia più indicata o altri sitemi....
Private mcurVolo as bla bla
e poi
Private mcurVolo(4,4) al limite no??????
prima considerazione che subito mi balza agli occhi
-- 
Il Wodkino Nazionale è a : 
www.martek.it
Pagina Vb/Bestiario/Lamer Experience :
http://www.martek.it/go.asp?portamia=2
 Quotefix e altro:
http://www.martek.it/go.asp?portamia=4
Usr: ICLVB Pw: amici


melassa CODE
Deciditi...usi form o classi???
benchč non ci sia molta differenza sostanziale ce ne corre parecchia
concettuale.....
-- 
Il Wodkino Nazionale č a : 
www.martek.it


 cut
oggi vi tocca beccare le risposte a rate
Una classe è (vediamo se la capisci così) una scatola nera....
hai delle entrate e delle uscite ...in mezzo dei metodi che elaborano le
entrate per produrre delle uscite
QUINDI
ad esempio e velocemente(quindi a pensarci bene si ottimizza assai)
La classe miaAliquota
esporrà delle proprietà....
Qualifica
Anzianità
riempiendo quelle e invocando CalcolaAliquota:
Soluzione A) Si riempe un altra proprietà a SOLA lettura
AliquotaCorrispondente
Soluzione b) Il metodo stesso riporta l'aliquota
....io preferirei A)....
Cosa succede....succede che assegnando Qualifica....la tua classe cerca e
riempie un valore...come fa?.....Dbase, file testo,costanti cablate...a te
la scelta!
se il valore non c'è (prevedilo) RaiseError...ossia scatena un evento di
"Non trovato!"....e assegna un valore di errore convezionale alla proprietà
(da ciò emerge che la documentazione della classe è importante...se prendi
una convenzione nella segnalazione degli errori(ad esempio) ...te la devi
ricordare e mantenere!)
il solito per anzianità
l'aliquota sarà cosa? una moltiplicazione di un dato base per gli anni
d'anzianità???
però se hai capito il metodo ...ci siamo no???
La tua classe in buona sostanza deve funzionare indipendentemente dal
form....il form è solo l'interfaccia per caricare i dati e presentare i
risultati della classe!
-- 
Il Wodkino Nazionale è a : 
www.martek.it


 End Sub
Per come hai dichiarato la property volo, questo invece sembra corretto; il
problema e' certamente prima, ma cosi' e' un po' difficile capire dove...
Ciao
-- 
Luca Dormio - 
luca....@tin.it
________________________________
"Marty, non stai ragionando in maniera quadridimensionale"
Dr. Emmett L. Brown

 Il Wodkino Nazionale è a : 
www.martek.it


..__--Lyz--__.. wrote:
ti giuro che ti stavo scrivendo la classe io per aiutarti ad imparare....
oplà diretta nel cestino!
Fanculo a tutta la prosopopea del mondo!....se vuoi la soluzione in firma
c'è la mia azienda...
le consulenze costano per telefono 100 Euro a forfait!
Se vuoi il codice...completo e funzionante con la gestione degli errori...
a te che passi da questo newsgroup e per questa classe son 250 Euro + iva.
Altrimenti...arrangiati!
Mavvaffan...plonk!
grrr


 Wodka questo tipo di email non mi aiutano...
Questa tua risposta ti aiuterà senz'altro di più.
termoPilucco

 risultati della classe!
Quindi non la posso fare, visto che è l'utente a scegliere la propria
qualifica e la propria anzianità. Le aliquote
che poi mi serviranno per i vari calcoli dipenderanno sempre da quello che
l'utente immette.

 Dove sbaglio?
Qui è spiegato tutto bene
http://tinyurl.com/2gvvk
termoPilucco

L'array era inizialmente scritto in questo modo
mcurAliquotaVolo(0, 0) = 0 e via dicendo
poi ho pensato che visto che nella classe aliquota avevo dichiarato
mcurvolo=volo dovevo modificare anche l'array.
Nella funzione lo dovevo modificare ma mi sono dimenticato.
Volevo far riferimento alla prima.
In sintesio so cavolo di utente si sceglie l'anzianità e la qualifica e il
prg tira fuori le aliquote che poi userà per fare i calcoli.
Come a Wodka anche a te dico che io il programma l'ho già scritto senza
classe aliquote, l'ho fatto a livello di form e funziona ma siccome tra un
pò devo ampliarlo e siccome che non ho e non so programmare ad oggetti ho
pensato di provarci!


 ha scritto nel messaggio
news:2GvRb.152876$VW.62...@news3.tin.it...


 ha scritto nel messaggio
news:bv61kp$obtjv$1...@ID-188026.news.uni-berlin.de...


Almeno una cosa oggi l'ho capita anche se con una risposta sarcastica =)
Vabbe' dai, andrà meglio la prossima volta.
termoPilucco

 ha scritto nel messaggio
news:mduf10hc3rc7eacma...@4ax.com...


 Mi dispiace solo per Wodka
Io ti riconosco. Questo l'hai gią detto. Cominciavi per s e finivi per o.

 ha scritto nel messaggio
news:bv97eo$piran$1...@ID-174464.news.uni-berlin.de...


 Si Lupo sono io, ...
A volte mi faccio paura.


Tu?
Ciao, SK
--
La pasienzia non è mai troppo (Totò)
<><><>
Esistono 10 tipi di persone: chi conosce il binario e chi no

 Tu?
Gią, io. Spiegare, please...

 Gią, io. Spiegare, please...
Meglio lasciare stare, ricominceremmo...
Il tu voleva essere un "non tu ma altri..."
Ciao, SK
--
La pasienzia non č mai troppo (Totņ)
