Page 1 sur 1
[R] Séparer un texte en deux variables
Posté : mer. 21 mai 2014 12:08
par Elwyios
Bonjour, je suis en train de coder un petit logiciel pour une boulangerie mais j'ai un petit problème
Pour aller plus vite j'ai décider de faire un seul Input, et noter les variables à la suite avec la séparation par un "/"
Exemple :
Baguette/3/1/Robert
Donc l'article acheter est Baguette, il a été acheter 3 fois pour 1 euros unité par Robert
Mais je n'arrive pas a correctement les séparés, j'ai essayer avec stringsplit mais je n'ai pas réussi
Merci d'avance
Rien trouver, je ne sais pas comment ça s'appel, je ne trouve rien :s
Re: [..]Séparer un texte en deux variables
Posté : mer. 21 mai 2014 12:34
par GaRydelaMer
Bonjour
stringSplit est la solution mais tu vas obtenir un tableau
pour ton exemple
Code : Tout sélectionner
Local $aInput = StringSplit(GUICtrlRead($input), "/")
=>$aInput
[0]=4
[1]=Baguette
[2]=3
[3]=1
[4]=Robert
Local $aInput = StringSplit("Baguette/3/1/Robert", "/", 2)
=>$aInput Remarque le dernier paramètre de la fonction
[0]=Baguette
[1]=3
[2]=1
[3]=Robert
Mais je trouve dommage que tu utilise pas plusieurs input tu aurais un meilleur contrôle sur la saisie de plus celui qui saisie devra se souvenir 1/ du séparateur, 2/ de l'ordre.
Re: [..]Séparer un texte en deux variables
Posté : mer. 21 mai 2014 12:39
par Hugues
Salut,
Méthode simple, tu fais 3 input au lieu de 1. Quand tu cliques sur ton bouton valider du concatènes les 3 variables...
A l'arrache:
► Afficher le texte
Code : Tout sélectionner
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Form1", 191, 213, 192, 124)
$Input1 = GUICtrlCreateInput("", 32, 24, 121, 21)
$Input2 = GUICtrlCreateInput("", 32, 56, 121, 21)
$Input3 = GUICtrlCreateInput("", 32, 96, 121, 21)
$Button1 = GUICtrlCreateButton("Valider", 40, 136, 75, 25)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Button1
_Result()
EndSwitch
WEnd
Func _Result()
MsgBox(0, "Resultat", GUICtrlRead($Input1) & "/" & GUICtrlRead($Input2) & "/" & GUICtrlRead($Input3))
EndFunc
Re: [..]Séparer un texte en deux variables
Posté : mer. 21 mai 2014 12:56
par Elwyios
Je sais pour les inputs, le problème c'est que j'ai des contraintes, interdit à la souris et à la touche TAB, il me faut donc tout regroupé.
Merci à vous, j'ai fini par comprendre comment fonctionner StringSplit !
Code : Tout sélectionner
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Form1", 191, 213, 192, 124)
$Input = GUICtrlCreateInput("Baguette/3/1/Robert", 32, 24, 121, 21)
$Button1 = GUICtrlCreateButton("Valider", 40, 136, 75, 25)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Button1
Local $array = StringSplit(GUICtrlRead($Input), '/', 1)
MsgBox(64,"",$array[2])
EndSwitch
WEnd
Merci GaRydelaMer