Page 1 sur 1

[R] Afficher TxT dans une Gui

Posté : mer. 26 mars 2008 16:10
par auto
Bonjour à tous

Voila donc je voudrais savoir s'il est possible d'afficher dans une gui le contenu d'un fichier texte ?

Re: [..] Afficher TxT dans une Gui

Posté : mer. 26 mars 2008 17:08
par ani
Bonjour et soit le bienvenu auto

la réponse sera oui

Code : Tout sélectionner

#include <GUIConstants.au3>
$Tonfichier = ".\Affiche.txt"  ; le fichier se trouve à l'emplacement du script
$iFile = Fileread($Tonfichier, FileGetSize($Tonfichier))

$Form = GUICreate("TEST", 322, 186, 193, 125)
$Edit = GUICtrlCreateEdit("", 8, 40, 305, 137) 
Guictrlsetdata($Edit,$iFile) ; on ajoute au controle edit le fichier texte

GUISetState(@SW_SHOW)

While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
        Case $GUI_EVENT_CLOSE
            Exit
    EndSwitch
WEnd

Re: [..] Afficher TxT dans une Gui

Posté : mer. 26 mars 2008 22:20
par auto
ok merci ani !

C'est ce que je cherchais.
Cependant comment obtenir le texte brute s'affichant dans la gui, c'est à dire sans bordure ni "fenêtre blanche d'édition" ?

Re: [..] Afficher TxT dans une Gui

Posté : mer. 26 mars 2008 22:59
par Tlem
Comme ceci :

Code : Tout sélectionner

#include <GUIConstants.au3>

$File = FileOpen("test.csv", 0)
If $file = -1 Then
    MsgBox(0, "Erreur", "Impossible d'ouvrir le fichier.")
    Exit
EndIf

$Text = FileRead($file)

FileClose($file)

$Gui = GUICreate("TEST", 322, 186, 193, 125)

$Label1 = GUICtrlCreateLabel($Text, 30, 10, 310, 186) ; Modifier les valeurs pour
;                                                       placer le text ou vous voulez.

GUISetState(@SW_SHOW)

While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
        Case $GUI_EVENT_CLOSE
            Exit
    EndSwitch
WEnd
@ani : n'oublie pas qu'il faut utiliser FileOpen avant le FileRead

Re: [..] Afficher TxT dans une Gui

Posté : jeu. 27 mars 2008 01:28
par ani
il me semble que dans ce cas il ne faut pas
mais bon vu que je suis novice, je vais t'écouter :)
merci

Re: [..] Afficher TxT dans une Gui

Posté : jeu. 27 mars 2008 06:50
par Tlem
ani a écrit :il me semble que dans ce cas il ne faut pas
Il n'y a pas de : Il faut ou Il faut pas !
Tu peut faire sans si tu le veut, mais cela ne te fera rien gagner de plus (A part 2 lignes de code), mais surtout tu risque de prendre de mauvaises habitudes, et de l'oublier.
Pour un texte court ça va, mais pour un texte beaucoup plus conséquent cela risque de fortement ralentir le code.
Voici ce que dit l'aide de FileRead :
If a filename is given rather than a file handle - the file will be opened and closed during the function call - for parsing large text files this will be much slower than using filehandles.
Comme nous sommes sur un forum d'entraide, il me semble plus judicieux de donner la méthode complète pour lire un fichier, et si au final l'utilisateur veux simplifier le code en supprimant la gestion d'erreur et l'ouverture du fichier ... libre a lui.

Re: [..] Afficher TxT dans une Gui

Posté : jeu. 27 mars 2008 19:59
par auto
merci

une autre question aussi :
Que dois-je ajouter pour pouvoir superposer le texte sur une image de fond

Quand je met un GUICtrlCreatePic() une partie de l'image est couverte par un rectangle dedier a l'affichage du texte

Y a t-il un truc du genre transparence a ajouter ?

Re: [..] Afficher TxT dans une Gui

Posté : mar. 01 avr. 2008 18:21
par auto
non ?

Re: [..] Afficher TxT dans une Gui

Posté : lun. 21 avr. 2008 11:59
par Firefox2
Tu peux utiliser

Code : Tout sélectionner

GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)