Page 1 sur 1

[R] Données global

Posté : ven. 26 juil. 2013 00:26
par Kwhy
Bonjour,

je souhaite faire un logiciel permettant de rentrer et sortir des données ( comme dans un chenil ou des chiens et des chats rentre et sort ), le probléme c'est que pour afficher la liste de toutes les données je n'arrive a que les affichées une par une hors je souhaite avoir une vu global de toute les données ( sous forme de tableau par exemple )

Es-ce possible?

Merci d'avance (Je débute avec les fichiers ini )

Re: [..] Données global

Posté : ven. 26 juil. 2013 14:08
par mikell
Ta question est d'une absence de clarté remarquable mais il semblerait que ces fameuses données soient dans un fichier ini
Donc ça serait pas mal si on pouvait avoir un aperçu dudit fichier ini ^^

Re: [..] Données global

Posté : ven. 26 juil. 2013 15:19
par Kwhy
Mon fichier ini est quasi vide pour l'instant, il posséde 3 sections. Je voudrais afficher toutes les infos du fichier dans un tableau ( a l'aide d'une list view par exemple )

Es-ce possible ?

Code : Tout sélectionner

#Region ### START Koda GUI section ### Form=
$listeview = GUICreate("Liste des personnes - BDSO", 596, 352, 100, 100)
GUISetBkColor(0x99B4D1)
$backmenu = GUICtrlCreateButton("<=====", 8, 8, 51, 25)
$ListV = GUICtrlCreateListView("Nom|Age|Genre|Ville|Mail|Numéro", 8, 40, 586, 310)
GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 0, 150)
GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 1, 40)
GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 2, 45)
GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 3, 125)
GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 4, 120)
GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 5, 100)
$a = 0
$b = 1
For $i = 1 To $test[0][0]

$a = $a + 1

$b = $b + 1

GuiCtrlCreateListViewItem($test[$a][0],$ListV)
Next
#EndRegion ### END Koda GUI section ###
Un morceau du passage qui me bloque ( Pour la deuxième collone) car il faut mettre un "|" hors quand on met pas de "" il n'accepte pas les |

Re: [..] Données global

Posté : ven. 26 juil. 2013 19:03
par mikell
OK ça j'avais compris mais dans ton ini elles ressemblent à quoi les sections ?
Pas de réponse possible sans avoir un exemple de la manière dont ces sections sont construites ^^

Re: [..] Données global

Posté : ven. 26 juil. 2013 22:18
par Kwhy

Code : Tout sélectionner

[section1]
Coline=15
Marie=7
[section2]
Maxime=Jean
....

Re: [..] Données global

Posté : ven. 26 juil. 2013 22:39
par mikell
Rien à voir avec une listview "Nom|Age|Genre|Ville|Mail|Numéro" ...

Re: [..] Données global

Posté : ven. 26 juil. 2013 23:22
par Kwhy
La listview me permet d'avoir un tableau avec des données ini dans chaque ligne du tableau le problème c'est pour afficher les données dans la col 2 dans la 1 j'y arrive

Re: [..] Données global

Posté : ven. 26 juil. 2013 23:38
par mikell
C'est facile à faire si on sait de quoi on parle
Alors une dernière fois :
Dans le code que tu as posté la gui a comme titre "Liste des personnes", la listview a des colonnes "Nom|Age|Genre|Ville|Mail|Numéro"
Donc poste un vrai exemple complet d'une section du ini dont le contenu doit s'afficher dans cette listview et on pourra te faire une réponse précise

Re: [..] Données global

Posté : sam. 27 juil. 2013 00:01
par Kwhy
Je vais expliquer d'où viennent les données de l'ini. Le logiciel est enfaite une sorte de répertoire , donc l'utilisateur indique le nom l'âge le numéro de téléphone .... Ces données sont stockées dans plusieurs sections. Ensuite via un bouton on accède à une nouvelle GUI qui affiche une listview avec les colonnes en rapport avec les données préablement remplis et les lignes sont complète grâce aux données. Mai c'est ici que je bloque, jarrive à remplir la première colonne mais pas les autres :s
J'espère avoir été clair

Re: [..] Données global

Posté : sam. 27 juil. 2013 01:46
par mikell
Grrr... l'explication est claire mais la STRUCTURE des sections de ton ini PAS DU TOUT
Bon alors bref on improvise, quoi
Donc imaginons, si tu fais tes sections structurées comme ça (remarque que les clés correspondent aux colonnes de la listview)

Code : Tout sélectionner

[section1]
Nom=Jean MARTIN
Age=17
Genre=hétéro
Ville=Paris
Mail=Jean@paris.fr
Numéro=12345678
Then voilà le code qu'il te faut

Code : Tout sélectionner

#include <ListviewConstants.au3>

$gui = GUICreate("Liste des personnes - BDSO", 596, 352, 100, 100)
GUISetBkColor(0x99B4D1)
$ListV = GUICtrlCreateListView("Nom|Age|Genre|Ville|Mail|Numéro", 8, 40, 586, 310)
GUICtrlSendMsg($ListV, $LVM_SETCOLUMNWIDTH, 0, 150)
GUICtrlSendMsg($ListV, $LVM_SETCOLUMNWIDTH, 1, 40)
GUICtrlSendMsg($ListV, $LVM_SETCOLUMNWIDTH, 2, 45)
GUICtrlSendMsg($ListV, $LVM_SETCOLUMNWIDTH, 3, 125)
GUICtrlSendMsg($ListV, $LVM_SETCOLUMNWIDTH, 4, 120)
GUICtrlSendMsg($ListV, $LVM_SETCOLUMNWIDTH, 5, 100)
GuiSetState()

