Newsgroup: it.comp.lang.visual-basic
Titolo: Un oggetto che non cambia di valore

Come diventare matti...
Lo so ci sarà nicola che mi dirà di studiare di più
Sergio che si farà una risata
e io che mi scervello per capire.
Arrivo al punto.. "caldo"
Ho una classe CUtente e un oggetto di questa classe varia
a seconda delle impostazioni che l'utente fa in un determinato form.
Prima di provare a sviluppare il mio programma orientandomi agli oggetti
usavo una matrice che avevo messo dentro un Modulo.bas.
Ora non so come fare in modo che l'oggetto cambi di valore mi potete dare un
aiuto?
Deborah!

aiuto?
Come sarebbe a dire "l'oggetto cambi di valore"? Intendi forse
proprieta' in sola lettura?
-- 
ciao,
hal

Scusate se mi auto rispondo ma piano piano ( sono cocciuta) cerco di
arrivarci.
L'impegno ce lo sto mettendo
Leggendo alcuni post passati forse ho capito o forse mi sto avvicinando :o)
Cerco di rendere il mio problema più chiaro possibile
Ho un form con un etichetta e  il valore di questa etichetta deve variare a
seconda
delle scelte dell'utente che fa nel profilo.
--------------------------------------
Form Main:
........................................................
Dim Impiegato as new CImpiegato
frmMain.lblVariabileUtente.caption=Impiegato.VariabileUtente
...
---------------------------------------
Nella classe CImpiegato ho:
Nome
Cognome
ID Aziendale
VariabileUtente
quindi:
Private mstrNome as String
Private mstrCognome as String
Private mstrIDAziendale as Integer
Private msngVariabileUtente as Single
-----------------------------------------------------------------
Public Property Let Nome(ByVal vNewValue As String)
mstrNome = Nome
End Property
-----------------------------------------------------------------
Public Property Get Nome() As String
Nome= mstrNome
End Property
-----------------------------------------------------------------
Public Property Let Cognome(ByVal vNewValue As String)
mstrCognome = Cognome
End Property
-----------------------------------------------------------------
Public Property Get Cognome() As String
Cognome= mstrCognome
End Property
-----------------------------------------------------------------
Public Property Let IDAziendale(ByVal vNewValue As Integer)
mstrIDAziendale = IDAziendale
End Property
-----------------------------------------------------------------
Public Property Get IDAziendale() As Integer
IDAziendale= mstrIDAziendale
End Property
-----------------------------------------------------------------
Public Property Let VariabileUtente(ByVal vNewValue As Integer)
msngVariabileUtente = VariabileUtente
End Property
-----------------------------------------------------------------
Public Property Get VariabileUtente() As Integer
Dim intRow As Integer
Dim intColumn As Integer
Dim sngVariabileUtente ( 0 to 10, 0 to 2) As Single
msngVariabileUtente (0, 0) = 10.10
msngVariabileUtente (0, 1) = 12.25
msngVariabileUtente (0, 2) = 10.28
msngVariabileUtente (1, 0) = 13.22
msngVariabileUtente (1, 1) = 13.74
msngVariabileUtente (1, 2) = 13.74
..........[cut]
intColumn = frmProfilo.cboPosizioneLavorativa.ListIndex     <--------Qui il
valore è -1
intRow = frmProfilo.txtGiorniLavorati.Text
<-------- Qui il valore è ""
VariabileUtente= msngVariabileUtente (intRow, intColumn)
End Property
-----------------------------------
Mi dice ERRORE DI run time 13
Tipo non corrispondente  perchè la riga intRow è = a ""
Se metto invece intRow=Val(frmProfilo.txtGiorniLavorati.Text )
Mi dice ERRORE DI run time 9
Indice non compreso  nell'intervallo
Perchè intColumn è = a -1
Mi potete aiutare?
Deborah!

 ha scritto nel messaggio
news:meM0c.8874$mt1...@tornado.fastwebnet.it...


 End Property
etc, etc...
[...]
ciaociao

> End Property
Forse sono stato un po' sintetico.... ;-)
Allora:
La Property Let serve per impostare il valore della proprietà nella tua
classe; infatti come vedi ha un parametro in ingresso (vNewValue) che
'contiene' il valore che tu imposti quando vuoi settare la proprietà. Quindi
se vuoi impostare una proprietà della tua classe scrivi una cosa del tipo:
Impiegato.Nome="Pippo". In questo caso vNewValue contiene "Pippo" e la
variabile Private mstrNome sarà valorizzata con "Pippo". Di conseguenza
quando vuoi leggere il valore della proprietà scrivi:
NomeImpiegato=Impiegato.Nome e a questo punto ti viene restituito il valore
della variabile mstrNome.
Lo so che non sono stato molto chiaro, ma spero tu abbia capito lo stesso!
;-)
ciaociao

 if isnull(frmProfilo.txtGiorniLavorati.Text)=false then
Questo non sarà mai falso.
Ciao

Marg vuoi dire che la matrice la devo mettere nella Property Let anzichè la
Property Get?
Il mio problema è nella variabile  "VariabileUtente". Se guardi la Property
Get che ho scritto della variabile
"Variabile Utente" ho scritto delle cose ma riscontro degli errori io ci ho
scritto una matrice ma come l'ho scritta io,
non funziona quindi chiedevo se qualcuno mi poteva dire dov'è l'errore.
[cut]


Ragazzi lo so che sono una rompi ma non sono riuscita a capire dove sbaglio.
Com'è che si chiama! Codice Latinizzato?
Ci provo!
Nel form Profilo ho
Etichetta  ---> GiorniLavorati   '(da 0 a 20)
ComboBox ---> Posizione aziendale     - (Sono tre possibilità di scelta:
0-Capo_Ufficio,1- Turnista, 2-Segretaria)
Nel Form Principale ho un etichetta "VariabileUtente.txt"che
inizialmente deve essere di valore zero
Quando l'utente compila il formProfilo (e quindi immette i dati
relativi alla propria persona) e preme ok nel Form Principale
deve cambiare il valore dell'etichetta "VariabileUtente"
Cosa ho fatto:?
Ho creato una classe CUtente
ogni utente oltre al Nome Cognome etc. ha una propria VariabileUtente
che varia a seconda delle scelte fatte sul profilo.
Come cambia questa Variabile?
Con una matrice ( 0 to 20, 0 to 2) che si occupa di trovare la
VariabileUtente
giusta  .
Cosa ho scritto per le proprietà Get e Let della VariabileUtente?
Questa schifezza che mi da errore dove ho messo l'asterisco. (*)
-----------------------------------------------------------------
Public Property Get VariabileUtente() As Integer
Dim intRow As Integer
Dim intColumn As Integer
Dim sngVariabileUtente ( 0 to 20, 0 to 2) As Single
msngVariabileUtente (0, 0) = 10.10
msngVariabileUtente (0, 1) = 12.25
msngVariabileUtente (0, 2) = 10.28
msngVariabileUtente (1, 0) = 13.22
msngVariabileUtente (1, 1) = 13.74
msngVariabileUtente (1, 2) = 13.74
..........[cut]
(*) intColumn = frmProfilo.cboPosizioneLavorativa.ListIndex
(*) intRow = frmProfilo.txtGiorniLavorati.Text


Lampo di genio delle 2 di notte.
Ci sono riuscita ( almeno sembra) ogni tanto mi chiedo se
anche i guru di questo NG perdono cosi tanto tempo per
capire i propri errori anzi, per superare i propri limiti
Buona notte e grazie comunque a tutti!
Debby  ---- )@

 capire i propri errori anzi, per superare i propri limiti
i guru sono semplicemente i niubbi di qualche tempo fa.
-- 
Salutoni
Sergio
per rispondere... togli il group dall'indirizzo

 i guru sono semplicemente i niubbi di qualche tempo fa.
:)
Il mio primo post su NG fu proprio su questo NG: una risposta a chi 
chiedeva lumi sull'uso delle API

 ha scritto nel messaggio
news:c244fv$1nnc40$1...@ID-173193.news.uni-berlin.de...
