affichage d une variable dans message
2 participants
Page 1 sur 1
affichage d une variable dans message
Bonjour à Tous et à DH42 en particulier
voila mon probleme je voudrais afficher la valeur d une variable dans un message VB cypress du style
If LarP/Kx <> 0 Then ' si largeur plaque divisé par le nombre de piece dans la longueur X n est pas un pas un multiple entier ALORS
SetUSERDRO(1317,NbPenX) affiche dans la DRO 1317 le nombre de piece en X
ChuteX = LarP-(NbPenX*KX) valeur de la chute en X = largeur plaque en X - nombre de piece en X * longueur X de chaque piece
Code "( NOMBRE DE PIECE ARRONDI INFERIEUR EN LARGEUR X )" c est la que je veux afficher la valeur de " ChuteX"
bien sur la solution simple Set UserDro ( 3018, ChuteX) mais cela occupe de l espace sur les screen
Sleep(1800)
End If
merci pour votre aide
voila mon probleme je voudrais afficher la valeur d une variable dans un message VB cypress du style
If LarP/Kx <> 0 Then ' si largeur plaque divisé par le nombre de piece dans la longueur X n est pas un pas un multiple entier ALORS
SetUSERDRO(1317,NbPenX) affiche dans la DRO 1317 le nombre de piece en X
ChuteX = LarP-(NbPenX*KX) valeur de la chute en X = largeur plaque en X - nombre de piece en X * longueur X de chaque piece
Code "( NOMBRE DE PIECE ARRONDI INFERIEUR EN LARGEUR X )" c est la que je veux afficher la valeur de " ChuteX"
bien sur la solution simple Set UserDro ( 3018, ChuteX) mais cela occupe de l espace sur les screen
Sleep(1800)
End If
merci pour votre aide
WF- très actif
- Messages : 281
Points : 398
Date d'inscription : 17/09/2018
Age : 72
Localisation : Bondy
Re: affichage d une variable dans message
Salut,
ChuteX = 20
' par boite de message
MsgBox ("NOMBRE DE PIECE = " & ChuteX)
' par message dans la barre de status
Message ("NOMBRE DE PIECE = " & ChuteX)
le & est un opérateur de concaténation, c.a.d. qu'il permet d'ajouter des textes et des variables bout à bout ; si tu donnes un texte il doit être entre "", comme "NOMBRE DE PIECE = " et si c'est une variable, comme le ChuteX elle doit être donnée telle-quelle.
Tu peux concaténer plusieurs valeurs texte et variables.
par exemple:
MsgBox ("La longueur de " & txt & " est de " & lg & " mm")
tu peux utiliser la fonction Format() pour formater la sortie des nombres, par exemple ici forcer la sortie de 2 décimales.
MsgBox ("La longueur de " & txt & " est de " & Format(lg, "##.00") & " mm")
Voir la doc du Cypress Basic page 71 pour toutes les options de formatage disponibles.
++
David
ChuteX = 20
' par boite de message
MsgBox ("NOMBRE DE PIECE = " & ChuteX)
' par message dans la barre de status
Message ("NOMBRE DE PIECE = " & ChuteX)
le & est un opérateur de concaténation, c.a.d. qu'il permet d'ajouter des textes et des variables bout à bout ; si tu donnes un texte il doit être entre "", comme "NOMBRE DE PIECE = " et si c'est une variable, comme le ChuteX elle doit être donnée telle-quelle.
Tu peux concaténer plusieurs valeurs texte et variables.
par exemple:
MsgBox ("La longueur de " & txt & " est de " & lg & " mm")
tu peux utiliser la fonction Format() pour formater la sortie des nombres, par exemple ici forcer la sortie de 2 décimales.
MsgBox ("La longueur de " & txt & " est de " & Format(lg, "##.00") & " mm")
Voir la doc du Cypress Basic page 71 pour toutes les options de formatage disponibles.
++
David
_________________
Traduction Française de CamBam et de sa documentation.
Affichage d une variable dans message
Bonjour à tous et à DH 42
Qui essaye d instruire le roi des ignares
Vaste programme
En tous cas un grand merci tardif pour ces explications lumineuses
À bientôt et merci encore
Qui essaye d instruire le roi des ignares
Vaste programme
En tous cas un grand merci tardif pour ces explications lumineuses
À bientôt et merci encore
WF- très actif
- Messages : 281
Points : 398
Date d'inscription : 17/09/2018
Age : 72
Localisation : Bondy
Re: affichage d une variable dans message
Re
Il y en a encore une 3ieme, spécifique à Mach3, c'est MachMsg(prompt, title, DialogType) qui offre en plus le choix des boutons qui peuvent être affichés et qui retourne une valeur (permettant de savoir quel bouton a été cliqué)
comme elle retourne une valeur elle s'utilise avec la syntaxe suivante:
rep = MachMsg(prompt, title, DialogType)
rep contiendra la valeur de retour (un entier)
prompt, c'est le texte à afficher
title, le titre de la fenêtre de message
DialogType, une valeur de 0 à 6 définissant les boutons à afficher.
0 = OK button
1 = OK, Cancel buttons
2 = Abort, Retry, Ignore buttons
3 = Yes, No, Cancel buttons
4 = Yes, No buttons
5 = Retry, Cancel buttons
6 = Cancel, Try Again, Continue buttons
les valeurs de retour
OK = 1
Cancel = 2
Abort = 3
Retry = 4
Ignore = 5
Yes = 6
No = 7
Try Again = 10
Continue = 11
MsgBox() peut aussi être plus détaillée et fournir une valeur de retour, plus de boutons, un titre et des icônes spécifiques.
MsgBox(msg, type, titre)
La valeur type est une combinaison de valeurs qui détermine les boutons à afficher, l'icone à afficher et quel est le bouton par défaut. (celui qui correspondra à la touche "Entrée" du clavier)
dans ce cas, 35 c'est 32 + 3
32 = Icône question
3 = boutons Oui, Non, Annuler
Voir page 100 de la doc du Cypress Basic pour les valeurs utilisables
++
David
Il y en a encore une 3ieme, spécifique à Mach3, c'est MachMsg(prompt, title, DialogType) qui offre en plus le choix des boutons qui peuvent être affichés et qui retourne une valeur (permettant de savoir quel bouton a été cliqué)
comme elle retourne une valeur elle s'utilise avec la syntaxe suivante:
rep = MachMsg(prompt, title, DialogType)
rep contiendra la valeur de retour (un entier)
prompt, c'est le texte à afficher
title, le titre de la fenêtre de message
DialogType, une valeur de 0 à 6 définissant les boutons à afficher.
0 = OK button
1 = OK, Cancel buttons
2 = Abort, Retry, Ignore buttons
3 = Yes, No, Cancel buttons
4 = Yes, No buttons
5 = Retry, Cancel buttons
6 = Cancel, Try Again, Continue buttons
les valeurs de retour
OK = 1
Cancel = 2
Abort = 3
Retry = 4
Ignore = 5
Yes = 6
No = 7
Try Again = 10
Continue = 11
MsgBox() peut aussi être plus détaillée et fournir une valeur de retour, plus de boutons, un titre et des icônes spécifiques.
MsgBox(msg, type, titre)
La valeur type est une combinaison de valeurs qui détermine les boutons à afficher, l'icone à afficher et quel est le bouton par défaut. (celui qui correspondra à la touche "Entrée" du clavier)
dans ce cas, 35 c'est 32 + 3
32 = Icône question
3 = boutons Oui, Non, Annuler
Voir page 100 de la doc du Cypress Basic pour les valeurs utilisables
++
David
_________________
Traduction Française de CamBam et de sa documentation.
affichage d une variable dans message
Bonjour à Tous et à DH42 en particulier
ça fonctionne Mais " Beotien 1er à encore frappé"
dans la barre de status j ai un message
"Bad format unsigned integer,Block=Nombre de Piece en X arrondi, Chute en X=6 mm
j ai essaye de declarer ChuteX avec des dim ChuteX as double etc mais cela ne donne pas de signe à la valeur ????
If LarP/Kx <> 0 Then 'ESSAI WILLY chute88888888888888888888888
SetUSERDRO(1317,NbPenX)
ChuteX = LarP-(NbPenX*KX)
Code ("Nombre de Piece en X arrondi,Chute en X=" & Format(ChuteX,"#,##0")&" mm")
SetUSERDRO(1308,ChuteX)
Sleep(1800)
End If
ça fonctionne Mais " Beotien 1er à encore frappé"
dans la barre de status j ai un message
"Bad format unsigned integer,Block=Nombre de Piece en X arrondi, Chute en X=6 mm
j ai essaye de declarer ChuteX avec des dim ChuteX as double etc mais cela ne donne pas de signe à la valeur ????
If LarP/Kx <> 0 Then 'ESSAI WILLY chute88888888888888888888888
SetUSERDRO(1317,NbPenX)
ChuteX = LarP-(NbPenX*KX)
Code ("Nombre de Piece en X arrondi,Chute en X=" & Format(ChuteX,"#,##0")&" mm")
SetUSERDRO(1308,ChuteX)
Sleep(1800)
End If
WF- très actif
- Messages : 281
Points : 398
Date d'inscription : 17/09/2018
Age : 72
Localisation : Bondy
Re: affichage d une variable dans message
Salut,
il y a une erreur dans ta chaine de formatage
Format(ChuteX,"#,##0")
devrait être
Format(ChuteX,"#.##0")
Tu dois utiliser un point pour le symbole décimal, pas une virgule (c'est Windows qui mettra une virgule si tu a réglé tes paramètres régionaux avec une virgule décimale)
Je ne comprends pas pourquoi tu utilise "Code" ? .. c'est fait pour envoyer une commande Gcode, et ce n'est pas une commande Gcode mais un simple texte c'est ça qui te met une erreur "Bad format unsigned integer ..." dans la ligne de status. Si tu veux un affichage dans la ligne de status, c'est "Message()", si tu veux une boite de dialogue c'est "MsgBox()"
Le fait de mettre une virgule au lieu d'un point dans la chaine de formatage ne met pas de message d'erreur mais par contre le formatage ne se fait pas correctement et le résultat affiché est -12 au lieu de -12.250
++
David
il y a une erreur dans ta chaine de formatage
Format(ChuteX,"#,##0")
devrait être
Format(ChuteX,"#.##0")
Tu dois utiliser un point pour le symbole décimal, pas une virgule (c'est Windows qui mettra une virgule si tu a réglé tes paramètres régionaux avec une virgule décimale)
Je ne comprends pas pourquoi tu utilise "Code" ? .. c'est fait pour envoyer une commande Gcode, et ce n'est pas une commande Gcode mais un simple texte c'est ça qui te met une erreur "Bad format unsigned integer ..." dans la ligne de status. Si tu veux un affichage dans la ligne de status, c'est "Message()", si tu veux une boite de dialogue c'est "MsgBox()"
Le fait de mettre une virgule au lieu d'un point dans la chaine de formatage ne met pas de message d'erreur mais par contre le formatage ne se fait pas correctement et le résultat affiché est -12 au lieu de -12.250
++
David
_________________
Traduction Française de CamBam et de sa documentation.
Re: affichage d une variable dans message
Bonjour à tous et à DH42 en particulier
qui une fois de plus à trouvé mon erreur un tres tres grand merci
ça fonctionne
( j'ai pourtant relu et essayé toutes les variantes de format de la page 71 )
c est une maniere d ecrire que j ai copié sur les codes de Brian Baker dans les Addons de Mach3 ????
Merci beaucoup
à bientot
qui une fois de plus à trouvé mon erreur un tres tres grand merci
ça fonctionne
( j'ai pourtant relu et essayé toutes les variantes de format de la page 71 )
c est une maniere d ecrire que j ai copié sur les codes de Brian Baker dans les Addons de Mach3 ????
Merci beaucoup
à bientot
WF- très actif
- Messages : 281
Points : 398
Date d'inscription : 17/09/2018
Age : 72
Localisation : Bondy
Re: affichage d une variable dans message
c est une maniere d ecrire que j ai copié sur les codes de Brian Baker dans les Addons de Mach3 ????
Tu peux préciser ?
++
David
_________________
Traduction Française de CamBam et de sa documentation.
affichage-d-une-variable-dans-message
Bonjour à Tous & à DH en particulier
Voila quand j ai commencé à ecrire mes Wizards j ai pris comme modele les gcodes dans les wizards de Brian Baker dans les "ADDONS" avec Operator edit button script
Par exemple le Addons "circular bolt patern " ecrit par Brian Baker en cliquant sur le boutton " Post Code " voila un exemple de Code
avec message **** Code "(MSG,Number of holes set wrong)" ****
mais etant une buse je me suis contenté de copier betement
Mes competence en matiere de VB Cypress sont endessous de Zéro
mais surtout un grand merci pour aide precieuse
Voila quand j ai commencé à ecrire mes Wizards j ai pris comme modele les gcodes dans les wizards de Brian Baker dans les "ADDONS" avec Operator edit button script
Par exemple le Addons "circular bolt patern " ecrit par Brian Baker en cliquant sur le boutton " Post Code " voila un exemple de Code
avec message **** Code "(MSG,Number of holes set wrong)" ****
mais etant une buse je me suis contenté de copier betement
Mes competence en matiere de VB Cypress sont endessous de Zéro
mais surtout un grand merci pour aide precieuse
- Code:
Sub Main()
'Input
DoOEMButton (169)
Xpos= GetOEMDRO (1000) 'X position
Ypos = GetOEMDRO (1001) 'Y Position
N = GetOEMDRO (1002) 'Number of holes
D= GetOEMDRO (1008) 'Dia. of Bolthole Circle
Z =Formatnumber(ABS( GetOEMDRO (1004))*-1,4) 'Depth of holes
A = GetOEMDRO (1003) 'Startangle
Q = Formatnumber(ABS(GetOEMDRO (1005)),4) 'Peck Depth
R = Formatnumber(GetOEMDRO (1006),4) 'Rappid plane
F = Formatnumber(GetOEMDRO (1007),2) 'Feedrate
Speed = GetOEMDRO (1080) 'spindle speed
Tool = GetOEMDRO (1081) 'Tool Number
'Test inputs
if N<2 Then
Code "(MSG,Number of holes set wrong)" ' voila un exemple ici
Exit Sub
End if
if D<=0 Then
Code "(MSG,Dia of bolt circle set wrong)" voila un exemple ici
Exit Sub
End if
if Z=0 Then
Code "(MSG,Depth of hole can not be Zero)" voila un exemple ici
Exit Sub
End if
if Q=0 Then
Code "(MSG,Peck depth can not be Zero)" voila un exemple ici
Exit Sub
End if
if F<=0 Then
Code "(MSG,Feed set wrong)" voila un exemple ici
Exit Sub
End if
Nc = 0
PI = 3.1415926535898
A = (A*PI)/180
B= 2*PI/N
OpenTeachFile "cholepattern.tap"
Code "G0 G49 G40 G17 G80 G50 G90 "
Code "M6 T" & Tool
IF GetUserLED(1000) Then
Code"G20 (Inch)"
Else
Code "G21 (mm)"
End if
IF GetUserLED(1024) Then
Code"M03 S"&speed
Else
Code "M04 S"&speed
End if
IF GetUserLED(1020) Then
Code"M08"
End if
Code "G90"
Code "G00 G43 H" & tool & " Z" & R
Do
X = Round (Xpos+(D/2)*Cos (A+B*Nc), 4)
Y = Round (Ypos+(D/2)*Sin (A+B*Nc), 4)
If Nc=0 Then
Call Drill_cycle(X,Y,Z,Q,R,F)
Else
Code" X" & nFmt(X,4) & " Y" & nFmt(Y,4)
End If
Nc = Nc+1
Loop While (N-1) >= Nc
Code ("G80")
Code"M5 M9"
Code ("M30")
CloseTeachFile
call LoadTeachFile()
End Sub
Sub Drill_cycle(X,Y,Z,Q,R,F)
If GetUserLED (1010) then
Code "G81 X" & nFmt(X,4) & " Y" & nFmt(Y,4) & " Z" & Z & " R" & R & " F" & F
End If
If GetUserLED (1011) Then
Code "G83 X" & nFmt(X,4) & " Y" & nFmt(Y,4) & " Z" & Z & " Q" & Q & " R" & R & " F" & F
End If
If GetUserLED (1012) Then
Code "G73 X" & nFmt(X,4) & " Y" & nFmt(Y,4) & " Z" & Z & " Q" & Q & " R" & R & " F" & F
End If
End Sub
Main
WF- très actif
- Messages : 281
Points : 398
Date d'inscription : 17/09/2018
Age : 72
Localisation : Bondy
Re: affichage d une variable dans message
Re
Oui, mais MSG est une commande Gcode, et sa syntaxe est (MSG, texte à sortir) .. les parenthèses sont obligatoires car c'est équivalent à un commentaire.
Dans sa forme lancée par un script, c'est Code "(MSG, texte à sortir)"
Ça ne gère pas les variables par contre, donc si tu écris
v = "texte"
Code"(MSG, v & à sortir)", v ne sera pas remplacé pas le contenu de la variable et ça t'écrira: v à sortir
++
David
Oui, mais MSG est une commande Gcode, et sa syntaxe est (MSG, texte à sortir) .. les parenthèses sont obligatoires car c'est équivalent à un commentaire.
Dans sa forme lancée par un script, c'est Code "(MSG, texte à sortir)"
Ça ne gère pas les variables par contre, donc si tu écris
v = "texte"
Code"(MSG, v & à sortir)", v ne sera pas remplacé pas le contenu de la variable et ça t'écrira: v à sortir
++
David
_________________
Traduction Française de CamBam et de sa documentation.
Sujets similaires
» message dans la barre de statut
» Message d'erreur "rebelle" dans Mach3
» Problèmes d’affichage des images dans Firefox
» Message d'erreur dans cutViewer
» variable VB sur script
» Message d'erreur "rebelle" dans Mach3
» Problèmes d’affichage des images dans Firefox
» Message d'erreur dans cutViewer
» variable VB sur script
Page 1 sur 1
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum