[VBA] eval en VB

eval en VB [VBA] - VB/VBA/VBS - Programmation

Marsh Posté le 19-06-2002 à 21:30:34    

ca existe? il s'appelle comment?
 
genre:

Code :
  1. for (i=0; i< 10; i++)
  2. {
  3.   msgbox( eval("Text" + i + ".value" ));
  4. }


 
 
j'y connais rien :(
saleté de langage  :gun:


---------------
Suri.morkitu.org : Balades au coeur de la ville...
Reply

Marsh Posté le 19-06-2002 à 21:30:34   

Reply

Marsh Posté le 19-06-2002 à 22:48:17    

faut que j'achete une corde ou....?


---------------
Suri.morkitu.org : Balades au coeur de la ville...
Reply

Marsh Posté le 19-06-2002 à 23:38:34    

je sais pas si c'est bien ce que tu veux comme résultat, mais au moins ca marche...
 
 
For i = 0 To 9
    MsgBox "Text" & i & ".value"
Next i

Reply

Marsh Posté le 19-06-2002 à 23:43:19    

Suri a écrit a écrit :

ca existe? il s'appelle comment?
 
genre:

Code :
  1. for (i=0; i< 10; i++)
  2. {
  3.   msgbox( eval("Text" + i + ".value" ));
  4. }


 
 
j'y connais rien :(
saleté de langage  :gun:  




 
'Eval'  Ca fait quoi?


---------------
C17
Reply

Marsh Posté le 20-06-2002 à 00:24:41    

End-i a écrit a écrit :

je sais pas si c'est bien ce que tu veux comme résultat, mais au moins ca marche...
 
 
For i = 0 To 9
    MsgBox "Text" & i & ".value"
Next i  




 
nan spa ca...
genre j'ai plein de textbox;
Text1 à Text9
je veux tester ce qu'il y a ecrit dedans apres...
 
soit je me tappe 36 If (text1.value == 0) pas cool
soit je fais une boucle:

Code :
  1. For i = 0 To 9
  2.    if ( eval("Text" & i & ".value" )  == 0)
  3.        MsgBox ("cocou" )
  4. Next i


 
Apparemment Eval() du javascipt et php existe pas mais je trouve ca bizarre...
ya pas moyen de faire ca sans faire n If ??
 
 
le Eval() du javascript evalue la chaine de caractere qu'on lui donne et en retourne la vrai valeur si yen a...
 
genre si j'ai une variable to42to = 10 et i = 42, je dois afficher 10 si je fais eval("to" + i + "to" )
 
c clair?


---------------
Suri.morkitu.org : Balades au coeur de la ville...
Reply

Marsh Posté le 21-06-2002 à 00:46:34    

Reply

Marsh Posté le 21-06-2002 à 00:56:14    

Suri a écrit a écrit :

up  




bah au lieu d'avoir 36 objects text que tu nommes text1 text2 etc, fait un array de text, ensuite tu fais ta boucle
 
if (text[i].value==0)  
  etc..  
 
bon je connais rien en vb, mais je suis persuadé qu'on peut faire ça


Message édité par --greg-- le 21-06-2002 à 00:56:54

---------------
#19b | Mardi 18 Février 2003 - nous fêtons les Bernadette | contre le fleur icq!
Reply

Marsh Posté le 21-06-2002 à 00:58:19    

ouais :/
jsais pas je regarderais mais le "text11" par ex c une textarea... donc je pense pas que ca existe les tableaux de textarea :/


---------------
Suri.morkitu.org : Balades au coeur de la ville...
Reply

Marsh Posté le 21-06-2002 à 00:58:53    

Suri a écrit a écrit :

ouais :/
jsais pas je regarderais mais le "text11" par ex c une textarea... donc je pense pas que ca existe les tableaux de textarea :/  




bah si tu peux faire des tableaux de ce que tu veux
enfin je présume
jfais pas de vb moua


---------------
#19b | Mardi 18 Février 2003 - nous fêtons les Bernadette | contre le fleur icq!
Reply

Marsh Posté le 21-06-2002 à 01:00:00    

--greg-- a écrit a écrit :

 
bah si tu peux faire des tableaux de ce que tu veux
enfin je présume
jfais pas de vb moua  




 
c'est pas du C malheureusement :/
enfin je verrais bien...


---------------
Suri.morkitu.org : Balades au coeur de la ville...
Reply

Marsh Posté le 21-06-2002 à 01:00:00   

Reply

Marsh Posté le 21-06-2002 à 11:13:51    

Suri a écrit a écrit :

ca existe? il s'appelle comment?
 
genre:

Code :
  1. for (i=0; i< 10; i++)
  2. {
  3.   msgbox( eval("Text" + i + ".value" ));
  4. }


 
 
j'y connais rien :(
saleté de langage  :gun:  




 
Moi, j'essaierais qq chose comme :
 
for i = 0 to 10
  msgbox controls("Text" & i).value
next

Reply

Marsh Posté le 21-06-2002 à 12:14:07    

si tu as pas renommé tes textbox :
 
 
For Each mescontroles In Controls
If Mid(mescontroles .Name, 1, 7) = "TextBox" Then MsgBox (mescontroles.value)
Next

Reply

Marsh Posté le 21-06-2002 à 12:46:00    

oki jvais essayer ca ces oir :) merci


---------------
Suri.morkitu.org : Balades au coeur de la ville...
Reply

Marsh Posté le 21-06-2002 à 19:39:11    

La fonction eval (ou un truc équivalent, je me souviens plsu) existe en VBScript, mais pas en VB. Est-ce que la fonction eval existe dans des langages compilé (style C/C++, Delphi/pascal, ada, etc...)? Peut-être qu'elle n'existe que pour les langages interprétés...
 
Pour faire un array de controles, il faut que tous tes controles aient le même nom, tu les diférencie grace à l'attribu Index.

Code :
  1. For i = 0 To 9
  2.   if Text(i).value  == 0 then
  3.     MsgBox ("cocou" )
  4.   end if
  5. Next i


Message édité par mareek le 21-06-2002 à 20:27:44

---------------
"I wonder if the internal negative pressure in self pumping toothpaste tubes is adjusted for different market altitudes." John Carmack
Reply

Marsh Posté le 21-06-2002 à 20:20:37    

latruffe a écrit a écrit :

 
 
Moi, j'essaierais qq chose comme :
 
for i = 0 to 10
  msgbox controls("Text" & i).value
next  




 
mon sauveur! :love:  
c tout bon merci :)


---------------
Suri.morkitu.org : Balades au coeur de la ville...
Reply

Marsh Posté le 21-06-2002 à 20:22:46    

C'est en effet un truc pour les langages interpreté...  
Mais dans certains langage compilé comme le SmallTalk au @ runtime tu peux demander l'aide du compilo c'est possible... que si le langages compilé supporte la reflexivité (et la je parle pas du gadget Reflection de Java qui est de la reification au fait)

Reply

Marsh Posté le 22-06-2002 à 13:12:15    

Suri a écrit a écrit :

 
 
mon sauveur! :love:  
c tout bon merci :)  




 
  :jap:  
 
 :D  :D

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed