liste Checkbox

Aide sur les Interfaces Graphique Utilisateurs (GUI).
Règles du forum
.
Répondre
leonick12
Niveau 2
Niveau 2
Messages : 19
Enregistré le : mer. 25 sept. 2013 23:09
Localisation : Villefranche de Rouergue (12)
Status : Hors ligne

liste Checkbox

#1

Message par leonick12 »

bonjour, j'ai créer un script qui lit un fichier (listing bancaire en gros) il créer une liste de checkbox pour chaque ligne sans etre obliger de taper plein de fois des lignes de checkbox, tout marche tres bien, mais comment recuperer que les lignes cochées et les ré-enregistrer dans un fichier.

apres j'ai du taper deux fois les lignes qui vont de local "$file" à "next" car quand j'efface le premier il y a une erreur au niveau de la ligne local $file = FileOpen("C:\Users\leonick\Desktop\budget CEMP.txt",0) celle à l'interieur de la fonction
#include <GUIConstantsEx.au3>
#include <File.au3>

local $file = FileOpen("C:\Users\leonick\Desktop\budget CEMP.txt",0)

For $ligne = 3 To 14 Step 1

$texte=FileReadLine($file,$ligne)

if $texte <> "" Then
GUICtrlSetData(-1, "1"&$texte)
Else
   $ligne=14
EndIf

Next

Opt('MustDeclareVars', 1)

Local $hauteur=5

Example()

Func Example()
    Local $MESSAGE = "The following buttons have been clicked"
    Local $add, $clear, $mylist, $close, $msg

    GUICreate("My GUI list") ; will create a dialog box that when displayed is centered

   
local $file = FileOpen("C:\Users\leonick\Desktop\budget CEMP.txt",0)

 dim $checkbox[12]

For $ligne = 3 To 14 Step 1

$texte=FileReadLine($file,$ligne)

if $texte <> "" Then
  GUICtrlCreateCheckbox($texte, 30, $hauteur)
 $hauteur=$hauteur+20
 
Else
   $ligne=14
EndIf

Next

$close = GUICtrlCreateButton("my closing button", 64, 260, 175, 25)

    GUISetState()

    $msg = 0
    While $msg <> $GUI_EVENT_CLOSE
        $msg = GUIGetMsg()

        Select
         ;   Case $msg = $add
            ;    GUICtrlSetData($mylist, "You clicked button No1|")
         ;   Case $msg = $clear
             ;   GUICtrlSetData($mylist, "")
       Case $msg = $close
               
                Exit
        EndSelect
    WEnd
EndFunc   ;==>Example
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: liste Checkbox  

#2

Message par mikell »

Ouala Image
Attention il reste à ajouter la gestion d'erreur !

; creation array checkbox
Local $checkbox[12]
For $ligne = 3 To 14 Step 1
    $texte = FileReadLine($file, $ligne)
    if $texte <> "" Then
           $checkbox[$ligne-3] = GUICtrlCreateCheckbox($texte, 30, $hauteur)
           $hauteur=$hauteur+20
    EndIf
Next

....

; inscription dans un fichier du texte des checkbox cochées
Local $resultat = ""
For $i = 0 to UBound($checkbox)-1
    If GUICtrlRead($checkbox[$i]) = $GUI_CHECKED Then $resultat &= GUICtrlRead($checkbox[$i], 1) & @crlf
Next
FileWrite("resultat.txt", $resultat)
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
leonick12
Niveau 2
Niveau 2
Messages : 19
Enregistré le : mer. 25 sept. 2013 23:09
Localisation : Villefranche de Rouergue (12)
Status : Hors ligne

Re: liste Checkbox

#3

Message par leonick12 »

un grand merci !!

j'ai compris comment enlever la premiere boucle j'avais pas ajouter toutes les infos
Local $add, $clear, $mylist, $close, $msg, $file, $texte
voila la version avec ton script inclu
#include <GUIConstantsEx.au3>
#include <File.au3>

Opt('MustDeclareVars', 1)

Local $hauteur=5

Example()


Func Example()
 
    Local $add, $clear, $mylist, $close, $msg, $file, $texte

    GUICreate("My GUI list") ; will create a dialog box that when displayed is centered
   
local $file = FileOpen("C:\Users\leonick\Desktop\budget CEMP.txt",0)

 dim $checkbox[12]

For $ligne = 3 To 14 Step 1
    $texte = FileReadLine($file, $ligne)
    if $texte <> "" Then
           $checkbox[$ligne-3] = GUICtrlCreateCheckbox($texte, 30, $hauteur)
         GUICtrlSetState(-1, $GUI_CHECKED)
           $hauteur=$hauteur+20
    EndIf
Next

$close = GUICtrlCreateButton("VALIDER", 64, 260, 175, 25)

    GUISetState()

    $msg = 0
    While $msg <> $GUI_EVENT_CLOSE
        $msg = GUIGetMsg()

        Select
       
       Case $msg = $close
          Local $resultat = ""
For $i = 0 to UBound($checkbox)-1
    If GUICtrlRead($checkbox[$i]) = $GUI_CHECKED Then $resultat &= GUICtrlRead($checkbox[$i], 1) & @crlf
Next
FileWrite("resultat.txt", $resultat)
         
                Exit
        EndSelect
    WEnd
EndFunc   ;==>Example
Répondre