Comment enregistrer dans une liste que les éléments non vide
Comment enregistrer dans une liste que les éléments non vide
Bonjour à tous,
je me tourne vers vous pour quelques conseils avisés que je sais que vous m'offrirez.
J'expose le sujet : à cause du Covid19 on ne peut plus sensibiliser les gens au risques du diabète en leur piquant le doigt pour mesurer leur glycémie, donc je réalise pour l'association des diabétique de la Manche un petit questionnaire anonyme les concernant, alors j'ai quelques petites questions.
Pour les comptages, je souhaiterais n'enregistrer que les éléments non vides, si c'est faisable ou peut-être existe-t-il une autre manière ?
https://www.dropbox.com/sh/qvyo6b8v218c ... oFKpa?dl=0
Vous pouvez me donner toutes les critiques que vous voulez, ça n'en sera que plus bénéfique pour la suite.
Je vous remercie d'avance.
je me tourne vers vous pour quelques conseils avisés que je sais que vous m'offrirez.
J'expose le sujet : à cause du Covid19 on ne peut plus sensibiliser les gens au risques du diabète en leur piquant le doigt pour mesurer leur glycémie, donc je réalise pour l'association des diabétique de la Manche un petit questionnaire anonyme les concernant, alors j'ai quelques petites questions.
Pour les comptages, je souhaiterais n'enregistrer que les éléments non vides, si c'est faisable ou peut-être existe-t-il une autre manière ?
https://www.dropbox.com/sh/qvyo6b8v218c ... oFKpa?dl=0
Vous pouvez me donner toutes les critiques que vous voulez, ça n'en sera que plus bénéfique pour la suite.
Je vous remercie d'avance.
Microsoft Windows 10 Famille 64 bits : Carte mère : ASRock 970 Extreme3 R2.0 : Carte Graphique NVIDIA GeForce RTX 3080 : Processeur AMD FX 6300 6 cœurs 12 threads 3,50 GHz PB 6.20 LTS (x64)
Un homme doit être poli, mais il doit aussi être libre !
Un homme doit être poli, mais il doit aussi être libre !
Re: Comment enregistrer dans une liste que les éléments non
Salut j'ai pas regardé ton code (encore)
Tout dépend de comment tu stockes tes réponses.
Tu peux faire un truc genre :
imaginons que R1$ soit la réponse
Tout dépend de comment tu stockes tes réponses.
Tu peux faire un truc genre :
imaginons que R1$ soit la réponse
Code : Tout sélectionner
R1$ = inputrequester("Q1","Aimes tu le sucre ?","")
if R1$<>""
addellement (ListReponse())
Reponse() = R1$
endif
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
Re: Comment enregistrer dans une liste que les éléments non
Bonjour Ar-s et merci pour ta réponse,
si je comprend bien, le mieux serait de ne pas avoir de liste structurée, car forcément avec une structure, tous les éléments seront comptabilisés et sauvegardés, qu'il soient égaux à 0 ou plus.
En fait j(ai besoin de savoir le nombre de genre masculin et féminin, leur tranche d'âge, leur tour de taille, s'ils ont un membre de leur famille proche ou éloigné et aucun, s'il ont un traitement pour l'HTA, s'il savent s'ils ont du sucre dans le sang, s'ils font une activité physique régulière, et s'il mangent des fruits et légumes régulièrement aussi.
avec toutes ces données, on réalise un diagnostic sommaire et selon leur genre, avec le poids et leur taille, on calcule l'indice de masse corporel (imc).
Se qui m'intéresse, c'est plutôt de savoir si j'emploie la bonne méthode de travail, car ça c'est compliqué quand il a fallut comptabiliser toutes les données, de toute façon je continue à chercher des solutions dans mon coin et je vous tiens au courant des avancées. quand je dis vous, je veux dire tous les membres du forum de Fred.
si je comprend bien, le mieux serait de ne pas avoir de liste structurée, car forcément avec une structure, tous les éléments seront comptabilisés et sauvegardés, qu'il soient égaux à 0 ou plus.
En fait j(ai besoin de savoir le nombre de genre masculin et féminin, leur tranche d'âge, leur tour de taille, s'ils ont un membre de leur famille proche ou éloigné et aucun, s'il ont un traitement pour l'HTA, s'il savent s'ils ont du sucre dans le sang, s'ils font une activité physique régulière, et s'il mangent des fruits et légumes régulièrement aussi.
avec toutes ces données, on réalise un diagnostic sommaire et selon leur genre, avec le poids et leur taille, on calcule l'indice de masse corporel (imc).
Se qui m'intéresse, c'est plutôt de savoir si j'emploie la bonne méthode de travail, car ça c'est compliqué quand il a fallut comptabiliser toutes les données, de toute façon je continue à chercher des solutions dans mon coin et je vous tiens au courant des avancées. quand je dis vous, je veux dire tous les membres du forum de Fred.
Microsoft Windows 10 Famille 64 bits : Carte mère : ASRock 970 Extreme3 R2.0 : Carte Graphique NVIDIA GeForce RTX 3080 : Processeur AMD FX 6300 6 cœurs 12 threads 3,50 GHz PB 6.20 LTS (x64)
Un homme doit être poli, mais il doit aussi être libre !
Un homme doit être poli, mais il doit aussi être libre !
Re: Comment enregistrer dans une liste que les éléments non
Mise à jour du fichier principal, toujours à la même adresse.
Microsoft Windows 10 Famille 64 bits : Carte mère : ASRock 970 Extreme3 R2.0 : Carte Graphique NVIDIA GeForce RTX 3080 : Processeur AMD FX 6300 6 cœurs 12 threads 3,50 GHz PB 6.20 LTS (x64)
Un homme doit être poli, mais il doit aussi être libre !
Un homme doit être poli, mais il doit aussi être libre !
- falsam
- Messages : 7324
- Inscription : dim. 22/août/2010 15:24
- Localisation : IDF (Yvelines)
- Contact :
Re: Comment enregistrer dans une liste que les éléments non
je n'ai pas encore ta réponse. Un truc génant lors de l'exécution. Quand l'utilisateur coche une réponse, il ne peut plus la modifier si il se trompe.
Configuration : Windows 11 Famille 64-bit - PB 6.20 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Re: Comment enregistrer dans une liste que les éléments non
J'ai regardé un peu ton code. Ta méthode n'est ni bonne ni mauvaise. Et ça fonctionne.
Je trouve l'utilisation des datasections un peu inutiles même si ça reste fonctionnelle. J'aurai mis ça dans des variables. Mais encore une fois c'est une histoire de goûts voir d'habitudes.
Le fait de mettre tes question en datasection t'oblige tout de même à recompiler pour le moindre changement.
Je suis toujours pour l'ajout d'un fichier texte annexe avec les questions/réponses et le traitement de ce fichier au lancement du prog. (Voir même un fichier préférences.)
Un Json marcherai aussi mais perso je n'aime pas du tout son fonctionnement. Mais si ton texte n'est pas amené à être changé ça passe.
Une liste structurée pour ce genre de QCM reste pratique pour stocker toutes les infos, c'est toujours plus claire.
Cependant, au lieu de
J'aurai plus fait ce genre
ça permet un traitement aisé par la suite
Non seulement c'est plus claire, utiliser les extensions .b et .c suffisent aussi. Un .b pour les questions à 2 ou 3 choix (réponse 0,1,2) et du .c pour les tailles et poids suffisent.
Je trouve l'utilisation des datasections un peu inutiles même si ça reste fonctionnelle. J'aurai mis ça dans des variables. Mais encore une fois c'est une histoire de goûts voir d'habitudes.
Le fait de mettre tes question en datasection t'oblige tout de même à recompiler pour le moindre changement.
Je suis toujours pour l'ajout d'un fichier texte annexe avec les questions/réponses et le traitement de ce fichier au lancement du prog. (Voir même un fichier préférences.)
Un Json marcherai aussi mais perso je n'aime pas du tout son fonctionnement. Mais si ton texte n'est pas amené à être changé ça passe.
Une liste structurée pour ce genre de QCM reste pratique pour stocker toutes les infos, c'est toujours plus claire.
Cependant, au lieu de
Code : Tout sélectionner
Structure sProspect
A_35_moins.i
A_35_44.i
A_45_54.i
A_55_64.i
A_64_plus.i
DF_non.i
DF_eloigne.i
DF_proche.i
TT_1.i
TT_2.i
TT_3.i
TT_A.i
TT_B.i
TT_C.i
AP_oui.i
AP_non.i
FL_tlj.i
FL_ptlj.i
H_non.i
H_oui.i
S_non.i
S_oui.i
I_25_moins.i
I_25_30.i
I_30_plus.i
G_F.i
G_M.i
EndStructure
Code : Tout sélectionner
Structure sProspect
genre.b ; 0 = homme 1 = femme
poids.c ; valeur en cm
taille.c ; valeur en cm
age.b ; bah l'age :)
antecedent.b ; 0 ou 1
sport.b ; 0 ou 1
legume.b ; 0 ou 1
taillebide.c ; valeur en cm
prescription.b ; 0 ou 1
sangsucre.b ; 0 ou 1
EndStructure
Non seulement c'est plus claire, utiliser les extensions .b et .c suffisent aussi. Un .b pour les questions à 2 ou 3 choix (réponse 0,1,2) et du .c pour les tailles et poids suffisent.
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
Re: Comment enregistrer dans une liste que les éléments non
Merci beaucoup pour ton aide providentielle, car on voit bien que je suis vieillissant, car une structure pareille, j'aurais dû y penser, car ça allège le code et facilite grandement la programmation.
Les questions ne sont pas dans la section de données, mais plutôt le verdict selon le nombre de points obtenus pendant le cochage des réponses.
Merci aussi à toi falsam, c'est vrai que chacun à le doit à l'erreur, et je ne devrais désactiver que les réponses du genre opposé.
Maintenant, il ne me reste plus qu'à programmer une nouvelle version en m'inspirant de vos réponses très avisées et je n'oublie pas de vous remercier encore.
Bon dimanche à tous.
Les questions ne sont pas dans la section de données, mais plutôt le verdict selon le nombre de points obtenus pendant le cochage des réponses.
Merci aussi à toi falsam, c'est vrai que chacun à le doit à l'erreur, et je ne devrais désactiver que les réponses du genre opposé.
Maintenant, il ne me reste plus qu'à programmer une nouvelle version en m'inspirant de vos réponses très avisées et je n'oublie pas de vous remercier encore.
Bon dimanche à tous.
Microsoft Windows 10 Famille 64 bits : Carte mère : ASRock 970 Extreme3 R2.0 : Carte Graphique NVIDIA GeForce RTX 3080 : Processeur AMD FX 6300 6 cœurs 12 threads 3,50 GHz PB 6.20 LTS (x64)
Un homme doit être poli, mais il doit aussi être libre !
Un homme doit être poli, mais il doit aussi être libre !
Re: Comment enregistrer dans une liste que les éléments non
Bonjour à tous,
mise à jour du programme à la même adresse que je répète ici:https://www.dropbox.com/sh/qvyo6b8v218c ... oFKpa?dl=0
J'ai ajouté une fenêtre principale pour lancer le questionnaire, celle-ci servira je pense pour les statistiques, je n'ai pas encore de sauvegarde de la liste de prospects, mais la liste existe et ce n'est pas très compliqué à faire, je cherche seulement une idée constructive pour l'agencer.
Vous pourrez faire toutes les critiques et conseils qui vous plaira de faire.
Merci pour l'aide qui m'a déjà été apportée.
mise à jour du programme à la même adresse que je répète ici:https://www.dropbox.com/sh/qvyo6b8v218c ... oFKpa?dl=0
J'ai ajouté une fenêtre principale pour lancer le questionnaire, celle-ci servira je pense pour les statistiques, je n'ai pas encore de sauvegarde de la liste de prospects, mais la liste existe et ce n'est pas très compliqué à faire, je cherche seulement une idée constructive pour l'agencer.
Vous pourrez faire toutes les critiques et conseils qui vous plaira de faire.
Merci pour l'aide qui m'a déjà été apportée.
Microsoft Windows 10 Famille 64 bits : Carte mère : ASRock 970 Extreme3 R2.0 : Carte Graphique NVIDIA GeForce RTX 3080 : Processeur AMD FX 6300 6 cœurs 12 threads 3,50 GHz PB 6.20 LTS (x64)
Un homme doit être poli, mais il doit aussi être libre !
Un homme doit être poli, mais il doit aussi être libre !
Re: Comment enregistrer dans une liste que les éléments non
Bonjour à tous,
mise à jour du programme, toujours à l'adresse :https://www.dropbox.com/sh/qvyo6b8v218c ... oFKpa?dl=0
comme vous pourrez le voir, il évolue doucement, car j'ai chez moi l'ainée de mes petits enfants qui joue à Roblox, et elle squatte beaucoup l'ordinateur.
J'ai quand même réussi à réalisé la partie affichage des statistiques et là je bloque un peu, car je ne sais pas comment organiser la sauvegarde, car je pense que les données ne seront pas prélevées au même endroit, ni au même jour, donc je pense qu'il faudra que je rajoute le site, la ville et la date, mais je ne sais pas dans quelle forme, notre ami commun MLD m'avait bien à progresser avec l'ancien logiciel, mais avec mes déboires médicaux, j'ai plutôt tendance à régresser, alors j'attend votre aide et vos suggestions et je vous en remercie par anticipation.
Re edit:
J'ai ajouté un bouton provisoire en bas de l'écran, c'est pour quitter sans sauvegarder juste pour les programmeurs.
mise à jour du programme, toujours à l'adresse :https://www.dropbox.com/sh/qvyo6b8v218c ... oFKpa?dl=0
comme vous pourrez le voir, il évolue doucement, car j'ai chez moi l'ainée de mes petits enfants qui joue à Roblox, et elle squatte beaucoup l'ordinateur.
J'ai quand même réussi à réalisé la partie affichage des statistiques et là je bloque un peu, car je ne sais pas comment organiser la sauvegarde, car je pense que les données ne seront pas prélevées au même endroit, ni au même jour, donc je pense qu'il faudra que je rajoute le site, la ville et la date, mais je ne sais pas dans quelle forme, notre ami commun MLD m'avait bien à progresser avec l'ancien logiciel, mais avec mes déboires médicaux, j'ai plutôt tendance à régresser, alors j'attend votre aide et vos suggestions et je vous en remercie par anticipation.
Re edit:
J'ai ajouté un bouton provisoire en bas de l'écran, c'est pour quitter sans sauvegarder juste pour les programmeurs.
Microsoft Windows 10 Famille 64 bits : Carte mère : ASRock 970 Extreme3 R2.0 : Carte Graphique NVIDIA GeForce RTX 3080 : Processeur AMD FX 6300 6 cœurs 12 threads 3,50 GHz PB 6.20 LTS (x64)
Un homme doit être poli, mais il doit aussi être libre !
Un homme doit être poli, mais il doit aussi être libre !
Re: Comment enregistrer dans une liste que les éléments non
Tu fais une belle variable conclusion$ que tu affiches en fin de programmeje bloque un peu, car je ne sais pas comment organiser la sauvegarde
Code : Tout sélectionner
MessageRequester("VERDICT", Conclusion$ + #LF$ + Texte$, #PB_MessageRequester_Ok|#PB_MessageRequester_Info)
Autre petite remarque.
Tu as décidé d'utiliser 2 fenêtres différentes plutôt que (par exemple) 2 containers. ça c'est pas grave. Mais lorsque tu tu ouvres la fenêtre 2, pense à faire un hidewindows(fenetre1,1) et quand tu la ferme (fentre 2) à faire un hidewindows(fenetre1,0). ça évitera d'avoir les 2 icones de fenêtre en même temps dans la barre des tâches.
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
Re: Comment enregistrer dans une liste que les éléments non
Merci Ar-s d'être venu à mon secours,
pour le requester, je n'y avais même pas prêté attention, et pour le fichier texte, c'est vrai que ça ferait plus court, je pourrais même ajouter un caractère spécial, genre Chr(255), pour indiquer la fin de chaque enregistrement.
Il peut y avoir de belles astuces, mais j'ai tellement de choses en tête que ça ne me vient même pas à l'idée.
pour le requester, je n'y avais même pas prêté attention, et pour le fichier texte, c'est vrai que ça ferait plus court, je pourrais même ajouter un caractère spécial, genre Chr(255), pour indiquer la fin de chaque enregistrement.
Il peut y avoir de belles astuces, mais j'ai tellement de choses en tête que ça ne me vient même pas à l'idée.
Microsoft Windows 10 Famille 64 bits : Carte mère : ASRock 970 Extreme3 R2.0 : Carte Graphique NVIDIA GeForce RTX 3080 : Processeur AMD FX 6300 6 cœurs 12 threads 3,50 GHz PB 6.20 LTS (x64)
Un homme doit être poli, mais il doit aussi être libre !
Un homme doit être poli, mais il doit aussi être libre !
Re: Comment enregistrer dans une liste que les éléments non
Tout dépend que ce qu tu veux faire de cette sauvegarde !
Si c'est un simple bilan, ma solution est adaequat. Si tu veux te re servir de ces données plus tard, il te faut sauver les infos de façon plus structurées.
Mais tu as déjà tout ce qu'il te faut niveau données lors du bilan. Donc faut choisir une méthode qui te parle. Soit Json, soit fichier pref de PB, soit une suite de résultats séparé par un ";" ou autre genre fichier CSV.
Tu as vraiment fait le plus compliqué. La sauvegarde, je le répète n'est que le fait d'écrire dans un fichier texte des données que tu as déjà.
----edit----
je vais te faire un petit exemple ds l'aprem
Si c'est un simple bilan, ma solution est adaequat. Si tu veux te re servir de ces données plus tard, il te faut sauver les infos de façon plus structurées.
Mais tu as déjà tout ce qu'il te faut niveau données lors du bilan. Donc faut choisir une méthode qui te parle. Soit Json, soit fichier pref de PB, soit une suite de résultats séparé par un ";" ou autre genre fichier CSV.
Tu as vraiment fait le plus compliqué. La sauvegarde, je le répète n'est que le fait d'écrire dans un fichier texte des données que tu as déjà.
----edit----
je vais te faire un petit exemple ds l'aprem
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
Re: Comment enregistrer dans une liste que les éléments non
Conclusions, c'est le contenu qui sera imprimé pour chaque prospect.
En fait, le logiciel est fait pour l'association des diabétique de la Manche, bien que l'autre logiciel dont MLD avait collaboré avec moi, a dépassé les frontière de ma région Normandie, est conçut pour être installé sur plusieurs laptop dont les sauvegardes sont réunies au final sur une unique clé USB, serviront à faires des statistiques graphiques genre diagrammes en barres, pour comparer quel genre hommes ou femmes sont les plus représentatifs, idem pour les tranches d'âge, les tour de taille, les personnes ayant un parent éloigné ou proche atteint du diabète, ou pas du tout, s'il sont médiqués pour l'hypertension, le sucre dans le sang, s'ils font de l'activité physique régulièrement et enfin s'ils ont des repas équilibrés et bien entendu leurs IMC, car on s'est aperçus que 80% des diabétiques sont aussi hypertendus et que 20 % des hypertendus sont aussi diabétiques.
l'action mise en avant est d'éviter d'avoir ces 2 maladies mortelles.
Moi, ce que je souhaite faire, c'est de faire un logiciel aussi professionnel que possible et je donne tout ce que j'ai, mais je pense que ce n'est pas encore suffisant, c'est pourquoi je demande la contribution du maximum de membres du forum possible et je remercie tous ceux qui vont s'unir à mon effort, quand on veut soulever un piano, chacun ne doit soulever que sa partie.
En fait, le logiciel est fait pour l'association des diabétique de la Manche, bien que l'autre logiciel dont MLD avait collaboré avec moi, a dépassé les frontière de ma région Normandie, est conçut pour être installé sur plusieurs laptop dont les sauvegardes sont réunies au final sur une unique clé USB, serviront à faires des statistiques graphiques genre diagrammes en barres, pour comparer quel genre hommes ou femmes sont les plus représentatifs, idem pour les tranches d'âge, les tour de taille, les personnes ayant un parent éloigné ou proche atteint du diabète, ou pas du tout, s'il sont médiqués pour l'hypertension, le sucre dans le sang, s'ils font de l'activité physique régulièrement et enfin s'ils ont des repas équilibrés et bien entendu leurs IMC, car on s'est aperçus que 80% des diabétiques sont aussi hypertendus et que 20 % des hypertendus sont aussi diabétiques.
l'action mise en avant est d'éviter d'avoir ces 2 maladies mortelles.
Moi, ce que je souhaite faire, c'est de faire un logiciel aussi professionnel que possible et je donne tout ce que j'ai, mais je pense que ce n'est pas encore suffisant, c'est pourquoi je demande la contribution du maximum de membres du forum possible et je remercie tous ceux qui vont s'unir à mon effort, quand on veut soulever un piano, chacun ne doit soulever que sa partie.
Microsoft Windows 10 Famille 64 bits : Carte mère : ASRock 970 Extreme3 R2.0 : Carte Graphique NVIDIA GeForce RTX 3080 : Processeur AMD FX 6300 6 cœurs 12 threads 3,50 GHz PB 6.20 LTS (x64)
Un homme doit être poli, mais il doit aussi être libre !
Un homme doit être poli, mais il doit aussi être libre !
Re: Comment enregistrer dans une liste que les éléments non
Voilà un code que j'ai voulu simple pour que tu piges.
NE T'OCCUPE PAS des macros, elles sont juste là pour simplifier l'écriture.
Ici tu as 7 étapes. C'est vraiment pour te montrer tout le truc de façon décortiqué.
Mais en réalité, seul les 2 procédures ReadPref() et SavePref() sont importantes.
1 - On crée un utilisateur
2 - On initialise OU lit les données utilisateurs automatiquement
3 - On simule le test de l'utilisateur
4 - On sauve les données du test
5 - On efface les données en mémoire histoire d'petre sur d'avoir bien tout sauvé ; Étape optionnelle
6 - On vérifie le fichier sauvé
7 - Tout est OK, on efface le fichier pref à des fin de test. ; Étape optionnelle
Autre avantage de cette méthode, Tu pourras très bien par la suite créer un PreferenceGroup(Bilan.P\nom) au lieu de PreferenceGroup("UTILISTEUR") afin d'avoir UN fichier pref pour X clients.
NE T'OCCUPE PAS des macros, elles sont juste là pour simplifier l'écriture.
Ici tu as 7 étapes. C'est vraiment pour te montrer tout le truc de façon décortiqué.
Mais en réalité, seul les 2 procédures ReadPref() et SavePref() sont importantes.
1 - On crée un utilisateur
2 - On initialise OU lit les données utilisateurs automatiquement
3 - On simule le test de l'utilisateur
4 - On sauve les données du test
5 - On efface les données en mémoire histoire d'petre sur d'avoir bien tout sauvé ; Étape optionnelle
6 - On vérifie le fichier sauvé
7 - Tout est OK, on efface le fichier pref à des fin de test. ; Étape optionnelle
Code : Tout sélectionner
Declare ReadPref()
Declare SavePref()
Structure P ; P pour personne
Genre.b
TrancheAge.b
DiabFam.b
ActPhys.b
FruitLeg.b
TourTaille.c
Tension.b
SangSucre.b
IMC.s
Nom.s
EndStructure
Global Pref$ = GetCurrentDirectory()+"test.pref"
Global Bilan.P
; ///////////////////////M A C R O S///////////////////////////////////////////////////////
; Petite macro pour simplifier l'ecriture des infos structurées
Macro B(type,resultat)
Bilan.P\type = REsultat
EndMacro
Macro Lis(cle,type)
Bilan.P\type = ReadPreferenceInteger (Cle, 0) ; initialisation à 0
EndMacro
; Petite macro pour simplifier l'ecriture et la lecture dans le fichier pref des infos structurées
Macro SaV(cle,type)
WritePreferenceInteger (cle, Bilan.P\type )
EndMacro
; //////////////////////////////////////////////////////////////////////////////////////
; Ouvrir un fichier préférence
Procedure ReadPref() ; Lire ou initialiser les prefs
OpenPreferences(Pref$,#PB_Preference_NoSpace)
; L'intérêt est double car si les valeurs existent, il les lit sinon il les initialisent
PreferenceGroup("UTILISTEUR")
Bilan.P\Nom = ReadPreferenceString ("NOM", Bilan.P\Nom )
Lis ("GENRE", genre)
Lis("TRANCHEAGE", TrancheAge)
Lis("DIABFAM", DiabFam)
Lis("ACTPHYS", ActPhyS)
; Etc...
; Fermer le fichier préférence
ClosePreferences()
EndProcedure
Procedure SavePref()
OpenPreferences (Pref$,#PB_Preference_NoSpace)
PreferenceGroup("UTILISTEUR")
WritePreferenceString ("NOM", Bilan.P\Nom )
SaV ("GENRE",genre)
SaV ("TRANCHEAGE",TrancheAge)
SaV ("DIABFAM",DiabFam)
SaV ("ACTPHYS",ActPhys)
; Etc...
; Fermer le fichier préférence
ClosePreferences()
EndProcedure
; PROGRAMME ----------------------------------------------------------------------------------------------------------
; AVANT TOUT ON CREE UN UTILISATEUR :
B(nom,InputRequester("Nom","Entrer votre NOM",""))
; PUIS ON LIT ou INITIALISE LE FICHIER PREF
ReadPref()
Debug "Initialisation/lecture du fichier pref "
; Test 1ere lecture
Debug "NOM " + Bilan.P\nom
Debug "GENRE "+ Bilan.P\genre
Debug "Tranche A " + Bilan.P\TrancheAge
Debug "Antecedant " + Bilan.P\DiabFam
Debug "Activité Phy " + Bilan.P\ActPhys
Debug ""
;MAINTENANT TON UTILISATEUR FAIT LE TEST ET ENTRE LES DONNES SUIVANTES.
Debug "Le test a été fait par un utilisateur en entrant les données suivanets : 1 3 1 0 " ; Le nom lui est déjà entré
B(genre,1)
B(TrancheAge,3)
B(DIABFAM,1)
B(Actphys,0)
Debug ""
; On sauve le fichier
Debug "DONNEES SAUVEES"
SavePref()
Debug ""
Debug "On réinitialise les données du logiciel 0,0,0,0"
; Encore pour te montrer l'exemple on reinisitalise ces données
B(genre,0)
B(TrancheAge,0)
B(DIABFAM,0)
B(Actphys,0)
Debug ""
Debug "----------------"
Debug "On lit les données sauvées"
; IMAGINONS Qu'ON RE OUVRE NOTRE SAUVEGARDE
ReadPref()
; ON VERIFIE LES RESULTATS
Debug "NOM " + Bilan.P\nom
Debug "GENRE "+ Bilan.P\genre
Debug "Tranche A " + Bilan.P\TrancheAge
Debug "Antecedant " + Bilan.P\DiabFam
Debug "Activité Phy " + Bilan.P\ActPhys
Debug ""
Debug " J'efface le fichier prefs si tu veux re tester"
DeleteFile(Pref$,#PB_FileSystem_Force)
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
Re: Comment enregistrer dans une liste que les éléments non
Bravo, j'adore ce type de programmation, car ça simplifie vraiment, j'adore le petites macros.
Par contre, et heureusement que c'est un exemple, car les questionnaires sont anonymes, mais j'ai compris le principe
J'adore le principe des préférences, c'est bien vu
Et surtout, merci beaucoup.
Par contre, et heureusement que c'est un exemple, car les questionnaires sont anonymes, mais j'ai compris le principe
J'adore le principe des préférences, c'est bien vu
Et surtout, merci beaucoup.
Microsoft Windows 10 Famille 64 bits : Carte mère : ASRock 970 Extreme3 R2.0 : Carte Graphique NVIDIA GeForce RTX 3080 : Processeur AMD FX 6300 6 cœurs 12 threads 3,50 GHz PB 6.20 LTS (x64)
Un homme doit être poli, mais il doit aussi être libre !
Un homme doit être poli, mais il doit aussi être libre !