Page 1 sur 1

[R] problème pour insérer "FileWrite" dans script :(

Posté : mar. 27 déc. 2011 20:33
par jeanmimigab
Bonsoir tlm,

Je galère pour insérer une partie de script dans un script existant...

J'ai créer cette GUI et affecté les "$Button1 à 6" à des "ShellExecute(.......)"

Voici le code de la GUI...

Code : Tout sélectionner

#include <ButtonConstants.au3>
#include <DateTimeConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=C:\Users\jeanmimi\Desktop\MyJob\MyJob.kxf
Global $Form1 = GUICreate("Form1", 434, 555, 299, 180, BitOR($WS_MAXIMIZEBOX,$WS_MINIMIZEBOX,$WS_SIZEBOX,$WS_THICKFRAME,$WS_SYSMENU,$WS_CAPTION,$WS_OVERLAPPEDWINDOW,$WS_TILEDWINDOW,$WS_POPUP,$WS_POPUPWINDOW,$WS_GROUP,$WS_TABSTOP,$WS_BORDER,$WS_CLIPSIBLINGS))
GUISetBkColor(0x646464)
Global $Button1 = GUICtrlCreateButton("Commencer par cliquer ici pour saisir les interventions", 8, 176, 419, 49, $WS_GROUP)
Global $Pic1 = GUICtrlCreatePic(@DesktopDir & "\MyJob\ADD\MJ.jpg", 0, 0, 433, 81, BitOR($SS_NOTIFY,$WS_GROUP,$WS_CLIPSIBLINGS))
GUICtrlSetResizing(-1, $GUI_DOCKAUTO+$GUI_DOCKLEFT+$GUI_DOCKRIGHT+$GUI_DOCKHCENTER+$GUI_DOCKVCENTER+$GUI_DOCKWIDTH)
Global $Group1 = GUICtrlCreateGroup(" Rapport d'activité du ", 96, 96, 217, 65)
Global $Date1 = GUICtrlCreateDate("2011/12/26 18:50:46", 112, 120, 186, 21)
GUICtrlCreateGroup("", -99, -99, 1, 1)
Global $Button2 = GUICtrlCreateButton("Ensuite cliquer ici pour saisir le type de matériel découvert", 8, 232, 419, 49, $WS_GROUP)
Global $Button3 = GUICtrlCreateButton("Ensuite cliquer ici  pour saisir la découverte des connaissances ", 8, 288, 419, 49, $WS_GROUP)
Global $Button4 = GUICtrlCreateButton("Ensuite cliquer ici pour saisir les stages et/ou stages de perfectionnent", 8, 344, 419, 49, $WS_GROUP)
Global $Button5 = GUICtrlCreateButton("Ensuite cliquer ici pour saisir ici les formations et/ou immersions", 8, 400, 419, 49, $WS_GROUP)
Global $Button6 = GUICtrlCreateButton("Et enfin cliquer ici pour fermer MyJob et/ou afficher le rapport", 8, 464, 419, 81, $WS_GROUP)
GUICtrlSetBkColor(-1, 0x00FFFF)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

While 1
$msg = GUIGetMsg()
    Select
        Case $msg = $Button1
            ShellExecute(@DesktopDir & "\MyJob\ADD\MyJob_Interventions.exe")
        Case $msg = $Button2
            ShellExecute(@DesktopDir & "\MyJob\ADD\MyJob_Matériels.exe")
        Case $msg = $Button3
            ShellExecute(@DesktopDir & "\MyJob\ADD\MyJob_Connaissances.exe")
        Case $msg = $Button4
            ShellExecute(@DesktopDir & "\MyJob\ADD\MyJob_Stages.exe")
        Case $msg = $Button5
            ShellExecute(@DesktopDir & "\MyJob\ADD\MyJob_Formations_immersions.exe")
        Case $msg = $Button6
            ShellExecute(@scriptdir & "/MyJob.txt")
        Case $msg = $GUI_EVENT_CLOSE
        Exit
    EndSelect
WEnd
et ce que j’essaie désespérément d’insérer

Code : Tout sélectionner

$ecri2 = guictrlread($Date1)
$file = FileOpen(@scriptdir & "/MyJob.txt", 1)
FileWrite($file, "MyJog.exe" & @CRLF & @CRLF & @CRLF)
FileWrite($file, "Date de la saisie : " & $ecri2 & @CRLF & @CRLF)
Filewrite($file,"===================================================================" & @CRLF & @CRLF )
FileClose($file)
 
le but est de récupérer tout les "Filewrite" afin qu'ils apparaissent dans le rapport MyJob.txt lorsque celui -ci est ouvert avec ShellExecute(@scriptdir & "/MyJob.txt")

j'ai essayer pas mal de scripts mais soit ça ne fonctionne pas :?

merci d'avance pour votre aide :wink:

Re: [..] problème pour insérer "FileWrite" dans script :(

Posté : mar. 27 déc. 2011 20:51
par DimVar
Bonjour,


Peut être en créant une fonction qui contient ces lignes et l’appeler lorsque l'on presse butt6.

Cdlt.

Re: [..] problème pour insérer "FileWrite" dans script :(

Posté : mar. 27 déc. 2011 21:12
par jeanmimigab
Bonsoir DimVar et merci pour ton aide :wink:

Je suis désolé, je me suis mal exprimé...

En fait je voudrais qu'au lancement de la GUI, le fichier "MyJob.txt" soit ouvert/édité/fermé"

afin qu'ensuite le >> ShellExecute(@scriptdir & "/MyJob.txt") << puisse ouvrir le fichier "MyJob.txt" qui aura été préalablement créer...

Re: [..] problème pour insérer "FileWrite" dans script :(

Posté : mar. 27 déc. 2011 21:34
par mikell
Mais si il a raison
► Afficher le texte

Re: [..] problème pour insérer "FileWrite" dans script :(

Posté : mar. 27 déc. 2011 21:44
par jeanmimigab
Bpnsoir Mikell,

Je ne doutais pas du conseil de DimVar, mais comme je m'était mal exprimé dans mon post initial, je préférais préciser mes pensées.

En tout cas ton script roule bien, je vais tenté d'adapter tout cela sans me créer de bug au fur et à mesure que le script évoluera...

merci à vous deux et bonne soirée :wink:

Jeanmimigab

Re: [..] problème pour insérer "FileWrite" dans script :(

Posté : mar. 27 déc. 2011 21:57
par DimVar
jeanmimigab a écrit :
merci à vous deux et bonne soirée :wink:

Jeanmimigab
Pareillement. (et pensez à Resolu)

Re: [..] problème pour insérer "FileWrite" dans script :(

Posté : mar. 27 déc. 2011 22:22
par jeanmimigab
ha, j'ai oublié de préciser autre chose...

La date que je voudrai récupérer dans MyJob.txt est celle que je vais sélectionner dans la fenêtre
Global $Date1 = GUICtrlCreateDate("Celle-ci", 112, 120, 186, 21)
Image

or le script met d’office la date "2011/12/26 18:50:46" car le rapport est édité avant que l'on ai le temps de sélectionne la date

Je pensais donc remplacer

Code : Tout sélectionner

$date = "2011/12/26 18:50:46"
_Log($date)
Par

Code : Tout sélectionner

$date = guictrlread($Date1)
_Log($date)
Mais ça cafouille quelque part :?

Re: [..] problème pour insérer "FileWrite" dans script :(

Posté : mar. 27 déc. 2011 22:28
par DimVar
Sans vouloir empiéter sur le code de Mikell, j'aurais intégré la lecture de la date, dans la fonction.

Re: [..] problème pour insérer "FileWrite" dans script :(

Posté : mar. 27 déc. 2011 22:57
par mikell
Tu as encore raison :mrgreen:
► Afficher le texte

Re: [..] problème pour insérer "FileWrite" dans script :(

Posté : mar. 27 déc. 2011 23:24
par jeanmimigab
ha c'est cool comme ça...

Un seul défaut persiste, c'est que l'écriture de la date dans le rapport se fait avant que je n'ai le temps de la sélectionner :mrgreen:

Dans l'idée, l'idéal serait que la séquence suivante se produise...

1 >> à l'ouverture de la GUI
2 >> exécution de cette partie...

Code : Tout sélectionner

[color=#0000FF]$file = FileOpen(@scriptdir & "/MyJob.txt", 1)
FileWrite($file, "MyJog.exe" & @CRLF & @CRLF & @CRLF)[/color]
3 >> je choisis ma date dans la fenêtre de sélection
4 >> la date est insérée dans le rapport >> FileWrite($file, "Date de la saisie : " & $date0 & @CRLF & @CRLF)
5 >> le script passe en pause afin que je puisse exécuter les "$Button1 à 5" qui eux vont ajouter du contenu à la suite du rapport MyLog.txt lors de leur exécution
et 6 >> que la sélection de "$Button6" édite la fin du rapport
Filewrite($file,"===================================================================" & @CRLF & @CRLF )
FileClose($file)
EndFunc
et enfin la GUI se ferme après avoir ouvert le rapport >> ShellExecute(@scriptdir & "/MyJob.txt") >> exit

Je vais tenter de trouver le truc, mais vu mon niveau ça va être showtime :mrgreen:

Bonne soirée à tous :wink:

Re: [..] problème pour insérer "FileWrite" dans script :(

Posté : mar. 27 déc. 2011 23:53
par mikell
Tartignole ton truc :mrgreen:
La seule combine que j'ai trouvée est de mettre 2 boucles While
► Afficher le texte

Re: [..] problème pour insérer "FileWrite" dans script :(

Posté : mer. 28 déc. 2011 09:13
par DimVar
J'aurais de mon coté, procédé comme suit :
► Afficher le texte
Ps : Peux tu, stp, mettre ton 1er code en spoiler car ça déforme la taille de la page ? Merci.

Re: [..] problème pour insérer "FileWrite" dans script :(

Posté : mer. 28 déc. 2011 21:18
par jeanmimigab
Bonsoir les amis,

Ils sont vraiment sympa vos deux scripts...

Si avec ça je ne m'en sort pas je n'ai plus qu'a me mettre au tricot :mrgreen:

Je vous tien au parfum...

Merci encore... :wink: