[R] Données global

Aide sur les Interfaces Graphique Utilisateurs (GUI).
Règles du forum
.
Répondre
Kwhy
Niveau 4
Niveau 4
Messages : 54
Enregistré le : lun. 18 mars 2013 19:43
Status : Hors ligne

[R] Données global

#1

Message 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 )
Modifié en dernier par Kwhy le dim. 28 juil. 2013 19:42, modifié 1 fois.
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [..] Données global

#2

Message 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 ^^
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Kwhy
Niveau 4
Niveau 4
Messages : 54
Enregistré le : lun. 18 mars 2013 19:43
Status : Hors ligne

Re: [..] Données global

#3

Message 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 |
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [..] Données global

#4

Message 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 ^^
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Kwhy
Niveau 4
Niveau 4
Messages : 54
Enregistré le : lun. 18 mars 2013 19:43
Status : Hors ligne

Re: [..] Données global

#5

Message par Kwhy »

Code : Tout sélectionner

[section1]
Coline=15
Marie=7
[section2]
Maxime=Jean
....
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [..] Données global

#6

Message par mikell »

Rien à voir avec une listview "Nom|Age|Genre|Ville|Mail|Numéro" ...
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Kwhy
Niveau 4
Niveau 4
Messages : 54
Enregistré le : lun. 18 mars 2013 19:43
Status : Hors ligne

Re: [..] Données global

#7

Message 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
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [..] Données global

#8

Message 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
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Kwhy
Niveau 4
Niveau 4
Messages : 54
Enregistré le : lun. 18 mars 2013 19:43
Status : Hors ligne

Re: [..] Données global

#9

Message 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
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [..] Données global

#10

Message 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
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Avatar du membre
jchd
AutoIt MVPs (MVP)
AutoIt MVPs (MVP)
Messages : 2272
Enregistré le : lun. 30 mars 2009 22:57
Localisation : Sud-Ouest de la France (43.622788,-1.260864)
Status : Hors ligne

Re: [..] Données global

#11

Message par jchd »

Stocker un âge seul me semble fragile.
La cryptographie d'aujourd'hui c'est le taquin plus l'électricité.
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [..] Données global

#12

Message par mikell »

jchd a écrit :Stocker un âge seul me semble fragile.
C'est un peu hermétique, tu pourrais développer ?
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Kwhy
Niveau 4
Niveau 4
Messages : 54
Enregistré le : lun. 18 mars 2013 19:43
Status : Hors ligne

Re: [..] Données global

#13

Message 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à
Modifié en dernier par Kwhy le sam. 27 juil. 2013 14:14, modifié 1 fois.
Avatar du membre
jchd
AutoIt MVPs (MVP)
AutoIt MVPs (MVP)
Messages : 2272
Enregistré le : lun. 30 mars 2009 22:57
Localisation : Sud-Ouest de la France (43.622788,-1.260864)
Status : Hors ligne

Re: [..] Données global

#14

Message 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.
La cryptographie d'aujourd'hui c'est le taquin plus l'électricité.
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [..] Données global

#15

Message 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 ^^
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Kwhy
Niveau 4
Niveau 4
Messages : 54
Enregistré le : lun. 18 mars 2013 19:43
Status : Hors ligne

Re: [..] Données global

#16

Message 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. ....
??
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [..] Données global

#17

Message par mikell »

Heu tu as bien lu mon post au-dessus ? tu as testé l'exemple que j'ai posté ?
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Kwhy
Niveau 4
Niveau 4
Messages : 54
Enregistré le : lun. 18 mars 2013 19:43
Status : Hors ligne

Re: [..] Données global

#18

Message par Kwhy »

je rentre de vacance demain soir,
jcaspar
Niveau 7
Niveau 7
Messages : 449
Enregistré le : mar. 23 sept. 2008 17:58
Status : Hors ligne

Re: [R] Données global

#19

Message 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
 
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [R] Données global

#20

Message 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
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Répondre