[R] Génération quotidienne de ligne de tableau suivant ini

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
hardfloor
Niveau 4
Niveau 4
Messages : 69
Enregistré le : mer. 31 juil. 2013 09:37
Status : Hors ligne

[R] Génération quotidienne de ligne de tableau suivant ini

#1

Message par hardfloor »

Bonjour les amis,
Je vous demande un peu d'aide car je patauge serieusement!

Donc, j'aimerais faire un tableau de statistiques. Chaque jour qui est different devra générer un fichier.ini.
et donc chaque ligne du tableau = un fichier .ini différent

Vous aurez besoin de l'udf joint pour faire fonctionner le tableau

Et voici ce que j'ai commencé à faire:

Code : Tout sélectionner

#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include "Table.au3"
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Form1", 724, 561, 192, 124)
$Input1 = GUICtrlCreateInput("Archers", 160, 496, 89, 21)
$Input2 = GUICtrlCreateInput("Paladins", 280, 496, 81, 21)
$Button1 = GUICtrlCreateButton("envoyer", 392, 496, 89, 25)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
$day = @MDAY
$month = @MON
$date = $day&"/"&$month
$date1 = $day&$month


$1 =  IniRead("test.ini", $date1, "archers", "")
$2 =  IniRead("test.ini", $date1, "paladins", "")



;----- Table Example 4 -----
GUICtrlCreateLabel(" Example 4 ", 250, 250, 100, 13)
$Table4 = _GUICtrlTable_Create(200, 100, 62, 18, 8, 3, 0)
_GUICtrlTable_Set_RowHeight($Table4, 1, 35)
_GUICtrlTable_Set_Justify_All($Table4, 1, 1)
_GUICtrlTable_Set_TextFont_All($Table4, 8.5, 800, 0, "Tahoma")
_GUICtrlTable_Set_CellColor_Row($Table4, 1, 0x555555)
_GUICtrlTable_Set_TextColor_All($Table4, 0x555555)
_GUICtrlTable_Set_TextColor_Row($Table4, 1, 0xFFFFFF)
For $row = 3 To 10 Step 2
    _GUICtrlTable_Set_CellColor_Row($Table4, $row, 0xDDDDDD)
Next
_GUICtrlTable_Set_Text_Row($Table4, 1, "Date|Archers|Paladins")
_GUICtrlTable_Set_Text_Row($Table4, 2, $date&"|"&$1&"|"&$2&"")
_GUICtrlTable_Set_Border_Table($Table4, 0x555555)


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

        Case $Button1
            IniWrite("test.ini", $date1, "archers", GUICtrlRead($input1))
            IniWrite("test.ini", $date1, "paladins", GUICtrlRead($input2))

    EndSwitch
WEnd

 
Donc voilà, j'aimerai qu'a chaque ligne = les infos d'un fichier ini et au passage si la ligne peut apparaitre au fur et a mesure des fichiers ini , se serait un plus.

Si vous n'avez pas bien compris, n'hésitez pas hein. Pour moi c'est clair mais pas forcément pour vous :wink:

Merci à ceux qui m'aideront.
Fichiers joints
Table.au3
(59.87 Kio) Téléchargé 125 fois
Modifié en dernier par hardfloor le mer. 28 août 2013 11:00, modifié 1 fois.
hardfloor
Niveau 4
Niveau 4
Messages : 69
Enregistré le : mer. 31 juil. 2013 09:37
Status : Hors ligne

