METTRE DES TABULATIONS DANS UNE SERIES DE NOMBRES

Poser vos questions de programmation en AutoHotkey
alexooo
Posts: 23
Joined: 16 Jul 2018, 13:50

METTRE DES TABULATIONS DANS UNE SERIES DE NOMBRES

06 Nov 2019, 16:52

Bonsoir,
Après bon nombre de recherches, je ne parviens pas a trouver la solution,

Mon but est d'inscrire 25 chiffres et de les séparer par des tabulations entre eux a des endroit spécifique.

Exemple: Je saisi : 012345678910123456789
Et je veux que la sortie quand j'appuie sur F1 cela sort comme suit : 01 {TAB} 2345678910 {TAB} 12345678911{TAB} 12

Je ne sais pas quelle expression utiliser pour le formatage : Setformat ? RegExReplace? Merci par avance!

Voici mon script :

Code: Select all

Gui Add, Edit,	x76 y88 w200 h20 	vREF2	
Gui Show, x1172 y20 w260 h229, TEST
Return	

F1::
GuiControlGet, REF2
Sendinput, %REF2%,, "xx%A_Tab%xxxxxxx%A_Tab%XX"
return
Last edited by joedf on 07 Nov 2019, 14:02, edited 1 time in total.
Reason: added code tags
User avatar
joedf
Posts: 8951
Joined: 29 Sep 2013, 17:08
Location: Canada
Contact:

Re: METTRE DES TABULATIONS DANS UNE SERIES DE NOMBRES

06 Nov 2019, 18:21

Essayez le suivant?

Code: Select all

Gui Add, Edit, w200 vREF2
Gui Add, Button, gOk, Okay
Gui Show, , TEST
Return

GuiClose:
ExitApp

F1::
Ok:
gosub changeInput
return

changeInput:
GuiControlGet,theString,, REF2
newString := SubStr(theString,1,2) . "`t" . SubStr(theString,3,-2) . "`t" . SubStr(theString,-1)
GuiControl,, REF2, % newString
return
Image Image Image Image Image
Windows 10 x64 Professional, Intel i5-8500, NVIDIA GTX 1060 6GB, 2x16GB Kingston FURY Beast - DDR4 3200 MHz | [About Me] | [About the AHK Foundation] | [Courses on AutoHotkey]
[ASPDM - StdLib Distribution] | [Qonsole - Quake-like console emulator] | [LibCon - Autohotkey Console Library]
alexooo
Posts: 23
Joined: 16 Jul 2018, 13:50

Re: METTRE DES TABULATIONS DANS UNE SERIES DE NOMBRES

07 Nov 2019, 12:36

Super !!! Une solution en proche du but !

Alors je l'ai mofdifié un peu étant donné que je veux que le champs soit saisie ensuite et cela fonctionne

Par contre, je n'obtiens pas le resultat voulu pour 25 chiffres.

Ils doivent ce décomposer de la façon suivante : 11{TAB]2222222222{TAB]33333333333{TAB]44

De plus quand je rejoue la macro la tabulations s'agrandi alors que la casse doit toujours être respectée.

Merci pour votre aide ! Si vous voulez m'expliquer votre formule je serais aussi ravi : "newString := SubStr(theString,1,2) . "`t" . SubStr(theString,3,-2) . "`t" . SubStr(theString,-1)"

Script 2.0:

Code: Select all

Gui Add, Edit, w200 vREF2
Gui Show, , TEST
Return

GuiClose:
ExitApp

F1::
GuiControlGet,theString,, REF2
newString := SubStr(theString,1,2) . "`t" . SubStr(theString,3,-2) . "`t" . SubStr(theString,-1)
GuiControl,, REF2, % newString
Sendinput, % newString
return
Last edited by joedf on 07 Nov 2019, 13:49, edited 1 time in total.
Reason: added code tags
User avatar
joedf
Posts: 8951
Joined: 29 Sep 2013, 17:08
Location: Canada
Contact:

Re: METTRE DES TABULATIONS DANS UNE SERIES DE NOMBRES

07 Nov 2019, 14:01

Le SendInput brise la fonction. Tu n'as plus besoin de le garder, la commande GuiControl,, REF2, % newString change déjà le contenu. Alors, tu devrais enlever Sendinput, % newString.

Pour la formule newString := SubStr(theString,1,2) . "`t" . SubStr(theString,3,-2) . "`t" . SubStr(theString,-1):
  • SubStr(theString,1,2): retourner le texte d'à partir de la première lettre jusqu’à la deuxième (inclusif).
  • . : joindre le text avec ce qui suit, mais c'est optionnel. On peu les enlever et la formule fonctionnerais.
  • SubStr(theString,3,-2): retourner le texte d'à partir de la 3e lettre jusqu’avant les deux dernières lettres
  • SubStr(theString,-1): retourner seulement les deux dernières lettres.
Image Image Image Image Image
Windows 10 x64 Professional, Intel i5-8500, NVIDIA GTX 1060 6GB, 2x16GB Kingston FURY Beast - DDR4 3200 MHz | [About Me] | [About the AHK Foundation] | [Courses on AutoHotkey]
[ASPDM - StdLib Distribution] | [Qonsole - Quake-like console emulator] | [LibCon - Autohotkey Console Library]
alexooo
Posts: 23
Joined: 16 Jul 2018, 13:50

Re: METTRE DES TABULATIONS DANS UNE SERIES DE NOMBRES

07 Nov 2019, 17:23

Tu m'as fais réfléchir et comprendre comment j'obtenais mon résultat final ! il correspond parfaitement à mes attentes.

Merci beaucoup de ta réactivité, efficacité et générosité ! joedf la solution du forum :D :D :D :bravo:

Return to “J'ai besoin d'aide”

Who is online

Users browsing this forum: No registered users and 40 guests