Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Visual Basic 6 - Istruzione da variabile
Forum - Visual Basic 6 - Istruzione da variabile

Avatar
Iohoilpotere (Ex-Member)
Pro


Messaggi: 80
Iscritto: 13/09/2009

Segnala al moderatore
Postato alle 14:58
Martedì, 26/10/2010
Mi chiedevo se era possibile far eseguire al programma un istruzione che viene definita in una variabile.

Ad esempio:

Codice sorgente - presumibilmente Delphi

  1. Dim Var as String
  2. Var = "me.hide"
  3. ' Esegui Var



Esiste qualcosa che a grandi linee può farlo?

PM
Avatar
HeDo (Founder Member)
Guru^2


Messaggi: 2765
Iscritto: 21/09/2007

Up
2
Down
V
Segnala al moderatore
Postato alle 19:47
Martedì, 26/10/2010
puoi creare un vettore di textbox e un altro array che funge da indicizzatore, praticamente un dictionary di .net.

PM
Avatar
HeDo (Founder Member)
Guru^2


Messaggi: 2765
Iscritto: 21/09/2007

Up
0
Down
V
Segnala al moderatore
Postato alle 15:43
Martedì, 26/10/2010

non credo sia possibile, al limite in vb.net con i CompilerServices ma in vb6 sono sicuro al 99.9% che non è fattibile.

PM
Avatar
Iohoilpotere (Ex-Member)
Pro


Messaggi: 80
Iscritto: 13/09/2009

Up
0
Down
V
Segnala al moderatore
Postato alle 17:10
Martedì, 26/10/2010
Dannazione... allora visto che ci siamo formulo il problema anziché la possibile soluzione.

Ho una Select Case enorme, ha 29 case e volevo trovare una soluzione alternativa... Posto in parte il codice.

Codice sorgente - presumibilmente VB.NET

  1. Select Case rs("CAMPO")
  2.     Case "MERCATO"
  3.         MERCATO = CInt(rs("LIVELLO"))
  4.     Case "ATC1"
  5.         ATC1 = CInt(rs("LIVELLO"))
  6.     Case "ATC2"
  7.         ATC2 = CInt(rs("LIVELLO"))
  8.     Case "ATC3"
  9.         ATC3 = CInt(rs("LIVELLO"))
  10.     Case "ATC4"
  11.         ATC4 = CInt(rs("LIVELLO"))
  12. ....
  13.  
  14. End Select



Dovrei fargli eseguire un X = CInt(rs("LIVELLO"), dove X è il nome dell'oggetto omonimo al campo del recordset.

PM
Avatar
GrG (Member)
Guru^2


Messaggi: 3430
Iscritto: 21/08/2007

Up
0
Down
V
Segnala al moderatore
Postato alle 18:46
Martedì, 26/10/2010
Testo quotato

Postato originariamente da Iohoilpotere:
X = CInt(rs("LIVELLO")



Lo devi inserire in ogni case? O.o spiegati meglio... dov'è la difficoltà?

PM
Avatar
Iohoilpotere (Ex-Member)
Pro


Messaggi: 80
Iscritto: 13/09/2009

Up
0
Down
V
Segnala al moderatore
Postato alle 18:50
Martedì, 26/10/2010
La difficoltà sta che vorrei togliere il Case. Dato che devo eseguire un istruzione diversa per ogni campo di rs("LIVELLO") (e sono 29) diventa un Case troppo lungo. La difficoltà sta che quella X non è un altra variabile, ma il nome di una textbox (si chiamano come i possibili risultati del rs), e questo nome deve variare a seconda del risultato di rs("LIVELLO"),

PM
Avatar
GrG (Member)
Guru^2


Messaggi: 3430
Iscritto: 21/08/2007

Up
0
Down
V
Segnala al moderatore
Postato alle 19:38
Martedì, 26/10/2010
"ma il nome di una textbox (si chiamano come i possibili risultati del rs), e questo nome deve variare a seconda del risultato di rs("LIVELLO"),"

Premettendo che ho il cervello che sta mezzo fuso, non ho capito questa frase... forse volevi dire rs("CAMPO")? Altrimenti spiegati un pò meglio perchè non vedo nessuna riga per far variare il nome delle textbox in base ai risultati di rs("LIVELLO")... (o forse più che nome intendevi il testo contenuto? boh)

PM
Avatar
Iohoilpotere (Ex-Member)
Pro


Messaggi: 80
Iscritto: 13/09/2009

Up
0
Down
V
Segnala al moderatore
Postato alle 10:40
Mercoledì, 27/10/2010
Si scusa GrG, era rs("CAMPO"), le textbox non variano, semplicemente il loro nome è uguale ai possibili campi delle textbox.

HeDo mi ha dato la soluzione comunque :D

PM