Page 1 sur 1

[..] Interface graphique

Posté : ven. 04 avr. 2008 10:32
par darkworm
Bonjour tout le monde c'est encore moi :D

Troisième et dernier script :oops:

Il me faudrais une interface graphique pour gérer le fichier texte ... je m'explique :

Précédemment, j'avais demander un script gérant un fichier texte (ancien topic)
J'ai donc choisis la 2e méthode que Tlem m'avais proposé (merci encore :D )
Il me faudrais maintenant une petite interface graphique pour créer ce fichier texte. Est ce qu'il serait possible que quelqu'un m'aiguille? :oops:
Je pensais utiliser un menu déroulant par jour. En fait, voici à quoi ca devrais ressembler :

Image

Il y aurai 31 jours avec un choix de 18 pharmacies. Bien sur, le formulaire peux se présenter sur plusieurs colones.Le bouton effacer n'est pas utile par contre. on pourrai le remplacer par le bouton fermer ce qui fermerai la GUI

Le bouton valider créerai un fichier texte à l'adresse suivante (C:\Documents and Settings\admin1\Mes documents\diaporama\planning.txt)
Le fichier se présentera comme ceci :

Code : Tout sélectionner

1
5
8
4
etc...
la première ligne correspond au numéro de la pharmacie (de 1 à 18) du premier jour
la deuxième ligne correspond au numéro de la pharmacie (de 1 à 18) du deuxième jour
etc jusqu'à 31 lignes...

La logique je la vois ... mais je ne métrise pas du tout le language pour faire cett gui ... qu'elqu'un pourrai m'aider plz ? :oops:

Merci d'avance :mrgreen:

Re: [...] Interface graphique

Posté : ven. 04 avr. 2008 13:09
par eln

Re: [...] Interface graphique

Posté : ven. 04 avr. 2008 19:31
par darkworm
ca marche pas ... :oops: je fait alt +m et rien ne ce passe il me fait juste un bip d'erreur...

Re: [...] Interface graphique

Posté : ven. 04 avr. 2008 20:09
par eln
Il faut que le script soit enregistré en au3.

Re: [...] Interface graphique

Posté : mer. 09 avr. 2008 18:03
par darkworm
voila j'ai trouver :) à force de tâter, on y arrive ^^
dernière chose qui me gène (enfin je crois) comment fait on pour rafraichir la fenêtre de GUI ?
je m'explique, chaque fois que l'on clique sur OK, il y a une variable qui est incrémenter de 1. je vous envoi mon script

Code : Tout sélectionner

#include <guiconstants.au3>
dim $jour = 1,$i
send("#r")
sleep (1000)
send ("C:\test.txt{enter}")
sleep (1000)
GUICreate ( " Powered by Darkworm " , 250 , 150 )
GUISetBkColor ( 0x00E0FFFF )
GUISetFont ( 9 , 300 )
$tab = GUICtrlCreateTab ( 10 , 10 , 200 , 100 )
$tab0 = GUICtrlCreateTabitem ( " Applications " )
GUICtrlCreateLabel ( " jour" , 30 , 80 , 50 , 20 )
GUICtrlCreateLabel ( $jour , 80 , 80 , 50 , 20 ) ; c'est ici qu'il y a la valeur afficher sur la gui
$tab1combo = GUICtrlCreateCombo ( " " , 20 , 50 , 120 , 120 )
GUICtrlSetData ( - 1 , "a|b|c|d|e|f|g|h|i" , " aa " )
$tab1OK = GUICtrlCreateButton ( " Go! " , 150 , 50 , 50 , 20 )
$tab20k = GUICtrlCreateButton ( "fermer", 150 , 75 , 50 , 20)
GUISetState ( )


While 1

for $i = 1 to 3
$msg = guigetmsg ( )

Select

case $msg = $GUI_EVENT_CLOSE
Exit

case $msg = $tab20k
    send ( "!{tab}!{f4}{enter}!{tab}")
    Exit
    
Case $msg = $tab1OK
$essai = guictrlread ( $tab1combo )
if $essai = "a" Then
    send ( "!{tab}{del}1{left}{down}!{tab}")
    $jour = $jour + 1 ;les incrémentations sont ici
endif
if $essai = "b" Then
    send ( "!{tab}{del}2{left}{down}!{tab}")
    $jour = $jour + 1 ;les incrémentations sont ici
endif

EndSelect

if $a = 3 then
    send ( "!{tab}^s!{f4}!{tab}")
    Exit
endif

next

WEnd
il faut aussi créer un fichier texte dans le chemin préciser en haut du script (C:\test.txt)
comment faire ? :oops:

Re: [..] Interface graphique

Posté : mar. 17 juin 2008 13:53
par KTux
Pour rafraîchir l'affichage,

Code : Tout sélectionner

#include <guiconstants.au3>
dim $jour = 1,$i
send("#r")
sleep (1000)
send ("C:\test.txt{enter}")
sleep (1000)
GUICreate ( " Powered by Darkworm " , 250 , 150 )
GUISetBkColor ( 0x00E0FFFF )
GUISetFont ( 9 , 300 )
$tab = GUICtrlCreateTab ( 10 , 10 , 200 , 100 )
$tab0 = GUICtrlCreateTabitem ( " Applications " )
GUICtrlCreateLabel ( " jour" , 30 , 80 , 50 , 20 )
$label=GUICtrlCreateLabel ( $jour , 80 , 80 , 50 , 20 ) ; affactation à $label de l'ID du Label à raffraîchir
$tab1combo = GUICtrlCreateCombo ( " " , 20 , 50 , 120 , 120 )
GUICtrlSetData ( - 1 , "a|b|c|d|e|f|g|h|i" , " aa " )
$tab1OK = GUICtrlCreateButton ( " Go! " , 150 , 50 , 50 , 20 )
$tab20k = GUICtrlCreateButton ( "fermer", 150 , 75 , 50 , 20)
GUISetState ( )


While 1

for $i = 1 to 3
$msg = guigetmsg ( )

Select

case $msg = $GUI_EVENT_CLOSE
Exit

case $msg = $tab20k
    send ( "!{tab}!{f4}{enter}!{tab}")
    Exit
   
Case $msg = $tab1OK
$essai = guictrlread ( $tab1combo )
if $essai = "a" Then
    send ( "!{tab}{del}1{left}{down}!{tab}")
    $jour = $jour + 1 ;les incrémentations sont ici
endif
if $essai = "b" Then
    send ( "!{tab}{del}2{left}{down}!{tab}")
    $jour = $jour + 1 ;les incrémentations sont ici
endif
GUICtrlSetData($label,$jour) ; ligne permettant la mise à jour de l'affichage

EndSelect

if $a = 3 then
    send ( "!{tab}^s!{f4}!{tab}")
    Exit
endif

next

WEnd