[R] Afficher TxT dans une Gui

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
auto
Niveau 1
Niveau 1
Messages : 11
Enregistré le : mer. 26 mars 2008 15:58
Status : Hors ligne

[R] Afficher TxT dans une Gui

#1

Message par auto »

Bonjour à tous

Voila donc je voudrais savoir s'il est possible d'afficher dans une gui le contenu d'un fichier texte ?
ani
Niveau 11
Niveau 11
Messages : 1826
Enregistré le : lun. 23 juil. 2007 12:31
Localisation : Bureau
Status : Hors ligne

Re: [..] Afficher TxT dans une Gui

#2

Message 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
auto
Niveau 1
Niveau 1
Messages : 11
Enregistré le : mer. 26 mars 2008 15:58
Status : Hors ligne

Re: [..] Afficher TxT dans une Gui

#3

Message 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" ?
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11784
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Afficher TxT dans une Gui

#4

Message 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
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
ani
Niveau 11
Niveau 11
Messages : 1826
Enregistré le : lun. 23 juil. 2007 12:31
Localisation : Bureau
Status : Hors ligne

Re: [..] Afficher TxT dans une Gui

#5

Message 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
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11784
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Afficher TxT dans une Gui

#6

Message 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.
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
auto
Niveau 1
Niveau 1
Messages : 11
Enregistré le : mer. 26 mars 2008 15:58
Status : Hors ligne

Re: [..] Afficher TxT dans une Gui

#7

Message 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 ?
auto
Niveau 1
Niveau 1
Messages : 11
Enregistré le : mer. 26 mars 2008 15:58
Status : Hors ligne

Re: [..] Afficher TxT dans une Gui

#8

Message par auto »

non ?
Firefox2
Niveau 2
Niveau 2
Messages : 23
Enregistré le : lun. 31 mars 2008 20:28
Status : Hors ligne

Re: [..] Afficher TxT dans une Gui

#9

Message par Firefox2 »

Tu peux utiliser

Code : Tout sélectionner

GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
Répondre