$array = IniReadSection("test.ini", "section1")
If not @error Then  
  $line = ""
  For $i = 1 To $array[0][0]
     $line &= $array[$i][1] & "|"
  Next
  GuiCtrlCreateListViewItem($line ,$ListV)
EndIf

While GuiGetMsg()<>-3
Wend

Re: [..] Données global

Posté : sam. 27 juil. 2013 09:19
par jchd
Stocker un âge seul me semble fragile.

Re: [..] Données global

Posté : sam. 27 juil. 2013 12:13
par mikell
jchd a écrit :Stocker un âge seul me semble fragile.
C'est un peu hermétique, tu pourrais développer ?

Re: [..] Données global

Posté : sam. 27 juil. 2013 13:02
par Kwhy
Merci pour ta réponse, je rentre de vacance demain soir, je vous dirais si sa marche.

Je vous met mon ini :

Code : Tout sélectionner

[PrenomAge]
Antoine=15
Pierre=42
[VilleHF]
Lille=H
Lyon=F
[MailNum]
antoine@lille.fr=123456789
pierre@lyon.fr=987654321
Donc en résumé :
Antoine 15 ans habite à lille et est un homme son email est Antoine@lille.fr et son num : 123456789
Pierre 42 ans habite à lyon et est un homme son email est pierre@lyon.fr et son num : 987654321

Voilà

Re: [..] Données global

Posté : sam. 27 juil. 2013 13:18
par jchd
Bah, il faut "périodiquement" l'incrémenter. Quand est la question. Un âge fait référence soit à une date de naissance soit un moment T dans le temps, connu.

Si un âge reste pendant "un certain temps" sans mise à jour, il est faux mais on ne sait pas de combien.

Au pire, stocker l'année de naissance.

Re: [..] Données global

Posté : sam. 27 juil. 2013 14:40
par mikell
jchd a écrit :...Au pire, stocker l'année de naissance.
OK ...
Excuse-moi je suis un peu fatigué en ce moment :mrgreen:

@Kwhy
Tu risques d'avoir des soucis en construisant tes sections comme ça...
Le modèle que j'ai posté semble plus logique, enfin bon c'est toi qui vois ^^

Re: [..] Données global

Posté : sam. 27 juil. 2013 16:25
par Kwhy
Ok j'essayerais comme tu as fais, le tableau sera t'il comme ceci :

Nom. Âge. Ville. ....
Antoine. 23. Lille. ....
Martin. 34. Lyon. ....
??

Re: [..] Données global

Posté : sam. 27 juil. 2013 16:47
par mikell
Heu tu as bien lu mon post au-dessus ? tu as testé l'exemple que j'ai posté ?

Re: [..] Données global

Posté : sam. 27 juil. 2013 16:52
par Kwhy
je rentre de vacance demain soir,

Re: [R] Données global

Posté : lun. 29 juil. 2013 14:57
par jcaspar
B :D onjour à tous !

J'ai testé le code fonctionne mais l'ennui c'est qu'il faut ajouter dans le code la
lecture de la nouvelle section ... l'idéal serait que chaque nouvelle section soit
lue automatiquement sans modification du code ....

Jean-Marc

Code : Tout sélectionner


#include <ListviewConstants.au3>

$gui = GUICreate("Liste des personnes - BDSO", 596, 352, 100, 100)
GUISetBkColor(0x99B4D1)
$ListV = GUICtrlCreateListView("Nom|Age|Genre|Ville|Mail|Numéro", 8, 40, 586, 310)
GUICtrlSendMsg($ListV, $LVM_SETCOLUMNWIDTH, 0, 150)
GUICtrlSendMsg($ListV, $LVM_SETCOLUMNWIDTH, 1, 40)
GUICtrlSendMsg($ListV, $LVM_SETCOLUMNWIDTH, 2, 45)
GUICtrlSendMsg($ListV, $LVM_SETCOLUMNWIDTH, 3, 125)
GUICtrlSendMsg($ListV, $LVM_SETCOLUMNWIDTH, 4, 120)
GUICtrlSendMsg($ListV, $LVM_SETCOLUMNWIDTH, 5, 100)
GuiSetState()
$array = IniReadSection("test.ini", "section1")

If not @error Then
  $line = ""
  For $i = 1 To $array[0][0]
     $line &= $array[$i][1] & "|"
  Next
  GuiCtrlCreateListViewItem($line ,$ListV)
EndIf

$array = IniReadSection("test.ini", "section2")
If not @error Then
  $line = ""
  For $i = 1 To $array[0][0]
     $line &= $array[$i][1] & "|"
  Next
  GuiCtrlCreateListViewItem($line ,$ListV)
EndIf


While GuiGetMsg()<>-3
Wend
 

Re: [R] Données global

Posté : lun. 29 juil. 2013 16:17
par mikell
Voui ça c'est l'étape suivante, effectivement plus pratique si tu as 87 sections ^^

Code : Tout sélectionner

Local $var = IniReadSectionNames("test.ini")
If not @error Then
    For $i = 1 To $var[0]
        ; $array = IniReadSection("test.ini", $var[$i])
        ; etc
    Next
EndIf