j'essaie de mettre au point une application d'affichage de message sur la Télé.
J'ai un module de modification de fichier texte (celui qui est afficher sur la télé)
je sélectionne le message grâce à un combo et l'affiche dans une fenêtre (GUICtrlCreateEdit)
pour pouvoir le modifier par la suite.
Ca fonctionne bien , quand je sélectionne le message 1 c'est bien celui qui s'affiche, je sélectionne le message 2 , il s'affiche correctement mais quand je cliques dessus pour le modifier, c'est le contenu du message 1 qui le remplace...
J'espère que c'est à peut prés clair ...
► Afficher le texte
Code : Tout sélectionner
#include <ComboConstants.au3>
#include <File.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
;##################################################################
; Déclaration constante et variable
;##################################################################
;Const $INI = "V:\MESSAGE_TV\MESSAGE_TV.INI"
Opt("TrayIconDebug", 1)
Const $INI = "C:\PROJET\MESSAGE_TV\MESSAGE_TV.INI"
$Titre = IniRead($INI, "Main", "Titre", "")
$Texte_1 = IniRead($INI, "Main", "Texte_1", "")
$Texte_2 = IniRead($INI, "Main", "Texte_2", "")
$Texte_3 = IniRead($INI, "Main", "Texte_3", "")
$Texte_4 = IniRead($INI, "Main", "Texte_4", "")
$Texte_5 = IniRead($INI, "Main", "Texte_5", "")
$Temps = IniRead($INI, "Main", "Temps", "")
$Size_Letter = IniRead($INI, "Main", "Size_Letter", "")
$Police_Letter = IniRead($INI, "Main", "Police_Letter", "")
$Largeur_GUI = IniRead($INI, "Main", "Largeur_GUI", "")
$Hauteur_GUI = IniRead($INI, "Main", "Hauteur_GUI", "")
$Dossier_Message = IniRead($INI, "Main", "Dossier_Message", "")
$Message_Texte_1 = FileRead($Texte_1)
$Message_Texte_2 = FileRead($Texte_2)
$Message_Texte_3 = FileRead($Texte_3)
$Message_Texte_4 = FileRead($Texte_4)
$Message_Texte_5 = FileRead($Texte_5)
$INFO = "Information"
$Temps = "3000"
$TailleDeSaisie = 85
Dim $Read
Dim $TailleDeSaisie
Dim $Read_Combo_Selection_Message
Dim $Read_Combo_Duree_Message
Dim $MESSAGE_1 = $Dossier_Message & "MESSAGE_TV_1.exe"
Dim $MESSAGE_2 = $Dossier_Message & "MESSAGE_TV_2.exe"
Dim $MESSAGE_3 = $Dossier_Message & "MESSAGE_TV_3.exe"
Dim $MESSAGE_4 = $Dossier_Message & "MESSAGE_TV_4.exe"
Dim $MESSAGE_5 = $Dossier_Message & "MESSAGE_TV_5.exe"
Dim $X
Dim $MESSAGE_
Dim $contextmenu
Dim $Time_Now, $Time_Now_Plus
Dim $file
Dim $Edition_Message
Dim $Texte_Message
Dim $Message
Dim $Message1
Dim $Message2
Dim $Message_Texte, $Texte
GenereMENU(); Génération du menu
$Menu_Open = FileOpen($Dossier_Message & "MENU.TXT", 0)
$Menu_Read = FileRead($Menu_Open)
FileClose($Menu_Open)
;##################################################################
; Interface Graphique
;##################################################################
#Region ### START Koda GUI section ### Form=c:\projet\message_tv\modificateur.kxf
$GUI = GUICreate("MODIFICATEUR 2.0 Bêta", 398, 229, 412, 482)
GUISetBkColor(0xFFFFFF)
GUISetIcon("wp.ico")
$Group_Message = GUICtrlCreateGroup("Message", 16, 16, 361, 161)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$Annuler = GUICtrlCreateButton("Annuler", 304, 192, 73, 25)
$Modifier = GUICtrlCreateButton("Modifier", 216, 192, 73, 25)
$Combo_Selection_Message = GUICtrlCreateCombo("", 16, 192, 185, 25, $CBS_DROPDOWNLIST)
GUICtrlSetData(-1, $Menu_Read, "")
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
;##################################################################
; programme
;##################################################################
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Supr_Sup_X()
Supr_MOD_OK_X()
Exit
Case $Modifier
Case $Annuler
Case $Combo_Selection_Message
$Read_Combo_Selection_Message = GUICtrlRead($Combo_Selection_Message, 1)
SelectAVerifier_Message()
SelectMessageMod()
EndSwitch
WEnd
;##################################################################
; Fonction
;##################################################################
Func GenereMENU()
$file_Menu = FileOpen($Dossier_Message & "MENU.txt", 2)
$X = 0
While $X <= 5
If Not FileExists($Dossier_Message & $X & ".txt") Then
Else
FileWrite($file_Menu, "MESSAGE " & $X & "|")
EndIf
$X = $X + 1
WEnd
FileClose($file_Menu)
EndFunc ;==>GenereMENU
;##################################################################
; Fonction
;##################################################################
Func Message($INFO, $Message, $Temps, $TailleMessage)
SplashTextOn($INFO, $Message, 250, $TailleMessage, -1, -1, 3)
Sleep($Temps)
SplashOff()
EndFunc ;==>Message
;##################################################################
; Fonction
;##################################################################
Func SelectMessageMod()
If FileExists($Dossier_Message & "MOD_OK_1") Then
LireMessage($Texte_1, $Message_Texte_1)
EndIf
If FileExists($Dossier_Message & "MOD_OK_2") Then
LireMessage($Texte_2, $Message_Texte_2)
EndIf
If FileExists($Dossier_Message & "MOD_OK_3") Then
LireMessage($Texte_3, $Message_Texte_3)
EndIf
If FileExists($Dossier_Message & "MOD_OK_4") Then
LireMessage($Texte_4, $Message_Texte_4)
EndIf
If FileExists($Dossier_Message & "MOD_OK_5") Then
LireMessage($Texte_5, $Message_Texte_5)
EndIf
EndFunc ;==>SelectMessageMod
;##################################################################
; Fonction
;##################################################################
Func LireMessage($Texte, $Message_Texte)
$file = FileOpen($Texte, 1)
$Message_Texte = FileRead($Texte)
FileClose($file)
$Message = GUICtrlCreateEdit($Message_Texte, 40, 40, 313, 113, $ES_AUTOVSCROLL + $WS_VSCROLL + $ES_CENTER + $ES_WANTRETURN)
EndFunc ;==>LireMessage
;##################################################################
; Fonction
;##################################################################
Func SelectAVerifier_Message()
If $Read_Combo_Selection_Message = "Message 1" Then
Supr_Sup_X()
Supr_MOD_OK_X()
If FileExists($Texte_1) Then
_FileCreate($Dossier_Message & "MOD_OK_1")
_FileCreate($Dossier_Message & "Sup_1")
Else
Message($INFO, "Le message numéro 1 n'existe pas", $Temps, 50)
EndIf
ElseIf $Read_Combo_Selection_Message = "Message 2" Then
Supr_Sup_X()
Supr_MOD_OK_X()
If FileExists($Texte_2) Then
_FileCreate($Dossier_Message & "MOD_OK_2")
_FileCreate($Dossier_Message & "Sup_2")
Else
Message($INFO, "Le message numéro 2 n'existe pas", $Temps, 50)
EndIf
ElseIf $Read_Combo_Selection_Message = "Message 3" Then
Supr_Sup_X()
Supr_MOD_OK_X()
If FileExists($Texte_3) Then
_FileCreate($Dossier_Message & "MOD_OK_3")
_FileCreate($Dossier_Message & "Sup_3")
Else
Message($INFO, "Le message numéro 3 n'existe pas", $Temps, 50)
EndIf
ElseIf $Read_Combo_Selection_Message = "Message 4" Then
Supr_Sup_X()
Supr_MOD_OK_X()
If FileExists($Texte_4) Then
_FileCreate($Dossier_Message & "MOD_OK_4")
_FileCreate($Dossier_Message & "Sup_4")
Else
Message($INFO, "Le message numéro 4 n'existe pas", $Temps, 50)
EndIf
ElseIf $Read_Combo_Selection_Message = "Message 5" Then
Supr_Sup_X()
Supr_MOD_OK_X()
If FileExists($Texte_5) Then
_FileCreate($Dossier_Message & "MOD_OK_5")
_FileCreate($Dossier_Message & "Sup_5")
Else
Message($INFO, "Le message numéro 5 n'existe pas", $Temps, 50)
EndIf
Else
Message($INFO, "Vous n'avez pas sélectionné de message l'onglet sélection !!!", $Temps, 50)
EndIf
EndFunc ;==>SelectAVerifier_Message
;##################################################################
; Fonction
;##################################################################
Func Supr_Sup_X()
$X = 0
While $X <= 5
If FileExists($Dossier_Message & "Sup_" & $X) Then
FileDelete($Dossier_Message & "Sup_" & $X)
EndIf
$X = $X + 1
WEnd
EndFunc ;==>Supr_Sup_X
;##################################################################
; Fonction
;##################################################################
Func Supr_MOD_OK_X()
$X = 0
While $X <= 5
If FileExists($Dossier_Message & "MOD_OK_" & $X) Then
FileDelete($Dossier_Message & "MOD_OK_" & $X)
EndIf
$X = $X + 1
WEnd
EndFunc ;==>Supr_MOD_OK_X
;##################################################################
; Fonction
;##################################################################
Si vous avez une idée ? car moi je tourne en rond...
Cordialement,
Olivier