Re: [..Génération quotidienne d'une ligne de tableau suivant

#2

Message par hardfloor »

Je précise que je n'ai fait aucun controle encore sur l'existence du fichier, des sections, etc,..., pour le moment ce que je souhaite c'est pouvoir afficher la ligne qui correspond à son fichier.

J'avais pensé à utiliser la date dans le nom du fichier .ini, mais apres si l'utilisateur génere 3 fichiers par exemple, cela donnerait 3108.ini, 0209.ini et 2309.ini. Comment les afficher?? car je ne connais pas leur nom à l'avance!
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [..Génération quotidienne d'une ligne de tableau suivant

#3

Message par mikell »

Pourquoi tu veux faire un tas de fichiers ini ? un seul suffirait, et tu lis les noms de section

Code : Tout sélectionner

[2708]
archers=Archers
paladins=Paladins
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
hardfloor
Niveau 4
Niveau 4
Messages : 69
Enregistré le : mer. 31 juil. 2013 09:37
Status : Hors ligne

Re: [..Génération quotidienne d'une ligne de tableau suivant

#4

Message par hardfloor »

Oui aussi^^
J'y avais pensé mais le probleme reste le même pour moi^^
Comment afficher des sections dont je ne connais pas le nom à l'avance?
Je ne manipule pas tres bien les commandes ini.......
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [..Génération quotidienne d'une ligne de tableau suivant

#5

Message par mikell »

IniReadSectionNames => array 1D avec tous les noms de section
Ensuite tu boucles pour lire les données de chaque section
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
hardfloor
Niveau 4
Niveau 4
Messages : 69
Enregistré le : mer. 31 juil. 2013 09:37
Status : Hors ligne

Re: [..Génération quotidienne d'une ligne de tableau suivant

#6

Message par hardfloor »

Voui^^ mais encore :roll: ....

si tu pouvais me faire un petit exemple qu iillustre tout ca sans forcement reprendre mon code, ^parce que là j'en ai pour la nuit sinon!
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [..Génération quotidienne d'une ligne de tableau suivant

#7

Message par mikell »

Exemple pour "test.ini"

Code : Tout sélectionner

[2708]
archers=18
paladins=28
[0209]
archers=17
paladins=27
[1009]
archers=15
paladins=25

Code : Tout sélectionner

$txt = ""
$sections = IniReadSectionNames("test.ini")
For $i = 1 to $sections[0]
  $archers = IniRead("test.ini", $sections[$i], "archers", "")
  $paladins = IniRead("test.ini", $sections[$i], "paladins", "")
  $txt &= $sections[$i] &@crlf& $archers &@crlf& $paladins &@crlf&@crlf
Next
Msgbox(0,"", $txt)
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
hardfloor
Niveau 4
Niveau 4
Messages : 69
Enregistré le : mer. 31 juil. 2013 09:37
Status : Hors ligne

Re: [..Génération quotidienne d'une ligne de tableau suivant

#8

Message par hardfloor »

Ok, donc là ca me liste mon fichier .ini, mais comment j'adapte ca moi pour que ça me produise une ligne par section :?
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [..Génération quotidienne d'une ligne de tableau suivant

#9

Message par mikell »

Mélangeons pas tout ^^
Là il s'agit de lire le ini et de l'afficher dans ta table
► Afficher le texte
Après pour l'écriture du ini on parle d'autre chose

NB : Pourquoi ne pas avoir fait une listview ? tu t'emmerderais infiniment moins, et puis cette table c'est un gadget, tu fais comment le jour où tu as 150 sections dans ton ini et donc 150 lignes à afficher ?
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
hardfloor
Niveau 4
Niveau 4
Messages : 69
Enregistré le : mer. 31 juil. 2013 09:37
Status : Hors ligne

Re: [..Génération quotidienne d'une ligne de tableau suivant

#10

Message par hardfloor »

Ahhhhhhh Voilà, c'est impeccable le résultat :wink:

Une list wiew comme ici? http://www.autoitscript.fr/forum/viewto ... =11&t=9652
Mais je trouve le code bien compliqué pour moi encore, Ubound je ne l'ai jamais manipulé encore et array pareil, donc c'est vrai.j'avoue que quand je trouve des udf qui font des résultats sympas, je prends!
J'apprends vite mais faut le temps qu'il faut quand même :P

Je n'ai pas fait une listview parce que je préfere le style graphique de la table que j'ai trouvé.

Se sera sur 1 mois le tableau. Je vais rajouter des conditions et des controles afin de faire un tableau par mois donc 1 fichier par mois. Je veux réaliser des stats avancés sur l'année. Il y aura donc 31 sections max par fichiers.

En tout cas je te remercie pour cette première étape. :wink:
Répondre