Aller au contenu

Problème de boucle Visual Basic CATIA V5


Messages recommandés

Posté(e)

Bonjour,

j'ai un petit problème pour faire une boucle.

 

Le code est le suivante :

 
  1. 'Création du texte
  2.
  3. Dim iFontSize As Double
  4. Dim Compteur1 As Integer
  5. Dim Compteur2 As Integer
  6. iFontSize = 6
  7.     For Compteur1 = 3 To 1 Step -1
  8.         For Compteur2 = 10 To 30
  9.                 Set myText = myView.Texts.Add(TRef(Compteur1).Value, -50, Compteur2)
 10.         Next Compteur2
 11.     Next Compteur1

 

 

 

J'explique d'abord le fonctionnement de cette commande.

Par exemple : La commande Set myText = myView.Texts.Add(CATIA_V5, -50, 30) sert à mettre dans un drawing

le texte "CATIA_V5" au coordonnées -50mm sur X et 30mm sur Y.

 

Je veut donc créer du texte à différents endroits suivant une boite de dialogue qui apparaitra.

La boucle 1 prendra le texte dans les zones de texte (text box) apellées "TRef1", "TRef2" et "TRef3".

La boucle 2 fera varié l'emplacement du texte selon les coordonnées de Y.

 

Le problème est que je n'arrive pas à réaliser la boucle du Compteur1.

La référence Tref1, Tref2 et Tref3 ne sont pas prise en compte, par exemple au commencement de la 1ere boucle la commande prend donc cette forme :

 

 
  1. Set myText = myView.Texts.Add(TRef(3).Value, -50, 10)

 

 

Comment faire pour prendre la valeur de la zone de texte en compte pour quelle change à chaque boucle...??

 

Merci d'avance pour vos réponse

 

 

[Edité le 13/3/2007 par Matthias31]

Posté(e)

salut

je ne suis pas un expert (desole si je dit des betises)

mais je vois que tu as le nom de ta textbox mais tu n as pas le nom de ta forms

Posté(e)

salut,

 

Apparement tu n'arrives pas à avoir la valeur de Tref1, 2 ou 3.

le problème vient donc de TRef(Compteur1).value.

 

J'ai eu un problème similaire.

Pour commencer il me semble qu'il faut indiquer le chemin complet : nom_userform.TRef1.value

Pour incrémenter ta syntaxe ne me semble pas correct, perso je passerai par une variable intermediaire de type liste :

 

liste (1) = nom_userform.TRef1.value

liste (2) = nom_userform.TRef2.value

liste (3) = nom_userform.TRef3.value

 

tu peux ensuite facilement incrementer

 

Set myText = myView.Texts.Add(liste(compteur1), -50, Compteur2)

 

voila

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant
×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer. Politique de confidentialité