Je code un petit programme qui génère des messages au format vbs.
J'ai un soucis lors de l'édition du message saisi. En effet j’utilise "GUICtrlCreateEdit" afin de permettre un retour à la ligne lors de la saisie du message.
(car je n'arrive pas à faire avec "GUICtrlCreateInput")
le retour à la ligne génère des erreurs car il manque des guillemets à la fin de - ligne 1- et au début - ligne 2 - et les "& vbCrLf &" etc....
J'avoue que je suis à cours de solution (à moins de créer dans la gui une zone de saisie "GUICtrlCreateInput" pour chaque lignes)
Voici le script et merci d'avance
#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_Icon=icone.ico
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
#include <FileConstants.au3>
#include <MsgBoxConstants.au3>
#include <ComboConstants.au3>
#include <File.au3>
#include <Array.au3>
#include <ButtonConstants.au3>
#include <DateTimeConstants.au3>
#include <EditConstants.au3>
#include <date.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
$sDate = _NowDate ( )
$sTime = _NowTime ( )
#Region ### START Koda GUI section ### Form=C:\Users\jeanmimi\Desktop\liveup\admin2.kxf
Global $Form1 = GUICreate("Live-Up Administrateur", 528, 597, 224, 232)
Global $MenuItem2 = GUICtrlCreateMenu("&Menu")
Global $MenuItem4 = GUICtrlCreateMenuItem("Tutoriel", $MenuItem2)
Global $MenuItem3 = GUICtrlCreateMenuItem("Rapport LiveUp", $MenuItem2)
GUISetBkColor(0xFFFFFF)
Global $Group1 = GUICtrlCreateGroup(" Saisir votre message ", 16, 100, 377, 313)
GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")
$Input1 = GUICtrlCreateEdit("", 40, 140, 329, 201)
; test GUICtrlCreateInput VS GUICtrlCreateEdit >> $Input1 = GUICtrlCreateInput("", 40, 140, 329, 201) >> Pas de retour à la ligne possible à l'édition
GUICtrlCreateGroup("", -99, -99, 1, 1)
Global $Button1 = GUICtrlCreateButton("Envoyer le message", 104, 352, 211, 41)
; Listing dossiers
Global $aScriptDir = _FileListToArray(@ScriptDir, "*", $FLTA_FOLDERS, 0)
; Crée un fichier dans le répertoire du script.
Global $sFilePath = @ScriptDir & "\nni.txt"
;export du noms des dossiers nni dans fichier nni.txt
_FileWriteFromArray($sFilePath, $aScriptDir, 1)
Global $liste = GUICtrlCreateEdit("", 408, 140, 97, 257, $ES_AUTOVSCROLL + $WS_VSCROLL)
Global $Read1 = FileRead (@ScriptDir & "\nni.txt")
GUICtrlSetData($Liste, $Read1, 1)
Global $Group2 = GUICtrlCreateGroup(" Contacts ", 400, 100, 113, 313)
GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")
GUICtrlCreateGroup("", -99, -99, 1, 1)
Global $Pic1 = GUICtrlCreatePic("liveup.JPG", 104, 16, 329, 79)
Global $Pic2 = GUICtrlCreatePic("vaguebmp.bmp", 0, 416, 527, 160)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
While 1
$msg = GUIGetMsg()
Select
Case $msg = $GUI_EVENT_CLOSE
Exit
Case $msg = $Button1
Valider()
Case $msg = $MenuItem4
Tuto()
Case $msg = $MenuItem2
Rapport()
EndSelect
WEnd
Func VAlider()
$sDate = _NowDate ( )
$sTime = _NowTime ( )
$valideur = @UserName
$ecri2 = guictrlread($Input1)
if $ecri2 <> "" then
_FileCreate(@ScriptDir & "\test.vbs")
Local $file2 = FileOpen(@ScriptDir & "\test.vbs", BitOR($FO_ANSI, $FO_APPEND, $FO_CREATEPATH))
FileWrite($file2, 'MsgBox ' &'"' & $ecri2 & '"')
FileClose($file2)
;édition du rapport
FileWrite(@scriptdir & "\rapport.csv",$sDate & ";" & $ecri2 & ";" & $sDate & ";" & $valideur & @CRLF)
MsgBox(0, "test ok", "Message édité avec succès ! ", 3)
Exit
;suite script si zone saisie vide
Else
MsgBox(0, "Attention", " Vous devez remplir la partie " & '"' & "Saisir votre message" & '"')
EndIf
EndFunc
Func Tuto()
ShellExecute(@scriptdir & "\tutoriel.pdf")
EndFunc
Func Rapport()
; en attente
EndFunc
#AutoIt3Wrapper_Icon=icone.ico
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
#include <FileConstants.au3>
#include <MsgBoxConstants.au3>
#include <ComboConstants.au3>
#include <File.au3>
#include <Array.au3>
#include <ButtonConstants.au3>
#include <DateTimeConstants.au3>
#include <EditConstants.au3>
#include <date.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
$sDate = _NowDate ( )
$sTime = _NowTime ( )
#Region ### START Koda GUI section ### Form=C:\Users\jeanmimi\Desktop\liveup\admin2.kxf
Global $Form1 = GUICreate("Live-Up Administrateur", 528, 597, 224, 232)
Global $MenuItem2 = GUICtrlCreateMenu("&Menu")
Global $MenuItem4 = GUICtrlCreateMenuItem("Tutoriel", $MenuItem2)
Global $MenuItem3 = GUICtrlCreateMenuItem("Rapport LiveUp", $MenuItem2)
GUISetBkColor(0xFFFFFF)
Global $Group1 = GUICtrlCreateGroup(" Saisir votre message ", 16, 100, 377, 313)
GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")
$Input1 = GUICtrlCreateEdit("", 40, 140, 329, 201)
; test GUICtrlCreateInput VS GUICtrlCreateEdit >> $Input1 = GUICtrlCreateInput("", 40, 140, 329, 201) >> Pas de retour à la ligne possible à l'édition
GUICtrlCreateGroup("", -99, -99, 1, 1)
Global $Button1 = GUICtrlCreateButton("Envoyer le message", 104, 352, 211, 41)
; Listing dossiers
Global $aScriptDir = _FileListToArray(@ScriptDir, "*", $FLTA_FOLDERS, 0)
; Crée un fichier dans le répertoire du script.
Global $sFilePath = @ScriptDir & "\nni.txt"
;export du noms des dossiers nni dans fichier nni.txt
_FileWriteFromArray($sFilePath, $aScriptDir, 1)
Global $liste = GUICtrlCreateEdit("", 408, 140, 97, 257, $ES_AUTOVSCROLL + $WS_VSCROLL)
Global $Read1 = FileRead (@ScriptDir & "\nni.txt")
GUICtrlSetData($Liste, $Read1, 1)
Global $Group2 = GUICtrlCreateGroup(" Contacts ", 400, 100, 113, 313)
GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")
GUICtrlCreateGroup("", -99, -99, 1, 1)
Global $Pic1 = GUICtrlCreatePic("liveup.JPG", 104, 16, 329, 79)
Global $Pic2 = GUICtrlCreatePic("vaguebmp.bmp", 0, 416, 527, 160)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
While 1
$msg = GUIGetMsg()
Select
Case $msg = $GUI_EVENT_CLOSE
Exit
Case $msg = $Button1
Valider()
Case $msg = $MenuItem4
Tuto()
Case $msg = $MenuItem2
Rapport()
EndSelect
WEnd
Func VAlider()
$sDate = _NowDate ( )
$sTime = _NowTime ( )
$valideur = @UserName
$ecri2 = guictrlread($Input1)
if $ecri2 <> "" then
_FileCreate(@ScriptDir & "\test.vbs")
Local $file2 = FileOpen(@ScriptDir & "\test.vbs", BitOR($FO_ANSI, $FO_APPEND, $FO_CREATEPATH))
FileWrite($file2, 'MsgBox ' &'"' & $ecri2 & '"')
FileClose($file2)
;édition du rapport
FileWrite(@scriptdir & "\rapport.csv",$sDate & ";" & $ecri2 & ";" & $sDate & ";" & $valideur & @CRLF)
MsgBox(0, "test ok", "Message édité avec succès ! ", 3)
Exit
;suite script si zone saisie vide
Else
MsgBox(0, "Attention", " Vous devez remplir la partie " & '"' & "Saisir votre message" & '"')
EndIf
EndFunc
Func Tuto()
ShellExecute(@scriptdir & "\tutoriel.pdf")
EndFunc
Func Rapport()
; en attente
EndFunc