Le Deal du moment : -20%
Drone Dji DJI Mini 4K (EU)
Voir le deal
239 €

affichage d une variable dans message

2 participants

Aller en bas

affichage  d une variable dans message Empty affichage d une variable dans message

Message  WF Sam 16 Mar 2024 - 19:32

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
WF
WF
très actif
très actif

Messages : 281
Points : 398
Date d'inscription : 17/09/2018
Age : 72
Localisation : Bondy

Revenir en haut Aller en bas

affichage  d une variable dans message Empty Re: affichage d une variable dans message

Message  dh42 Sam 16 Mar 2024 - 20:22

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")


affichage  d une variable dans message Sans_503


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")

affichage  d une variable dans message Sans_504

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.
dh42
dh42
Admin
Admin

Messages : 25662
Points : 38371
Date d'inscription : 21/06/2009
Age : 60
Localisation : Près de St Etienne (42)

http://dh42.free.fr/

Revenir en haut Aller en bas

affichage  d une variable dans message Empty Affichage d une variable dans message

Message  WF Dim 17 Mar 2024 - 10:12

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
WF
WF
très actif
très actif

Messages : 281
Points : 398
Date d'inscription : 17/09/2018
Age : 72
Localisation : Bondy

Revenir en haut Aller en bas

affichage  d une variable dans message Empty Re: affichage d une variable dans message

Message  dh42 Dim 17 Mar 2024 - 22:45

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)

affichage  d une variable dans message Sans_505

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.
dh42
dh42
Admin
Admin

Messages : 25662
Points : 38371
Date d'inscription : 21/06/2009
Age : 60
Localisation : Près de St Etienne (42)

http://dh42.free.fr/

Revenir en haut Aller en bas

affichage  d une variable dans message Empty affichage d une variable dans message

Message  WF Lun 18 Mar 2024 - 12:31

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
WF
WF
très actif
très actif

Messages : 281
Points : 398
Date d'inscription : 17/09/2018
Age : 72
Localisation : Bondy

Revenir en haut Aller en bas

affichage  d une variable dans message Empty Re: affichage d une variable dans message

Message  dh42 Lun 18 Mar 2024 - 21:21

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)

affichage  d une variable dans message Sans_506

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 Wink  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.
dh42
dh42
Admin
Admin

Messages : 25662
Points : 38371
Date d'inscription : 21/06/2009
Age : 60
Localisation : Près de St Etienne (42)

http://dh42.free.fr/

Revenir en haut Aller en bas

affichage  d une variable dans message Empty Re: affichage d une variable dans message

Message  WF Mar 19 Mar 2024 - 15:57

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
WF
WF
très actif
très actif

Messages : 281
Points : 398
Date d'inscription : 17/09/2018
Age : 72
Localisation : Bondy

Revenir en haut Aller en bas

affichage  d une variable dans message Empty Re: affichage d une variable dans message

Message  dh42 Mar 19 Mar 2024 - 22:45

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.
dh42
dh42
Admin
Admin

Messages : 25662
Points : 38371
Date d'inscription : 21/06/2009
Age : 60
Localisation : Près de St Etienne (42)

http://dh42.free.fr/

Revenir en haut Aller en bas

affichage  d une variable dans message Empty affichage-d-une-variable-dans-message

Message  WF Mer 20 Mar 2024 - 15:28

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

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
WF
très actif
très actif

Messages : 281
Points : 398
Date d'inscription : 17/09/2018
Age : 72
Localisation : Bondy

Revenir en haut Aller en bas

affichage  d une variable dans message Empty Re: affichage d une variable dans message

Message  dh42 Mer 20 Mar 2024 - 18:48

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


_________________
Traduction Française de CamBam et de sa documentation.
dh42
dh42
Admin
Admin

Messages : 25662
Points : 38371
Date d'inscription : 21/06/2009
Age : 60
Localisation : Près de St Etienne (42)

http://dh42.free.fr/

Revenir en haut Aller en bas

affichage  d une variable dans message Empty Re: affichage d une variable dans message

Message  Contenu sponsorisé


Contenu sponsorisé


Revenir en haut Aller en bas

Revenir en haut

- Sujets similaires

 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum