Page 1 sur 1
[R] convertir entrée dans un texte en {enter} dans le scrip
Posté : lun. 25 oct. 2010 14:03
par legend
Bonjour,
j'ai besoin que je copie un texte long (avec des enter dedan) dans un inputbox et aprés faire un send du texte.
comment est ce possible de convertir les entrée dans le texte en des {enter} dans le script.
Merci et bonne journée
Re: [..] convertir entrée dans un texte en {enter} dans le scrip
Posté : lun. 25 oct. 2010 14:07
par Iste
Utilisez une syntaxe du genre /n pour marquer les retours à la ligne dans votre inputbox, puis appliquez un StringReplace()
Exemple :
Code : Tout sélectionner
$input = InputBox("test","/n pour retour à la ligne","Salut !/nCa va ?")
$input2 = StringReplace($input,"/n",@CRLF)
MsgBox(0,'',$input2)
Re: [..] convertir entrée dans un texte en {enter} dans le scrip
Posté : lun. 25 oct. 2010 15:58
par legend
Merci,
et est ce qu'il y a un moyen ou une config pour que quand je fait copier a un texte avec des entée,
je peux l'inserrer (méme sans entée.)
exemple :
texte :
Salut!
ca va?
$input = inputbox ("","")
; $input devient : $input = "salut! ca va?"
ps : le code que tu m'a donné remplace juste {enter} par n/ je voudrais que je fait copier coller et le texte se copie totalement méme sans entrée sans que je fais des modifications.
quand je fait copier a un texte avec plusieurs lignes sa copie que la premiere ligne => c'est sa le probleme
merci et bonne journée
Re: [..] convertir entrée dans un texte en {enter} dans le scrip
Posté : lun. 25 oct. 2010 15:59
par Iste
L'inputbox detruit les retour a la ligne. Vous devrez creer votre propre boite de saisie a l'aide d'un GUICtrlCreateEdit()
Re: [..] convertir entrée dans un texte en {enter} dans le scrip
Posté : lun. 25 oct. 2010 16:04
par legend
tu pourrais me donner le code complet svp?
(une fenetre comme un inputbox contenant un espace ou coller de préférance grand)
(je n'ai pas encore commencé a aprendre la GUI)
merci et bonne journée
Re: [..] convertir entrée dans un texte en {enter} dans le scrip
Posté : lun. 25 oct. 2010 16:26
par Iste
Je n'ai pas poussé les tests sur ce code, mais si il y a des bugs, cela vous permettra dans vous lancer dans les GUI en essayant de corriger
Code : Tout sélectionner
_InputBox("test","yyyyyyyyy")
Func _InputBox(Const $title, Const $prompt, Const $default = "", Const $passwordChar = "", Const $width = 200, Const $height = 100, Const $left = -1, Const $top = -1, Const $timeout = 0, Const $hwnd = 0)
Local $localWidth, $localHeight
If $width < 80 Then
$localWidth = 80
Else
$localWidth = $width
EndIf
If $height < 80 Then
$localHeight = 80
Else
$localHeight = $height
EndIf
Local Const $gui = GUICreate($title, $localWidth, $localHeight, $left, $top)
Local Const $label = GUICtrlCreateLabel($prompt,0,0,$localWidth,20)
Local Const $area = GUICtrlCreateEdit($default, 0, 20, $localWidth, $localHeight-40)
Local Const $ok = GUICtrlCreateButton("Ok",($localWidth-80)/3, $localHeight-20, 40, 20)
Local Const $cancel = GUICtrlCreateButton("Annuler", ((($localWidth-80)/3)*2) + 40, $localHeight-20, 40, 20)
GUISetState()
Local $msg
While 1
$msg = GUIGetMsg()
Select
Case $msg = -3
Return ''
Case $msg = $ok
Return GUICtrlRead($area)
Case $msg = $cancel
Return ''
EndSelect
WEnd
EndFunc
Re: [..] convertir entrée dans un texte en {enter} dans le scrip
Posté : lun. 25 oct. 2010 16:32
par legend
Merci bcp!
mais le variable qui devient le texte est $msg?
comment faire pour send le texte insérré dans le inputbox?
merci et bonne journée
Re: [..] convertir entrée dans un texte en {enter} dans le scrip
Posté : lun. 25 oct. 2010 16:34
par Iste
Commencez par essayer le script !
La fonction que je vous ai passée fonction exactement comme inputbox()
Re: [..] convertir entrée dans un texte en {enter} dans le scrip
Posté : lun. 25 oct. 2010 18:30
par legend
Oui je sais merci

mais aprés comment je pourrais utiliser ce que j'ai écris dans l'inputbox
ps : je veux coller un paragraphe et aprés faire un send a ce paragraphe.
merci et bonne journée
Re: [..] convertir entrée dans un texte en {enter} dans le scrip
Posté : mar. 26 oct. 2010 08:33
par Iste
Voici un exemple simple
► Afficher le texte
Code : Tout sélectionner
$var = _InputBox("test","text")
Run("notepad.exe")
WinActive("[CLASS:Notepad]")
WinWaitActive("[CLASS:Notepad]")
Send($var)
Func _InputBox(Const $title, Const $prompt, Const $default = "", Const $passwordChar = "", Const $width = 200, Const $height = 100, Const $left = -1, Const $top = -1, Const $timeout = 0, Const $hwnd = 0)
Local $localWidth, $localHeight
If $width < 80 Then
$localWidth = 80
Else
$localWidth = $width
EndIf
If $height < 80 Then
$localHeight = 80
Else
$localHeight = $height
EndIf
Local Const $gui = GUICreate($title, $localWidth, $localHeight, $left, $top)
Local Const $label = GUICtrlCreateLabel($prompt,0,0,$localWidth,20)
Local Const $area = GUICtrlCreateEdit($default, 0, 20, $localWidth, $localHeight-40)
Local Const $ok = GUICtrlCreateButton("Ok",($localWidth-80)/3, $localHeight-20, 40, 20)
Local Const $cancel = GUICtrlCreateButton("Annuler", ((($localWidth-80)/3)*2) + 40, $localHeight-20, 40, 20)
GUISetState()
Local $msg
While 1
$msg = GUIGetMsg()
Select
Case $msg = -3
GUICtrlDelete($gui)
Return ''
Case $msg = $ok
Local Const $return = GUICtrlRead($area)
GUIDelete($gui)
Return $return
Case $msg = $cancel
GUIDelete($gui)
Return ''
EndSelect
WEnd
EndFunc
J'en ai profiter pour corriger quelque petits problèmes avec la fonction
Re: [..] convertir entrée dans un texte en {enter} dans le scrip
Posté : mar. 26 oct. 2010 13:27
par legend
Merci bcp <3<3
sa fonctionne a merveille