Gambas France BETA


Pas de compte ? Incription

changer une commande à l'exécution

Ce sujet est résolu.

1
AuteurMessages
valaquarus#1 Posté le 26/2/2024 à 19:29:05
-- Unus Ex Altera --Je voudrais changer une commande dans le code à l'exécution, est ce possible ?
Par exemple en faisant varier un comboBox avec des valeurs de texte de commandes différentes et bien sûr faire exécuter ces commandes.
Système d'exploitation : KDE neon 6.0 ~ Version Gambas : 3.19.5
Patrick#2 Posté le 26/2/2024 à 21:13:12
Oui
Il faut aller voir du coté de "eval"
valaquarus#3 Posté le 26/2/2024 à 22:10:05
-- Unus Ex Altera --Merci Patrick, j'ai effectivement essayé avec eval() mais je dois mal m'en servir car je n'ai pas réussi à obtenir ce que je voulais.
Ce n'est pas grave j'ai contourné le souci en effectuant un test pour chaque combinaison voulue mais pour le fun je vais retravailler la chose.
Système d'exploitation : KDE neon 6.0 ~ Version Gambas : 3.19.5
spheris#4 Posté le 27/2/2024 à 18:41:20
Je voudrais changer une commande dans le code à l'exécution, est ce possible ?


Je ne comprends pas la question.
:bounce: :bounce: :bounce:
valaquarus#5 Posté le 27/2/2024 à 18:45:59
-- Unus Ex Altera --Pour une même commande de base je veux pouvoir la faire varier selon des critères que je peux mettre dans un comboBox, par exemple.
Je voulais savoir comment récupérer à partie de string une commande pour le code :
eval("expression") fait le job.
Système d'exploitation : KDE neon 6.0 ~ Version Gambas : 3.19.5
spheris#6 Posté le 27/2/2024 à 22:46:03
Aurais-tu un petit exemple de code pour expliquer ta question?
linuxos#7 Posté le 28/2/2024 à 00:02:13
Un peu de sel, de poivre et la crevette sera... Moi non plus je ne comprends pas bien la question...

Olivier
Lorsqu'on s'occupe d'informatique, il faut faire comme les canards... Paraître calme en surface et pédaler comme un forcené par en dessous.
valaquarus#8 Posté le 28/2/2024 à 09:31:09
-- Unus Ex Altera --
1
2
3
4
5
6
7
8
DIM Context AS NEW Collection

Context["X"] = 2
Context["Z"] = 3
Context["Y"] = "Gambas"


PRINT Eval("X * Len(Y)", Context)


Je veux ajouter un combobox qui contiendrait les valeurs de la collection pour effectuer un test pour imprimer soit avec une valeur soit avec une autre sélectionnée dans le combobox.
Système d'exploitation : KDE neon 6.0 ~ Version Gambas : 3.19.5
linuxos#9 Posté le 28/2/2024 à 13:36:35
Un peu de sel, de poivre et la crevette sera... valaquarus,

Si j'ai bien compris ce que tu souhaites faire:

1
2
3
4
5
6
7
DIM Item AS STRING

ComboBox1.List.Clear()

FOR EACH Item IN Context
ComboBox1.List.Add(Item)
NEXT


Olivier
Lorsqu'on s'occupe d'informatique, il faut faire comme les canards... Paraître calme en surface et pédaler comme un forcené par en dessous.
valaquarus#10 Posté le 28/2/2024 à 14:04:44
-- Unus Ex Altera --Oui on peut alimenter le comboBox ainsi, et surtout récupérer l'item en cours pour évaluer la commande qui est rentrée dans l'item.

1
2
IF Context["X"] THEN PRINT Eval("X * Len(Y)", Context)
IF Context["Z"] THEN PRINT Eval("Z * Len(Y)", Context)

Du genre !
Système d'exploitation : KDE neon 6.0 ~ Version Gambas : 3.19.5
vuott#11 Posté le 28/2/2024 à 15:28:21
Ne cedere ineluctabili possimusJe ne comprends pas très bien ce que vous demandez, mais pourquoi la propriété '.List' de la Combobox ne conviendrait-elle pas ?
« Vita non suavis esse potest, nec Mors amara. »
valaquarus#12 Posté le 28/2/2024 à 15:50:45
-- Unus Ex Altera --Bonjour Vuott,
en fonction d'une situation je veux pouvoir changer de commande pendant l'exécution du programme.
Imaginons que la première commande est avec Or et la seconde avec And je veux pouvoir choisir pendant l'exécution.
Ce n'est pas le problème du combobox ou de list c'est le passage de string à commande d'où l'utilisation de eval.

1
2
3
4
5
6
IF "Or" THEN sCommande = "(vbxTChiffres.Value = vbxRandChif.Value Or vbxTEtoiles.Value = vbxRandEtoi.Value)"

IF "And" THEN sCommande = "(vbxTChiffres.Value = vbxRandChif.Value And vbxTEtoiles.Value = vbxRandEtoi.Value)"

IF i < 6 AND (Label17.Visible = FALSE AND eval (sCommand) THEN
(le reste)
Système d'exploitation : KDE neon 6.0 ~ Version Gambas : 3.19.5
1