Newsgroup: it.comp.lang.visual-basic
Titolo: Visual Basic con i crampi....

Col codice che segue.. emm forse è un po lungo da postare,ma la sorpresa sta
alla fine.
Sono "riuscito" a determinare l' "accensione" delle varie label al passaggio
del controllo sui successivi oggetti testo che, come si vede, sono una
matrice (dichiarata Dim Fields(14) As Integer)
Ebbene , non so per quale motivo...non sono al momento riuscito a scoprirlo,
arrivato col focus sull' ultimo oggetto testo la relativa label non risponde
in select case, per cui sono satato costretto a quella poco elegante
soluzione.
Qualcuno ha un'idea... del motivo di tale comportamento di VB?
Private Sub txtFields_GotFocus(index As Integer)
Select Case ActiveControl
Case txtFields(0)
lblLabels(0).ForeColor = &H80FFFF
Case txtFields(2)
lblLabels(1).ForeColor = &H80FFFF
Case txtFields(3)
lblLabels(2).ForeColor = &H80FFFF
Case txtFields(4)
lblLabels(3).ForeColor = &H80FFFF
Case txtFields(5)
lblLabels(4).ForeColor = &H80FFFF
Case txtFields(7)
lblLabels(5).ForeColor = &H80FFFF
Case txtFields(9)
lblLabels(6).ForeColor = &H80FFFF
Case txtFields(10)
lblLabels(7).ForeColor = &H80FFFF
Case txtFields(11)
lblLabels(8).ForeColor = &H80FFFF
-----------------------------------------
Case txtFields(12)
lblLabels(9).ForeColor = &H80FFFF
-----------------------------------------
Case txtFields(13)
lblLabels(10).ForeColor = &H80FFFF
End Select
If ActiveControl Is txtFields(12) Then
lblLabels(9).ForeColor = &H80FFFF
End If
End Sub
....... spero non mi arrivino strali... sono senza scudo.
Ciao
--
Gulp ! Forse mi sono perso qualcosa !
Per rispondere via E-mail togli la x da 
xd...@cyberjunkie.com

 End Sub


Allora è più strano degli strani....quel codice "in parte" funziona ed ero
convinto di non aver scritto codice tra il greco e l'arabo.Proverò come
suggerisci.
Domani, ora è troppo tardi.... e relazionata con la mia età, continuare
potrebbe essere deleterio...allora proverò domani e poi ti saprò dire.
Grazie.
Ciao, buona notte.


Mica ho resistito ! Funziona ! Grazie !!
Evidentemente per non far venire i crampi a VB occorre farlo correre come
sa.
Ciao


 l'arabo.
Oh, io ho appena provato creando sulla form un text1 e assegnandogli la
proprietà Index=0. Sempre da progetto ho copiato e incollato il text1(0)
creandone altri due (text1(1) e text1(2)).
Nell'evento text1_GotFocus (index ...) il codice:
Select case ActiveControl
    case text1(0)
       Stop
    case text1(1)
        Stop
    case text1(2)
        Stop
End Select
mi si ferma sempre sul primo Stop, pur accedendo al secondo o terzo text1.
Mi torna pure perchè, come pensavo, ActiveControl è un riferimento
all'oggetto col fuoco e, implicitamente, ne viene restituità la sua
proprietà predefinita, ovvero la Name che vale "Text1".
lo stesso ragionamento vale per i vari Case, cioè Text1(0), Text1(1),
Text1(2), anch'essi riferimenti a un oggetto del quale viene restituita la
proprietà predefinita, ancora la Name e quindi, ancora e per tutti "Text1".
Il primo case è quindi soddisfatto sempre, qualunque sia il controllo che ha
il fuoco.
In altre parole quel codice si può leggere come viene interpretato, ovvero:
Select case Text1
    case text1
       Stop
    case text1
        Stop
    case text1
        Stop
End Select
Diverso è il codice:
Select case index
    Case 0
        ...
    Case 1
        ...
    Case 2
        ...
