Bonjour,
Je pense que ton souci (en plus de GUICtrlSetData) vient du fait que tu écrases tes variables à chaque clic. Au départ de ton script, ta variable $texte contient l'identifiant de la InputBox de ta fenetre, quand tu cliques, tu écrases cette valeur en mettant le contenu du fichier choisi dans $texte !!! C'est pour ça que tu tentes de recréer une nouvelle boite à chaque fois? (juste avant ton EndSwitch). En cliquant 10 fois sur charger, on se retrouve alors avec 10 boîtes les unes par dessus les autres !
Autre erreur, tu testes si $file = -1 pour afficher une erreur de sélection de fichier. Tu t'es gouré, c'est $var qui vaut -1, pas $file.
Bref voici une version corrigée de ton script :
► Afficher le texteversion corrigée
Code : Tout sélectionner
#include <GUIConstants.au3>
#region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Form1", 625, 64, 255, 125)
$Charger = GUICtrlCreateButton("Charger", 312, 16, 121, 33, 0)
$texte = GUICtrlCreateInput("", 32, 24, 233, 21)
GUISetState(@SW_SHOW)
#endregion ### END Koda GUI section ###
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Charger
$file = FileOpenDialog("choisir un fichier ", @DesktopDir, "Texte(*.txt)")
$var = FileOpen($file, 0)
If $var = -1 Then
MsgBox(0, "Erreur", "Fichier non trouve")
; Exit ; Pourquoi faire planter le programme alors qu'il suffit de recliquer sur Charger? ^^
Else
$contenu = FileRead($file)
If @error = 0 Then GUICtrlSetData($texte, $contenu)
FileClose($file)
EndIf
EndSwitch
WEnd
J'ai juste deux points à ajouter :
- Ca serait sympa si à l'avenir tu puisses poster un code lisible, dans le sens "indenté"; c'est plus vendeur quand on demande de l'aide qu'un code tapé au kilomètre sans alinéa ^^
- Au lieu d'une InputBox (GUICtrlCreateInput) qui ne gère qu'une ligne "par défaut", vu que tu affiches le contenu d'un fichier qui peut tenir sur plusieurs, je te conseille d'utiliser une EditBox (GUICtrlCreateEdit) qui sera sans doute beaucoup plus manipulable.
A bientôt !
PS: @TT22, ça me semble clair comme script, tu cliques sur Charger, tu choisis un fichier, et son contenu s'affiche dans la InputBox ^^