Newsgroup: it.comp.lang.visual-basic
Titolo: enumerare matrici di textbox?

E' possibile enumerare matrici di textbox (assegnando quindi loro un nome)
anzichè dover ricordarsi l'indice?
Grazie e saluti a tutti.

Potresti crearti delle costanti, oppure fare una scansione preliminare delle
texbox in questione cercando una carratteristica da te assegnata in fase di
disegno (Es. Datafield, Tag ...) e assegnando dei valori a delle variabile
che nel resto del codice userai come costanti per indicizzare le matrici.
Esempio. Supponi che nel tuo form tu abbia definito una matrice di textbox
(Txt_Matrix) che contengano il nome, l'indirizzo postale e l'indirizzo
e-mail di una persona. In fase di disegno puoi assegnare alla proprietà Tag
delle varie TextBox una stringa che indica il contenuto, come NAME, ADDRESS
e EMAIL.
Dim TxtNAME%, TxtADDRESS%, TxtEMAIL%
Dim Ctrl as TextBox
For Each Ctrl in Txt_Matrix
    Select Case Ctrl.Tag
        Case "NAME"
            TxtNAME = Ctrl.Index
        Case "ADDRESS"
            TxtADDRESS = Ctrl.Index
        Case "EMAIL"
            TxtEMAIL = Ctrl.Index
    End Select
Next
'Da qui in poi puoi accedere alla TexBox che contiene l'indirizzo scrivendo
semplicemente Txt_Matrix(TxtADDRESS)
Spero di esserti stato di aiuto.
--
________________________________
Raffaele Tripodo
E-Mail:              
raff...@conmet.it
MSN Messenger: 
px...@hotmail.com
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯

 E' possibile enumerare matrici di textbox (assegnando quindi
loro un nome) anzichè dover ricordarsi l'indice?
Direi che e` non solo possibile ma un dovere verso se stessi;)
Io lo faccio anche se gli elementi sono solo due. xEs:
    Const mc_intCMDOK     As Integer = 0
    Const mc_intCMDCANCEL As Integer = 1
dove "mc_intCMD" sta per "costante di tipo Integer dichiarata
a livello di modulo che identifica un elemento di una matrice
di CommandButton":)
--
Ciao.
Maurizio
--------
?SPQR(C)
 X




 D'accordo, ma ora come posso mettere in pratica l'aiuto
offerto dall'enumerazione ? Puoi farmi un piccolo esempio?
Const mc_intCMDOK     As Integer = 0
Const mc_intCMDCANCEL As Integer = 1
Const mc_intCMD_COUNT As Integer = 2
Invece di disegnare i controlli a designtime li crei a
runtime:
    Private Sub Form_Load()
      ' [...]
      For i = 0 To mc_intCMD_COUNT - 1
        If i Then
          Load Command1(i)
          With Command1(i - 1)
            Command1(i).Move _
                .Left + .Width + x _
              , .Top
          End With
        Else
          ' [...]
        End If
        Command1(i).Visible = True
      Next
      ' [...]
Poi:
Invece di scrivere:
    Command1(0)
scrivi:
    Command1(mc_intCMDOK)
Invece di scrivere:
    Private Sub Command1_Click(Index As Integer)
      Select Case Index
      Case 0
      ' [...]
scrivi:
    Private Sub Command1_Click(Index As Integer)
      Select Case Index
      Case mc_intCMDOK
      ' [...]
Ora mi sta venendo il dubbio di non aver colto i termini del
problema!... Fidbeccami;)


 > > E' possibile enumerare matrici di textbox (assegnando
quindi loro un nome) anzichè dover ricordarsi l'indice?


 > > E' possibile enumerare matrici di textbox (assegnando
quindi loro un nome) anzichè dover ricordarsi l'indice?


 > > E' possibile enumerare matrici di textbox (assegnando
quindi loro un nome) anzichè dover ricordarsi l'indice?