End Select
perchè il valore di index (parametro/argomento della Sub corrispondente
all'evento GotFocus) è certamente un valore univoco che indica qual è
l'indice del text1 sul quale si è verificato il GotFocus.

 End Select
...

 lblLabels(0).ForeColor = &H80FFFF
Se ha appena ricevuto il focus, direi che è quello il controllo
attivo, quindi il numero cercato è banalmente Index; non hai
bisogno della Select Case.
Se sposti le Label (e ne cambi la Caption, ovviamente) in
modo che gli Index delle due matrici corrispondano, potresti
usare l'Index per riferirti alla Label voluta. Così te la caveresti
con una semplicissima:
Private Sub txtFields_GotFocus(Index As Integer)
    lblLabels(Index).ForeColor = &H80FFFF
End Sub
Scommetto che anche quel problema sparirà... e avrai il
vantaggio addizionale di poter aggiungere una coppia
Label/TextBox senza dover toccare il codice.
Bye, G.

 sa.
Effettivamente, al posto di VB vedendo quel codice io mi sarei
rifiutato di farlo girare :-PPP
Guarda l'altro post per capire cosa intendo: quello che vuoi fare
si può fare con 1 (una !) riga di codice, se la cosa è progettata
bene.
Bye, G.

 End Sub
Uaho ! Devo ammettere che, da buon principiante sono un po' "grezzo" (anche
senza le virgolette) nello scrivere codice, comunque.... magari l'ora è
tarda e dico na' cavolata....
ma la sub sopra forse, con delle Label non "numericamente" direttamente
corrispondenti ai Text, non funziona ? Tutto sommato se uso diverse Label
per diversi Text (cioe text(3) "accende" label(7)), il codice suggerito da
Lupo mi sembra più adatto anche se effettivamente c'è la ripetiutività del
ForeColor che rischi di far venire a me i crampi e i calli alle dita. Cosa
dici ?


 > se la cosa è progettata bene.
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Bye, G.

 venire a me i crampi e i calli alle dita. Cosa dici ?
Il Grande Papero ti suggeriva di "ristrutturare" un po' i vari index, in
modo che ci sia una relazione fissa fra index dei textbox e index delle
label "abbinate". In quel modo la Select case è del tutto inutile perchè
noto l'index del textbox è automaticamente ricavabile quello della label
abbinata allo stesso. Quindi una sola riga.

OK grazie ad entrambi....ma come fa ad andar d'accordo un papero con un lupo
? ;-))))
Buona notte !
e buon fine settimana


>> modo che gli Index delle due matrici corrispondano
Comunque lo farò... per amor di "codice pulito", è giusto imparare anche in
questo senso.
Ciao


 End Sub
assonanza di spiriti.
stavo per suggerirgli esattamente la stessa cosa :)

 ....ma come fa ad andar d'accordo un papero con un lupo ? ;-))))
Domanda posta agli sceneggiatori di Star Trek:
    "Sì, ma _come funzionano_ i gli smorzatori inerziali ?"
Risposta:
    "Molto bene, grazie." ;-)
Bye, G.

 End Sub
Per fortuna c'è qualcuno che tiene ordine nel NG :)
Leggendo il post iniziale sono caduto dalla sedia...
--
using System.Gtk.Forms = "
http://www.neodatatype.net/windowsforms/sgf.aspx
"
mathParser = "
http://www.neodatatype.net
"
sitoComune = "
http://www.it-lang-vb.net
"

 Leggendo il post iniziale sono caduto dalla sedia...
Spero non ti sia fatto male !
Per quanto riguarda l'ordine, riferito al NG, a volte anche il numero di
post "storpia"
Forse di uno in piů ... non ce n'era bisogno :-(((    riferito al contenuto
del primo post... se fa proprio cosě male, suggerirei di mettere un
moderatore o creare    it.comp.lang.principianti.visual-basic  ...oppure
it.comp.esperti.lang.visual-basic
oppure di "sopportare" chi non nacque professore.
Comunque parliamo di pace: Buon Natale anche a te....e di cuore.


 oppure di "sopportare" chi non nacque professore.
No, no... in realtà mi ha stupito che metà del thread sostenesse la tua tesi
senza darti na dritta, soffermandosi solo sul contenuto e non sul merito.
Mi sono espresso infelicemente nel post precedente.
Buon Natale a tutti.


 Buon Natale a tutti.
Quando dormo poco...leggi gli orari dei post... rischio di capire male pure
io e divento un po' acido.
Mi faccio perdonare augurandoti anche anche Buon Anno.
Ciao Zanna
Egidio


 senza darti na dritta, soffermandosi solo sul contenuto e non sul merito.
Olà, Zanna, nulla ti deve stupire, specialmente se mi riguarda.
Chiaramente avrei potuto dire.
Ho scelto di non farlo per abbordare un problema alla volta, per non
complicare la vita a Gulp che forse non si è perso qualcosa, ma, certo,
qualcosa deve ancora conquistarsi e ne è ben cosciente.
Proprio per questa sua coscienza, la mia intenzione era quella di farlo al
passo dopo.
Altri, giustamente, mi hanno preceduto. :-)
Buon Natale anche a te.

     "Molto bene, grazie." ;-)
proprio stanotte ho sentito che spok e picard abbandonano , il primo
felicemente , il secondo ha sparato 2 frase che non so piaciute ai suoi fans
! STO TRADITORE !!!
-- 
<Gigio2K>
Sito Comune
Nokia -> I.T.H.N. -> 
http://www.ithn.it/
VB -> I.C.L.VB -> 
http://www.it-lang-vb.net/