[R] Petit souci pour éditer un fichier.vbs

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Avatar du membre
jeanmimigab
Niveau 5
Niveau 5
Messages : 123
Enregistré le : sam. 08 oct. 2011 14:01
Status : Hors ligne

[R] Petit souci pour éditer un fichier.vbs

#1

Message par jeanmimigab »

Bonjour à tous(tes),

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....
Capture.JPG
Capture.JPG (14.37 Kio) Vu 1168 fois
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 :wink:
#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
Modifié en dernier par jeanmimigab le sam. 20 janv. 2018 09:09, modifié 1 fois.
Avatar du membre
orax
Modérateur
Modérateur
Messages : 1479
Enregistré le : lun. 23 mars 2009 04:50
Localisation : ::1
Status : Hors ligne

Re: [..] Petit souci pour éditer un fichier.vbs

#2

Message par orax »

Il y a juste besoin de remplacer (avec StringReplace) les retours à la ligne par les "& vbCrLf &".
Pour chercher les retours à la ligne, il faut utiliser la macro @CRLF.
De petits détails peuvent faire toute la différence. — Quand la boule de neige commence à rouler… poussez-la. (Columbo)
Avatar du membre
jeanmimigab
Niveau 5
Niveau 5
Messages : 123
Enregistré le : sam. 08 oct. 2011 14:01
Status : Hors ligne

Re: [..] Petit souci pour éditer un fichier.vbs

#3

Message par jeanmimigab »

Bonjour orax,
Je vais tester et voir de que cela donne.
Merci beaucoup et bon week-end :wink:
Répondre