Carnet de suivi

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
Avatar de l’utilisateur
Micoute
Messages : 2522
Inscription : dim. 02/oct./2011 16:17
Localisation : 35520 La Mézière

Carnet de suivi

Message par Micoute »

Bonjour à tous,

en ce moment, je me fabrique un carnet de suivi et j'aimerais que les observations que j'ai nommé "Note" pour faire plus court ne s'affichent pas dans la liste, mais d'une autre manière par exemple dans la barre d'état quand on clique dans la ligne correspondant à la date choisie.

C'est pour cette raison que je me tourne vers vous pour solliciter un peu d'aide, mais qui sera grande pour moi et je vous en remercie.

Code : Tout sélectionner

;Carnet de suivi

Enumeration
  #FichierJSON
EndEnumeration

Enumeration Fenetres
  #Fenetre_Principale
  #Fenetre_Saisies
  #Fenetre_couleurs
  #Fenetre_Complications
  #Fenetre_Recommandations
EndEnumeration

Enumeration Gadgets
  #Txt_Date
  #Txt_Gly_mat
  #Txt_Dose_mat
  #Txt_Gly_mid
  #Txt_Dose_mid
  #Txt_Gly_soi
  #Txt_Dose_soi
  #Txt_Note_mat
  #Txt_Note_mid
  #Txt_Note_soi
  
  #Str_Date
  #Str_Gly_mat
  #Str_Dose_mat
  #Str_Gly_mid
  #Str_Dose_mid
  #Str_Gly_soi
  #Str_Dose_soi
  #Str_Note_mat
  #Str_Note_mid
  #Str_Note_soi
  
  #Txt_Plage_cible
  
  #Liste_Donnees
  
  #Txt_Signature  
  
  #Btn_Sauvegarder
  #Btn_Quitter
  #Btn_Nouveau
  #Btn_Maj
  #Btn_Supprimer
  #Btn_Resultat
  #Btn_Colorer
  #Btn_Quitter_Calcul
  
  #Ctn_Saisie
  #Ctn_Calcul
  #Cvs_Saisie
  #Cvs_Calcul
  #Txt_Indice_Calcul
  #Txt_Indice_Calcul_2
  
  
  ;{ Date
  #Date_1
  #Date_2
  #Date_3
  #Date_4
  #Date_5
  #Date_6
  #Date_7
  #Date_8
  #Date_9
  #Date_10
  #Date_11
  #Date_12
  #Date_13
  #Date_14
  #Date_15
  #Date_16
  #Date_17
  #Date_18
  #Date_19
  #Date_20
  #Date_21
  #Date_22
  #Date_23
  #Date_24
  #Date_25
  #Date_26
  #Date_27
  #Date_28
  #Date_29
  #Date_30
  #Date_31
  ;}
  ;{ Matin
  #Str_1_1
  #Str_2_1
  #Str_3_1
  #Str_4_1
  #Str_5_1
  #Str_6_1
  #Str_7_1
  #Str_8_1
  #Str_9_1
  #Str_10_1
  #Str_11_1
  #Str_12_1
  #Str_13_1
  #Str_14_1
  #Str_15_1
  #Str_16_1
  #Str_17_1
  #Str_18_1
  #Str_19_1
  #Str_20_1
  #Str_21_1
  #Str_22_1
  #Str_23_1
  #Str_24_1
  #Str_25_1
  #Str_26_1
  #Str_27_1
  #Str_28_1
  #Str_29_1
  #Str_30_1
  #Str_31_1
  #Spn_1_1
  #Spn_2_1
  #Spn_3_1
  #Spn_4_1
  #Spn_5_1
  #Spn_6_1
  #Spn_7_1
  #Spn_8_1
  #Spn_9_1
  #Spn_10_1
  #Spn_11_1
  #Spn_12_1
  #Spn_13_1
  #Spn_14_1
  #Spn_15_1
  #Spn_16_1
  #Spn_17_1
  #Spn_18_1
  #Spn_19_1
  #Spn_20_1
  #Spn_21_1
  #Spn_22_1
  #Spn_23_1
  #Spn_24_1
  #Spn_25_1
  #Spn_26_1
  #Spn_27_1
  #Spn_28_1
  #Spn_29_1
  #Spn_30_1
  #Spn_31_1
  ;}
  ;{ Midi
  #Str_1_2
  #Str_2_2
  #Str_3_2
  #Str_4_2
  #Str_5_2
  #Str_6_2
  #Str_7_2
  #Str_8_2
  #Str_9_2
  #Str_10_2
  #Str_11_2
  #Str_12_2
  #Str_13_2
  #Str_14_2
  #Str_15_2
  #Str_16_2
  #Str_17_2
  #Str_18_2
  #Str_19_2
  #Str_20_2
  #Str_21_2
  #Str_22_2
  #Str_23_2
  #Str_24_2
  #Str_25_2
  #Str_26_2
  #Str_27_2
  #Str_28_2
  #Str_29_2
  #Str_30_2
  #Str_31_2
  #Spn_1_2
  #Spn_2_2
  #Spn_3_2
  #Spn_4_2
  #Spn_5_2
  #Spn_6_2
  #Spn_7_2
  #Spn_8_2
  #Spn_9_2
  #Spn_10_2
  #Spn_11_2
  #Spn_12_2
  #Spn_13_2
  #Spn_14_2
  #Spn_15_2
  #Spn_16_2
  #Spn_17_2
  #Spn_18_2
  #Spn_19_2
  #Spn_20_2
  #Spn_21_2
  #Spn_22_2
  #Spn_23_2
  #Spn_24_2
  #Spn_25_2
  #Spn_26_2
  #Spn_27_2
  #Spn_28_2
  #Spn_29_2
  #Spn_30_2
  #Spn_31_2
  ;}
  ;{ Soir
  #Str_1_3
  #Str_2_3
  #Str_3_3
  #Str_4_3
  #Str_5_3
  #Str_6_3
  #Str_7_3
  #Str_8_3
  #Str_9_3
  #Str_10_3
  #Str_11_3
  #Str_12_3
  #Str_13_3
  #Str_14_3
  #Str_15_3
  #Str_16_3
  #Str_17_3
  #Str_18_3
  #Str_19_3
  #Str_20_3
  #Str_21_3
  #Str_22_3
  #Str_23_3
  #Str_24_3
  #Str_25_3
  #Str_26_3
  #Str_27_3
  #Str_28_3
  #Str_29_3
  #Str_30_3
  #Str_31_3
  #Spn_1_3
  #Spn_2_3
  #Spn_3_3
  #Spn_4_3
  #Spn_5_3
  #Spn_6_3
  #Spn_7_3
  #Spn_8_3
  #Spn_9_3
  #Spn_10_3
  #Spn_11_3
  #Spn_12_3
  #Spn_13_3
  #Spn_14_3
  #Spn_15_3
  #Spn_16_3
  #Spn_17_3
  #Spn_18_3
  #Spn_19_3
  #Spn_20_3
  #Spn_21_3
  #Spn_22_3
  #Spn_23_3
  #Spn_24_3
  #Spn_25_3
  #Spn_26_3
  #Spn_27_3
  #Spn_28_3
  #Spn_29_3
  #Spn_30_3
  #Spn_31_3
  ;}
  ;{ Moyenne
  #Str_Moyenne_1
  #Str_Moyenne_2
  #Str_Moyenne_3
  #Str_Moyenne_4
  #Str_Moyenne_5
  #Str_Moyenne_6
  #Str_Moyenne_7
  #Str_Moyenne_8
  #Str_Moyenne_9
  #Str_Moyenne_10
  #Str_Moyenne_11
  #Str_Moyenne_12
  #Str_Moyenne_13
  #Str_Moyenne_14
  #Str_Moyenne_15
  #Str_Moyenne_16
  #Str_Moyenne_17
  #Str_Moyenne_18
  #Str_Moyenne_19
  #Str_Moyenne_20
  #Str_Moyenne_21
  #Str_Moyenne_22
  #Str_Moyenne_23
  #Str_Moyenne_24
  #Str_Moyenne_25
  #Str_Moyenne_26
  #Str_Moyenne_27
  #Str_Moyenne_28
  #Str_Moyenne_29
  #Str_Moyenne_30
  #Str_Moyenne_31
  ;}
  ;{ HbA1c
  #Str_HbA1c_1
  #Str_HbA1c_2
  #Str_HbA1c_3
  #Str_HbA1c_4
  #Str_HbA1c_5
  #Str_HbA1c_6
  #Str_HbA1c_7
  #Str_HbA1c_8
  #Str_HbA1c_9
  #Str_HbA1c_10
  #Str_HbA1c_11
  #Str_HbA1c_12
  #Str_HbA1c_13
  #Str_HbA1c_14
  #Str_HbA1c_15
  #Str_HbA1c_16
  #Str_HbA1c_17
  #Str_HbA1c_18
  #Str_HbA1c_19
  #Str_HbA1c_20
  #Str_HbA1c_21
  #Str_HbA1c_22
  #Str_HbA1c_23
  #Str_HbA1c_24
  #Str_HbA1c_25
  #Str_HbA1c_26
  #Str_HbA1c_27
  #Str_HbA1c_28
  #Str_HbA1c_29
  #Str_HbA1c_30
  #Str_HbA1c_31
  ;}
  ;{ mmol/mol
  #Str_Mol_1
  #Str_Mol_2
  #Str_Mol_3
  #Str_Mol_4
  #Str_Mol_5
  #Str_Mol_6
  #Str_Mol_7
  #Str_Mol_8
  #Str_Mol_9
  #Str_Mol_10
  #Str_Mol_11
  #Str_Mol_12
  #Str_Mol_13
  #Str_Mol_14
  #Str_Mol_15
  #Str_Mol_16
  #Str_Mol_17
  #Str_Mol_18
  #Str_Mol_19
  #Str_Mol_20
  #Str_Mol_21
  #Str_Mol_22
  #Str_Mol_23
  #Str_Mol_24
  #Str_Mol_25
  #Str_Mol_26
  #Str_Mol_27
  #Str_Mol_28
  #Str_Mol_29
  #Str_Mol_30
  #Str_Mol_31
  ;}
  ;{ Glucose
  #Str_Glu_1
  #Str_Glu_2
  #Str_Glu_3
  #Str_Glu_4
  #Str_Glu_5
  #Str_Glu_6
  #Str_Glu_7
  #Str_Glu_8
  #Str_Glu_9
  #Str_Glu_10
  #Str_Glu_11
  #Str_Glu_12
  #Str_Glu_13
  #Str_Glu_14
  #Str_Glu_15
  #Str_Glu_16
  #Str_Glu_17
  #Str_Glu_18
  #Str_Glu_19
  #Str_Glu_20
  #Str_Glu_21
  #Str_Glu_22
  #Str_Glu_23
  #Str_Glu_24
  #Str_Glu_25
  #Str_Glu_26
  #Str_Glu_27
  #Str_Glu_28
  #Str_Glu_29
  #Str_Glu_30
  #Str_Glu_31
  ;}
EndEnumeration

Enumeration Polices
  #Police
  #Police_Liste
  #Police_Signature  
  #Police_Awesome
EndEnumeration

Enumeration Images
  #Complications
  #Recommandations
EndEnumeration  

;}
;{ Structures
;Structure d'une donnée
Structure sDonnee
  Date.s
  Gly_mat.s
  Dose_mat.s
  Gly_mid.s
  Dose_mid.s
  Gly_soi.s
  Dose_soi.s
  Note_mat.s
  Note_mid.s
  Note_soi.s
EndStructure

Structure Masque
  Nom.s
  Valeur.s
EndStructure

Global NewList Donnees.sDonnee(), CouleurFnd = $02D4D7, CouleurTxt = $B2FDFE, CouleurOmbre  = $01999B, Evenement
Global Fichier_Donnees.s
Global Btn_SourisPresse, DecalageX, DecalageY
Global Glycemie_moyenne = 0, HbA1c.d = 0, Mol.d = 0.0, Glucose$ = ""
LoadFont(#Police, "Arial Nova", 11, #PB_Font_Bold)
LoadFont(#Police_Liste, "Arial Nova", 12, #PB_Font_Bold)
LoadFont(#Police_Signature, "Arial Nova", 12, #PB_Font_Bold|#PB_Font_Italic)
LoadFont(#Police_Awesome, "FontAwesome", 18, #PB_Font_HighQuality)

SetGadgetFont(#PB_Default, FontID(#Police))

Declare Programme_principal()
Declare Programme_saisies()
Declare Programme_Placement()
Declare Programme_Calculs()
Declare Coloriser(Id)
Declare Charger_Donnees()
Declare GestionEvenements()
Declare NouvelleDonnee()
Declare SelectionDonnee()
Declare SupprimerDonnee()
Declare MajDonnee()
Declare SauvegardeDonnees()
Declare Quitter()
Declare Complications()
Declare Recommandations()

UsePNGImageDecoder()

Programme_principal()

Procedure Choisir_Base_de_donnees()
  Protected Fichier_par_defaut.s = #PB_Compiler_FilePath + "Tendances glycémiques " + Month(Date()) + " " + Year(Date()) +".json"
  Protected Filtre$ = "Carnet de surveillance *.json"
  Fichier_Donnees = OpenFileRequester("Choisissez un fichier de données à ouvrir", Fichier_par_defaut, Filtre$, 0)
  If Fichier_Donnees <> ""
    Charger_Donnees()
  Else
    Fichier_Donnees = SaveFileRequester("Choisisez un fichier de données à sauvegarder ", Fichier_par_defaut, Filtre$, 0)
    Fichier_Donnees + ".json"
    SauvegardeDonnees()
    Charger_Donnees()
    Programme_saisies()
  EndIf  
EndProcedure

Procedure Programme_principal()
  If OpenWindow(#Fenetre_Principale, 0, 0, 1680, 800, "Tendances glycémiques", #PB_Window_BorderLess|#PB_Window_ScreenCentered|#PB_Window_Invisible)
    Programme_saisies()
  EndIf  
EndProcedure

Procedure Programme_saisies()
  If OpenWindow(#Fenetre_Saisies, WindowX(#Fenetre_Principale), WindowY(#Fenetre_Principale), 1195, 770, "Tendances glycémiques", #PB_Window_BorderLess, WindowID(#Fenetre_Principale))
    CanvasGadget(#Cvs_Saisie, 0, 0, WindowWidth(#Fenetre_Saisies), WindowHeight(#Fenetre_Saisies), #PB_Canvas_Container)
    StartDrawing(CanvasOutput(#Cvs_Saisie))
    Box(0, 0, WindowWidth(#Fenetre_Saisies), WindowHeight(#Fenetre_Saisies), CouleurFnd) ;Fond
    Box(0, 0, WindowWidth(#Fenetre_Saisies), 5, CouleurTxt) ;Haut
    Box(0, 5, 5, WindowHeight(#Fenetre_Saisies) - 5, CouleurTxt) ;Côté gauche
    Box(5, WindowHeight(#Fenetre_Saisies) - 5, WindowWidth(#Fenetre_Saisies), 5, CouleurOmbre) ;Bas
    Box(WindowWidth(#Fenetre_Saisies) - 5, 0, 5, WindowHeight(#Fenetre_Saisies), CouleurOmbre) ;côté droit
    StopDrawing()
    
    ListIconGadget(#Liste_Donnees, 360, 10, 825, 750, "Date", 100, #PB_ListIcon_FullRowSelect|#PB_ListIcon_AlwaysShowSelection|#PB_ListIcon_GridLines|#LVS_NOCOLUMNHEADER)
    AddGadgetColumn(#Liste_Donnees, 1, "Glycémie", 50)
    AddGadgetColumn(#Liste_Donnees, 2, "Dose", 40)
    AddGadgetColumn(#Liste_Donnees, 3, "Note matin", 150)
    AddGadgetColumn(#Liste_Donnees, 4, "Glycémie ", 50)
    AddGadgetColumn(#Liste_Donnees, 5, "Dose", 40)
    AddGadgetColumn(#Liste_Donnees, 6, "Note midi", 150)
    AddGadgetColumn(#Liste_Donnees, 7, "Glycémie", 50)
    AddGadgetColumn(#Liste_Donnees, 8, "Dose", 40)
    AddGadgetColumn(#Liste_Donnees, 9, "Note soir", 150)
    
    
    TextGadget(#Txt_Plage_cible, 10, 10, 325, 20, "Plage cible taux de glucose 90 - 130 mg/dL", #SS_CENTER|#SS_CENTERIMAGE)
    
    ContainerGadget(#Ctn_Saisie, 10, 50, 350, 360)
    TextGadget(#Txt_Date, 0, 0, 70, 24, "Date", #SS_CENTERIMAGE)
    StringGadget(#Str_Date, 90, 0, 100, 24,"")
    
    TextGadget(#Txt_Gly_mat, 0, 45, 130, 24, "Glycémie du matin", #SS_CENTERIMAGE)
    StringGadget(#Str_Gly_mat, 150, 45, 40, 24, "", #ES_CENTER|#ES_NUMBER)
    TextGadget(#Txt_Dose_mat, 0, 75, 90, 24, "Injection (UI)", #SS_CENTERIMAGE)
    StringGadget(#Str_Dose_mat, 140, 75, 50, 24, "", #ES_CENTER|#ES_NUMBER)
    TextGadget(#Txt_Note_mat, 0, 105, 35, 24, "Note", #SS_CENTERIMAGE)
    StringGadget(#Str_Note_mat, 40, 105, 150, 24, "")
    GadgetToolTip(#Str_Note_mat, "hypo modérée ou sévère, repas exceptionnel, voyage, maladie, etc...")
    
    TextGadget(#Txt_Gly_mid, 0, 160, 130, 24, "Glycémie du midi", #SS_CENTERIMAGE)
    StringGadget(#Str_Gly_mid, 150, 160, 40, 24, "", #ES_CENTER|#ES_NUMBER)
    TextGadget(#Txt_Dose_mid, 0, 190, 90, 24, "Injection (UI)", #SS_CENTERIMAGE)
    StringGadget(#Str_Dose_mid, 140, 190, 50, 24, "", #ES_CENTER|#ES_NUMBER)
    TextGadget(#Txt_Note_mid, 0, 220, 35, 24, "Note", #SS_CENTERIMAGE)
    StringGadget(#Str_Note_mid, 40, 220, 150, 24, "")
    GadgetToolTip(#Str_Note_mid, "hypo modérée ou sévère, repas exceptionnel, voyage, maladie, etc...")
    
    TextGadget(#Txt_Gly_soi, 0, 270, 130, 24, "Glycémie du soir", #SS_CENTERIMAGE)
    StringGadget(#Str_Gly_soi, 150, 270, 40, 24, "", #ES_CENTER|#ES_NUMBER)
    TextGadget(#Txt_Dose_soi, 0, 300, 90, 24, "Injection (UI)", #SS_CENTERIMAGE)
    StringGadget(#Str_Dose_soi, 140, 300, 50, 24, "", #ES_CENTER|#ES_NUMBER)
    TextGadget(#Txt_Note_soi, 0, 330, 35, 24, "Note", #SS_CENTERIMAGE)
    StringGadget(#Str_Note_soi, 40, 330, 150, 24, "")
    GadgetToolTip(#Str_Note_soi, "hypo modérée ou sévère, repas exceptionnel, voyage, maladie, etc...")
    
    ButtonGadget(#Btn_Maj,         210, 0, 120, 30, " Modifier")
    ButtonGadget(#Btn_Nouveau,     210, 40, 120, 30, " Nouveau")
    ButtonGadget(#Btn_Supprimer,   210, 80, 120, 30, " Supprimer")
    ButtonGadget(#Btn_Sauvegarder, 200, 120, 140, 30, " Sauvegarder")
    CloseGadgetList()
    
    ButtonGadget(#Btn_Resultat, 70, 560, 200, 30, "Résultats", #PB_Button_Toggle)
    
    ButtonGadget(#Btn_Quitter, 115, 700, 90, 30, " Quitter")
    SetGadgetFont(#Btn_Quitter, FontID(#Police_Awesome))
    
    CloseGadgetList() ;Canvas
    
    DisableGadget(#Btn_Maj, #True)
    HideGadget(#Btn_Sauvegarder, #True)
    DisableGadget(#Btn_Nouveau, #False)
    SetGadgetFont(#Txt_Signature, FontID(#Police_Signature))
    
    SetGadgetFont(#Liste_Donnees, FontID(#Police_Liste))
    SetGadgetFont(#Btn_Sauvegarder, FontID(#Police_Awesome))
    SetGadgetFont(#Btn_Maj, FontID(#Police_Awesome))
    SetGadgetFont(#Btn_Nouveau, FontID(#Police_Awesome))
    SetGadgetFont(#Btn_Supprimer, FontID(#Police_Awesome))
    
    ;Couleurs
    SetWindowColor(#Fenetre_Saisies, CouleurFnd)
    SetGadgetColor(#Liste_Donnees,#PB_Gadget_LineColor, CouleurFnd)
    SetGadgetColor(#Ctn_Saisie, #PB_Gadget_BackColor, CouleurFnd)
    SetGadgetColor(#Txt_Date, #PB_Gadget_BackColor, CouleurFnd)
    SetGadgetColor(#Txt_Gly_mat, #PB_Gadget_BackColor, CouleurFnd)
    SetGadgetColor(#Txt_Dose_mat, #PB_Gadget_BackColor, CouleurFnd)
    SetGadgetColor(#Txt_Gly_mid, #PB_Gadget_BackColor, CouleurFnd)
    SetGadgetColor(#Txt_Dose_mid, #PB_Gadget_BackColor, CouleurFnd)
    SetGadgetColor(#Txt_Gly_soi, #PB_Gadget_BackColor, CouleurFnd)
    SetGadgetColor(#Txt_Dose_soi, #PB_Gadget_BackColor, CouleurFnd)
    SetGadgetColor(#Liste_Donnees, #PB_Gadget_BackColor, CouleurTxt)
    SetGadgetColor(#Str_Date, #PB_Gadget_BackColor, CouleurTxt)
    SetGadgetColor(#Str_Gly_mat, #PB_Gadget_BackColor, CouleurTxt)
    SetGadgetColor(#Str_Dose_mat, #PB_Gadget_BackColor, CouleurTxt)
    SetGadgetColor(#Str_Gly_mid, #PB_Gadget_BackColor, CouleurTxt)
    SetGadgetColor(#Str_Dose_mid, #PB_Gadget_BackColor, CouleurTxt)
    SetGadgetColor(#Str_Gly_soi, #PB_Gadget_BackColor, CouleurTxt)
    SetGadgetColor(#Str_Dose_soi, #PB_Gadget_BackColor, CouleurTxt)
    SetGadgetColor(#Txt_Plage_cible, #PB_Gadget_BackColor, CouleurFnd)
    SetGadgetColor(#Txt_Note_mat, #PB_Gadget_BackColor, CouleurFnd)
    SetGadgetColor(#Txt_Note_mid, #PB_Gadget_BackColor, CouleurFnd)
    SetGadgetColor(#Txt_Note_soi, #PB_Gadget_BackColor, CouleurFnd)
    SetGadgetColor(#Str_Note_mat, #PB_Gadget_BackColor, CouleurTxt)
    SetGadgetColor(#Str_Note_mid, #PB_Gadget_BackColor, CouleurTxt)
    SetGadgetColor(#Str_Note_soi, #PB_Gadget_BackColor, CouleurTxt)
    
    ;{ Déclancheurs
    
    ;Contrôle de la saisie (La date est obligatoire)
    BindGadgetEvent(#Str_Date, @GestionEvenements())
    
    ;Mise en place d'une nouvelle donnée
    BindGadgetEvent(#Btn_Nouveau, @NouvelleDonnee())
    
    ;Une donnée est selectionnée dans la liste
    BindGadgetEvent(#Liste_Donnees, @SelectionDonnee())
    
    ;Ajout ou modification d'une donnée
    BindGadgetEvent(#Btn_Maj, @MajDonnee()) 
    
    ;Supression d'une donnée
    BindGadgetEvent(#Btn_Supprimer, @SupprimerDonnee()) 
    
    ;Fermeture de l'application et sauvegarde des données
    BindGadgetEvent(#Btn_Sauvegarder, @SauvegardeDonnees())
    
    ;Voir les résultats
    BindGadgetEvent(#Btn_Resultat, @Programme_Placement())
    
    ;Fermeture de l'application sans sauvegarder
    BindGadgetEvent(#Btn_Quitter, @Quitter())
    
    ;Charger la base de données
    Choisir_Base_de_donnees()
  EndIf
EndProcedure

Procedure Programme_Placement()
  Protected X = 0, Y = 0
  If GetGadgetState(#Btn_Resultat) = 1
    SetGadgetText(#Btn_Resultat, "Saisie")
    If OpenWindow(#Fenetre_couleurs, WindowX(#Fenetre_Saisies) + 360, WindowY(#Fenetre_Principale), 720, 770, "Tendances glycémiques et Hémoglobine glyquée journalière", #PB_Window_BorderLess)
      HideWindow(#Fenetre_couleurs, 1)
      
      CanvasGadget(#Cvs_Calcul, 0, 0, WindowWidth(#Fenetre_couleurs), WindowHeight(#Fenetre_couleurs), #PB_Canvas_Container)
      StartDrawing(CanvasOutput(#Cvs_Calcul))
      Box(0, 0, GadgetWidth(#Cvs_Calcul), GadgetHeight(#Cvs_Calcul), CouleurFnd) ;Fond
      Box(0, 0, GadgetWidth(#Cvs_Calcul) - 5, 5, CouleurTxt)                     ;Côté gauche
      Box(GadgetWidth(#Cvs_Calcul) - 5, 0, 5, GadgetHeight(#Cvs_Calcul), CouleurOmbre) ;Côté droit
      Box(0, GadgetHeight(#Cvs_Calcul) - 5, GadgetWidth(#Cvs_Calcul), 5, CouleurOmbre) ;Bas
      
      StopDrawing()
      
      
      ContainerGadget(#Ctn_Calcul, 20, 10, 680, 660)
      
      TextGadget(#Txt_Indice_Calcul_2, 0, 0, 680, 20,   Space(8) + "Date" + Space(8) + "mg/dL" + Space(6) + "UI" + Space(6) + "mg/dL" + Space(6) + "UI" + Space(5) + "mg/dL" + Space(5) + "UI" +
                                                        Space(20) + "HbA1c" + Space(22) + "Equilibre")
      TextGadget(#Txt_Indice_Calcul, 0, 640, 680, 20, Space(22) + " Glycémie" + Space(8) + " Glycémie" + Space(8) + " Glycémie" +
                                                      Space(10) + "Moyenne" + Space(15) + "mmol/l")    
      SetGadgetColor(#Txt_Indice_Calcul, #PB_Gadget_BackColor, CouleurFnd)
      SetGadgetColor(#Txt_Indice_Calcul_2, #PB_Gadget_BackColor, CouleurFnd)
      
      StringGadget(#Date_1, 0, 20, 100, 20, "", #ES_CENTER|#ES_READONLY) : StringGadget(#Str_1_1, 100, 20, 50, 20, "", #ES_CENTER|#ES_READONLY) :StringGadget(#Spn_1_1, 150, 20, 50, 20, "", #ES_CENTER|#ES_READONLY)
      StringGadget(#Str_1_2, 200, 20, 50, 20, "", #ES_CENTER|#ES_READONLY) : StringGadget(#Spn_1_2, 250, 20, 50, 20, "", #ES_CENTER|#ES_READONLY)
      StringGadget(#Str_1_3, 300, 20, 50, 20, "", #ES_CENTER|#ES_READONLY) : StringGadget(#Spn_1_3, 350, 20, 50, 20, "", #ES_CENTER|#ES_READONLY)
      StringGadget(#Str_Moyenne_1, 400, 20, 60, 20, "", #PB_String_BorderLess|#ES_CENTER|#ES_READONLY) : StringGadget(#Str_HbA1c_1, 460, 20, 60, 20, "", #PB_String_BorderLess|#ES_CENTER|#ES_READONLY)
      StringGadget(#Str_Mol_1, 520, 20, 60, 20, "", #PB_String_BorderLess|#ES_CENTER|#ES_READONLY) : StringGadget(#Str_Glu_1, 580, 20,100, 20, "", #PB_String_BorderLess|#ES_CENTER|#ES_READONLY)
      
      StringGadget(#Date_2, 0, 40, 100, 20, "", #ES_CENTER|#ES_READONLY) : StringGadget(#Str_2_1, 100, 40, 50, 20, "", #ES_CENTER|#ES_READONLY) :StringGadget(#Spn_2_1, 150, 40, 50, 20, "", #ES_CENTER|#ES_READONLY)
      StringGadget(#Str_2_2, 200, 40, 50, 20, "", #ES_CENTER|#ES_READONLY) : StringGadget(#Spn_2_2, 250, 40, 50, 20, "", #ES_CENTER|#ES_READONLY)
      StringGadget(#Str_2_3, 300, 40, 50, 20, "", #ES_CENTER|#ES_READONLY) : StringGadget(#Spn_2_3, 350, 40, 50, 20, "", #ES_CENTER|#ES_READONLY)
      StringGadget(#Str_Moyenne_2, 400, 40, 60, 20, "", #PB_String_BorderLess|#ES_CENTER|#ES_READONLY) : StringGadget(#Str_HbA1c_2, 460, 40, 60, 20, "", #PB_String_BorderLess|#ES_CENTER|#ES_READONLY)
      StringGadget(#Str_Mol_2, 520, 40, 60, 20, "", #PB_String_BorderLess|#ES_CENTER|#ES_READONLY) : StringGadget(#Str_Glu_2, 580, 40,100, 20, "", #PB_String_BorderLess|#ES_CENTER|#ES_READONLY)
      
      StringGadget(#Date_3, 0, 60, 100, 20, "", #ES_CENTER|#ES_READONLY) : StringGadget(#Str_3_1, 100, 60, 50, 20, "", #ES_CENTER|#ES_READONLY) :StringGadget(#Spn_3_1, 150, 60, 50, 20, "", #ES_CENTER|#ES_READONLY)
      StringGadget(#Str_3_2, 200, 60, 50, 20, "", #ES_CENTER|#ES_READONLY) : StringGadget(#Spn_3_2, 250, 60, 50, 20, "", #ES_CENTER|#ES_READONLY)
      StringGadget(#Str_3_3, 300, 60, 50, 20, "", #ES_CENTER|#ES_READONLY) : StringGadget(#Spn_3_3, 350, 60, 50, 20, "", #ES_CENTER|#ES_READONLY)
      StringGadget(#Str_Moyenne_3, 400, 60, 60, 20, "", #PB_String_BorderLess|#ES_CENTER|#ES_READONLY) : StringGadget(#Str_HbA1c_3, 460, 60, 60, 20, "", #PB_String_BorderLess|#ES_CENTER|#ES_READONLY)
      StringGadget(#Str_Mol_3, 520, 60, 60, 20, "", #PB_String_BorderLess|#ES_CENTER|#ES_READONLY) : StringGadget(#Str_Glu_3, 580, 60,100, 20, "", #PB_String_BorderLess|#ES_CENTER|#ES_READONLY)
      
      StringGadget(#Date_4, 0, 80, 100, 20, "", #ES_CENTER|#ES_READONLY) : StringGadget(#Str_4_1, 100, 80, 50, 20, "", #ES_CENTER|#ES_READONLY) :StringGadget(#Spn_4_1, 150, 80, 50, 20, "", #ES_CENTER|#ES_READONLY)
      StringGadget(#Str_4_2, 200, 80, 50, 20, "", #ES_CENTER|#ES_READONLY) : StringGadget(#Spn_4_2, 250, 80, 50, 20, "", #ES_CENTER|#ES_READONLY)
      StringGadget(#Str_4_3, 300, 80, 50, 20, "", #ES_CENTER|#ES_READONLY) : StringGadget(#Spn_4_3, 350, 80, 50, 20, "", #ES_CENTER|#ES_READONLY)
      StringGadget(#Str_Moyenne_4, 400, 80, 60, 20, "", #PB_String_BorderLess|#ES_CENTER|#ES_READONLY) : StringGadget(#Str_HbA1c_4, 460, 80, 60, 20, "", #PB_String_BorderLess|#ES_CENTER|#ES_READONLY)
      StringGadget(#Str_Mol_4, 520, 80, 60, 20, "", #PB_String_BorderLess|#ES_CENTER|#ES_READONLY) : StringGadget(#Str_Glu_4, 580, 80,100, 20, "", #PB_String_BorderLess|#ES_CENTER|#ES_READONLY)
      
      StringGadget(#Date_5, 0, 100, 100, 20, "", #ES_CENTER|#ES_READONLY) : StringGadget(#Str_5_1, 100, 100, 50, 20, "", #ES_CENTER|#ES_READONLY) :StringGadget(#Spn_5_1, 150, 100, 50, 20, "", #ES_CENTER|#ES_READONLY)
      StringGadget(#Str_5_2, 200, 100, 50, 20, "", #ES_CENTER|#ES_READONLY) : StringGadget(#Spn_5_2, 250, 100, 50, 20, "", #ES_CENTER|#ES_READONLY)
      StringGadget(#Str_5_3, 300, 100, 50, 20, "", #ES_CENTER|#ES_READONLY) : StringGadget(#Spn_5_3, 350, 100, 50, 20, "", #ES_CENTER|#ES_READONLY)
      StringGadget(#Str_Moyenne_5, 400, 100, 60, 20, "", #PB_String_BorderLess|#ES_CENTER|#ES_READONLY) : StringGadget(#Str_HbA1c_5, 460, 100, 60, 20, "", #PB_String_BorderLess|#ES_CENTER|#ES_READONLY)
      StringGadget(#Str_Mol_5, 520, 100, 60, 20, "", #PB_String_BorderLess|#ES_CENTER|#ES_READONLY) : StringGadget(#Str_Glu_5, 580, 100,100, 20, "", #PB_String_BorderLess|#ES_CENTER|#ES_READONLY)
      
      StringGadget(#Date_6, 0, 120, 100, 20, "", #ES_CENTER|#ES_READONLY) : StringGadget(#Str_6_1, 100, 120, 50, 20, "", #ES_CENTER|#ES_READONLY) :StringGadget(#Spn_6_1, 150, 120, 50, 20, "", #ES_CENTER|#ES_READONLY)
      StringGadget(#Str_6_2, 200, 120, 50, 20, "", #ES_CENTER|#ES_READONLY) : StringGadget(#Spn_6_2, 250, 120, 50, 20, "", #ES_CENTER|#ES_READONLY)
      StringGadget(#Str_6_3, 300, 120, 50, 20, "", #ES_CENTER|#ES_READONLY) : StringGadget(#Spn_6_3, 350, 120, 50, 20, "", #ES_CENTER|#ES_READONLY)
      StringGadget(#Str_Moyenne_6, 400, 120, 60, 20, "", #PB_String_BorderLess|#ES_CENTER|#ES_READONLY) : StringGadget(#Str_HbA1c_6, 460, 120, 60, 20, "", #PB_String_BorderLess|#ES_CENTER|#ES_READONLY)
      StringGadget(#Str_Mol_6, 520, 120, 60, 20, "", #PB_String_BorderLess|#ES_CENTER|#ES_READONLY) : StringGadget(#Str_Glu_6, 580, 120,100, 20, "", #PB_String_BorderLess|#ES_CENTER|#ES_READONLY)
      
      StringGadget(#Date_7, 0, 140, 100, 20, "", #ES_CENTER|#ES_READONLY) : StringGadget(#Str_7_1, 100, 140, 50, 20, "", #ES_CENTER|#ES_READONLY) :StringGadget(#Spn_7_1, 150, 140, 50, 20, "", #ES_CENTER|#ES_READONLY)
      StringGadget(#Str_7_2, 200, 140, 50, 20, "", #ES_CENTER|#ES_READONLY) : StringGadget(#Spn_7_2, 250, 140, 50, 20, "", #ES_CENTER|#ES_READONLY)
      StringGadget(#Str_7_3, 300, 140, 50, 20, "", #ES_CENTER|#ES_READONLY) : StringGadget(#Spn_7_3, 350, 140, 50, 20, "", #ES_CENTER|#ES_READONLY)
      StringGadget(#Str_Moyenne_7, 400, 140, 60, 20, "", #PB_String_BorderLess|#ES_CENTER|#ES_READONLY) : StringGadget(#Str_HbA1c_7, 460, 140, 60, 20, "", #PB_String_BorderLess|#ES_CENTER|#ES_READONLY)
      StringGadget(#Str_Mol_7, 520, 140, 60, 20, "", #PB_String_BorderLess|#ES_CENTER|#ES_READONLY) : StringGadget(#Str_Glu_7, 580, 140,100, 20, "", #PB_String_BorderLess|#ES_CENTER|#ES_READONLY)
      
      StringGadget(#Date_8, 0, 160, 100, 20, "", #ES_CENTER|#ES_READONLY) : StringGadget(#Str_8_1, 100, 160, 50, 20, "", #ES_CENTER|#ES_READONLY) :StringGadget(#Spn_8_1, 150, 160, 50, 20, "", #ES_CENTER|#ES_READONLY)
      StringGadget(#Str_8_2, 200, 160, 50, 20, "", #ES_CENTER|#ES_READONLY) : StringGadget(#Spn_8_2, 250, 160, 50, 20, "", #ES_CENTER|#ES_READONLY)
      StringGadget(#Str_8_3, 300, 160, 50, 20, "", #ES_CENTER|#ES_READONLY) : StringGadget(#Spn_8_3, 350, 160, 50, 20, "", #ES_CENTER|#ES_READONLY)
      StringGadget(#Str_Moyenne_8, 400, 160, 60, 20, "", #PB_String_BorderLess|#ES_CENTER|#ES_READONLY) : StringGadget(#Str_HbA1c_8, 460, 160, 60, 20, "", #PB_String_BorderLess|#ES_CENTER|#ES_READONLY)
      StringGadget(#Str_Mol_8, 520, 160, 60, 20, "", #PB_String_BorderLess|#ES_CENTER|#ES_READONLY) : StringGadget(#Str_Glu_8, 580, 160,100, 20, "", #PB_String_BorderLess|#ES_CENTER|#ES_READONLY)
      
      StringGadget(#Date_9, 0, 180, 100, 20, "", #ES_CENTER|#ES_READONLY) : StringGadget(#Str_9_1, 100, 180, 50, 20, "", #ES_CENTER|#ES_READONLY) :StringGadget(#Spn_9_1, 150, 180, 50, 20, "", #ES_CENTER|#ES_READONLY)
      StringGadget(#Str_9_2, 200, 180, 50, 20, "", #ES_CENTER|#ES_READONLY) : StringGadget(#Spn_9_2, 250, 180, 50, 20, "", #ES_CENTER|#ES_READONLY)
      StringGadget(#Str_9_3, 300, 180, 50, 20, "", #ES_CENTER|#ES_READONLY) : StringGadget(#Spn_9_3, 350, 180, 50, 20, "", #ES_CENTER|#ES_READONLY)
      StringGadget(#Str_Moyenne_9, 400, 180, 60, 20, "", #PB_String_BorderLess|#ES_CENTER|#ES_READONLY) : StringGadget(#Str_HbA1c_9, 460, 180, 60, 20, "", #PB_String_BorderLess|#ES_CENTER|#ES_READONLY)
      StringGadget(#Str_Mol_9, 520, 180, 60, 20, "", #PB_String_BorderLess|#ES_CENTER|#ES_READONLY) : StringGadget(#Str_Glu_9, 580, 180,100, 20, "", #PB_String_BorderLess|#ES_CENTER|#ES_READONLY)
      
      StringGadget(#Date_10, 0, 200, 100, 20, "", #ES_CENTER|#ES_READONLY) : StringGadget(#Str_10_1, 100, 200, 50, 20, "", #ES_CENTER|#ES_READONLY) :StringGadget(#Spn_10_1, 150, 200, 50, 20, "", #ES_CENTER|#ES_READONLY)
      StringGadget(#Str_10_2, 200, 200, 50, 20, "", #ES_CENTER|#ES_READONLY) : StringGadget(#Spn_10_2, 250, 200, 50, 20, "", #ES_CENTER|#ES_READONLY)
      StringGadget(#Str_10_3, 300, 200, 50, 20, "", #ES_CENTER|#ES_READONLY) : StringGadget(#Spn_10_3, 350, 200, 50, 20, "", #ES_CENTER|#ES_READONLY)
      StringGadget(#Str_Moyenne_10, 400, 200, 60, 20, "", #PB_String_BorderLess|#ES_CENTER|#ES_READONLY) : StringGadget(#Str_HbA1c_10, 460, 200, 60, 20, "", #PB_String_BorderLess|#ES_CENTER|#ES_READONLY)
      StringGadget(#Str_Mol_10, 520, 200, 60, 20, "", #PB_String_BorderLess|#ES_CENTER|#ES_READONLY) : StringGadget(#Str_Glu_10, 580, 200,100, 20, "", #PB_String_BorderLess|#ES_CENTER|#ES_READONLY)
      
      StringGadget(#Date_11, 0, 220, 100, 20, "", #ES_CENTER|#ES_READONLY) : StringGadget(#Str_11_1, 100, 220, 50, 20, "", #ES_CENTER|#ES_READONLY) :StringGadget(#Spn_11_1, 150, 220, 50, 20, "", #ES_CENTER|#ES_READONLY)
      StringGadget(#Str_11_2, 200, 220, 50, 20, "", #ES_CENTER|#ES_READONLY) : StringGadget(#Spn_11_2, 250, 220, 50, 20, "", #ES_CENTER|#ES_READONLY)
      StringGadget(#Str_11_3, 300, 220, 50, 20, "", #ES_CENTER|#ES_READONLY) : StringGadget(#Spn_11_3, 350, 220, 50, 20, "", #ES_CENTER|#ES_READONLY)
      StringGadget(#Str_Moyenne_11, 400, 220, 60, 20, "", #PB_String_BorderLess|#ES_CENTER|#ES_READONLY) : StringGadget(#Str_HbA1c_11, 460, 220, 60, 20, "", #PB_String_BorderLess|#ES_CENTER|#ES_READONLY)
      StringGadget(#Str_Mol_11, 520, 220, 60, 20, "", #PB_String_BorderLess|#ES_CENTER|#ES_READONLY) : StringGadget(#Str_Glu_11, 580, 220,100, 20, "", #PB_String_BorderLess|#ES_CENTER|#ES_READONLY)
      
      StringGadget(#Date_12, 0, 240, 100, 20, "", #ES_CENTER|#ES_READONLY) : StringGadget(#Str_12_1, 100, 240, 50, 20, "", #ES_CENTER|#ES_READONLY) :StringGadget(#Spn_12_1, 150, 240, 50, 20, "", #ES_CENTER|#ES_READONLY)
      StringGadget(#Str_12_2, 200, 240, 50, 20, "", #ES_CENTER|#ES_READONLY) : StringGadget(#Spn_12_2, 250, 240, 50, 20, "", #ES_CENTER|#ES_READONLY)
      StringGadget(#Str_12_3, 300, 240, 50, 20, "", #ES_CENTER|#ES_READONLY) : StringGadget(#Spn_12_3, 350, 240, 50, 20, "", #ES_CENTER|#ES_READONLY)
      StringGadget(#Str_Moyenne_12, 400, 240, 60, 20, "", #PB_String_BorderLess|#ES_CENTER|#ES_READONLY) : StringGadget(#Str_HbA1c_12, 460, 240, 60, 20, "", #PB_String_BorderLess|#ES_CENTER|#ES_READONLY)
      StringGadget(#Str_Mol_12, 520, 240, 60, 20, "", #PB_String_BorderLess|#ES_CENTER|#ES_READONLY) : StringGadget(#Str_Glu_12, 580, 240,100, 20, "", #PB_String_BorderLess|#ES_CENTER|#ES_READONLY)
      
      StringGadget(#Date_13, 0, 260, 100, 20, "", #ES_CENTER|#ES_READONLY) : StringGadget(#Str_13_1, 100, 260, 50, 20, "", #ES_CENTER|#ES_READONLY) :StringGadget(#Spn_13_1, 150, 260, 50, 20, "", #ES_CENTER|#ES_READONLY)
      StringGadget(#Str_13_2, 200, 260, 50, 20, "", #ES_CENTER|#ES_READONLY) : StringGadget(#Spn_13_2, 250, 260, 50, 20, "", #ES_CENTER|#ES_READONLY)
      StringGadget(#Str_13_3, 300, 260, 50, 20, "", #ES_CENTER|#ES_READONLY) : StringGadget(#Spn_13_3, 350, 260, 50, 20, "", #ES_CENTER|#ES_READONLY)
      StringGadget(#Str_Moyenne_13, 400, 260, 60, 20, "", #PB_String_BorderLess|#ES_CENTER|#ES_READONLY) : StringGadget(#Str_HbA1c_13, 460, 260, 60, 20, "", #PB_String_BorderLess|#ES_CENTER|#ES_READONLY)
      StringGadget(#Str_Mol_13, 520, 260, 60, 20, "", #PB_String_BorderLess|#ES_CENTER|#ES_READONLY) : StringGadget(#Str_Glu_13, 580, 260,100, 20, "", #PB_String_BorderLess|#ES_CENTER|#ES_READONLY)
      
      StringGadget(#Date_14, 0, 280, 100, 20, "", #ES_CENTER|#ES_READONLY) : StringGadget(#Str_14_1, 100, 280, 50, 20, "", #ES_CENTER|#ES_READONLY) :StringGadget(#Spn_14_1, 150, 280, 50, 20, "", #ES_CENTER|#ES_READONLY)
      StringGadget(#Str_14_2, 200, 280, 50, 20, "", #ES_CENTER|#ES_READONLY) : StringGadget(#Spn_14_2, 250, 280, 50, 20, "", #ES_CENTER|#ES_READONLY)
      StringGadget(#Str_14_3, 300, 280, 50, 20, "", #ES_CENTER|#ES_READONLY) : StringGadget(#Spn_14_3, 350, 280, 50, 20, "", #ES_CENTER|#ES_READONLY)
      StringGadget(#Str_Moyenne_14, 400, 280, 60, 20, "", #PB_String_BorderLess|#ES_CENTER|#ES_READONLY) : StringGadget(#Str_HbA1c_14, 460, 280, 60, 20, "", #PB_String_BorderLess|#ES_CENTER|#ES_READONLY)
      StringGadget(#Str_Mol_14, 520, 280, 60, 20, "", #PB_String_BorderLess|#ES_CENTER|#ES_READONLY) : StringGadget(#Str_Glu_14, 580, 280,100, 20, "", #PB_String_BorderLess|#ES_CENTER|#ES_READONLY)
      
      StringGadget(#Date_15, 0, 300, 100, 20, "", #ES_CENTER|#ES_READONLY) : StringGadget(#Str_15_1, 100, 300, 50, 20, "", #ES_CENTER|#ES_READONLY) :StringGadget(#Spn_15_1, 150, 300, 50, 20, "", #ES_CENTER|#ES_READONLY)
      StringGadget(#Str_15_2, 200, 300, 50, 20, "", #ES_CENTER|#ES_READONLY) : StringGadget(#Spn_15_2, 250, 300, 50, 20, "", #ES_CENTER|#ES_READONLY)
      StringGadget(#Str_15_3, 300, 300, 50, 20, "", #ES_CENTER|#ES_READONLY) : StringGadget(#Spn_15_3, 350, 300, 50, 20, "", #ES_CENTER|#ES_READONLY)
      StringGadget(#Str_Moyenne_15, 400, 300, 60, 20, "", #PB_String_BorderLess|#ES_CENTER|#ES_READONLY) : StringGadget(#Str_HbA1c_15, 460, 300, 60, 20, "", #PB_String_BorderLess|#ES_CENTER|#ES_READONLY)
      StringGadget(#Str_Mol_15, 520, 300, 60, 20, "", #PB_String_BorderLess|#ES_CENTER|#ES_READONLY) : StringGadget(#Str_Glu_15, 580, 300,100, 20, "", #PB_String_BorderLess|#ES_CENTER|#ES_READONLY)
      
      StringGadget(#Date_16, 0, 320, 100, 20, "", #ES_CENTER|#ES_READONLY) : StringGadget(#Str_16_1, 100, 320, 50, 20, "", #ES_CENTER|#ES_READONLY) :StringGadget(#Spn_16_1, 150, 320, 50, 20, "", #ES_CENTER|#ES_READONLY)
      StringGadget(#Str_16_2, 200, 320, 50, 20, "", #ES_CENTER|#ES_READONLY) : StringGadget(#Spn_16_2, 250, 320, 50, 20, "", #ES_CENTER|#ES_READONLY)
      StringGadget(#Str_16_3, 300, 320, 50, 20, "", #ES_CENTER|#ES_READONLY) : StringGadget(#Spn_16_3, 350, 320, 50, 20, "", #ES_CENTER|#ES_READONLY)
      StringGadget(#Str_Moyenne_16, 400, 320, 60, 20, "", #PB_String_BorderLess|#ES_CENTER|#ES_READONLY) : StringGadget(#Str_HbA1c_16, 460, 320, 60, 20, "", #PB_String_BorderLess|#ES_CENTER|#ES_READONLY)
      StringGadget(#Str_Mol_16, 520, 320, 60, 20, "", #PB_String_BorderLess|#ES_CENTER|#ES_READONLY) : StringGadget(#Str_Glu_16, 580, 320,100, 20, "", #PB_String_BorderLess|#ES_CENTER|#ES_READONLY)
      
      StringGadget(#Date_17, 0, 340, 100, 20, "", #ES_CENTER|#ES_READONLY) : StringGadget(#Str_17_1, 100, 340, 50, 20, "", #ES_CENTER|#ES_READONLY) :StringGadget(#Spn_17_1, 150, 340, 50, 20, "", #ES_CENTER|#ES_READONLY)
      StringGadget(#Str_17_2, 200, 340, 50, 20, "", #ES_CENTER|#ES_READONLY) : StringGadget(#Spn_17_2, 250, 340, 50, 20, "", #ES_CENTER|#ES_READONLY)
      StringGadget(#Str_17_3, 300, 340, 50, 20, "", #ES_CENTER|#ES_READONLY) : StringGadget(#Spn_17_3, 350, 340, 50, 20, "", #ES_CENTER|#ES_READONLY)
      StringGadget(#Str_Moyenne_17, 400, 340, 60, 20, "", #PB_String_BorderLess|#ES_CENTER|#ES_READONLY) : StringGadget(#Str_HbA1c_17, 460, 340, 60, 20, "", #PB_String_BorderLess|#ES_CENTER|#ES_READONLY)
      StringGadget(#Str_Mol_17, 520, 340, 60, 20, "", #PB_String_BorderLess|#ES_CENTER|#ES_READONLY) : StringGadget(#Str_Glu_17, 580, 340,100, 20, "", #PB_String_BorderLess|#ES_CENTER|#ES_READONLY)
      
      StringGadget(#Date_18, 0, 360, 100, 20, "", #ES_CENTER|#ES_READONLY) : StringGadget(#Str_18_1, 100, 360, 50, 20, "", #ES_CENTER|#ES_READONLY) :StringGadget(#Spn_18_1, 150, 360, 50, 20, "", #ES_CENTER|#ES_READONLY)
      StringGadget(#Str_18_2, 200, 360, 50, 20, "", #ES_CENTER|#ES_READONLY) : StringGadget(#Spn_18_2, 250, 360, 50, 20, "", #ES_CENTER|#ES_READONLY)
      StringGadget(#Str_18_3, 300, 360, 50, 20, "", #ES_CENTER|#ES_READONLY) : StringGadget(#Spn_18_3, 350, 360, 50, 20, "", #ES_CENTER|#ES_READONLY)
      StringGadget(#Str_Moyenne_18, 400, 360, 60, 20, "", #PB_String_BorderLess|#ES_CENTER|#ES_READONLY) : StringGadget(#Str_HbA1c_18, 460, 360, 60, 20, "", #PB_String_BorderLess|#ES_CENTER|#ES_READONLY)
      StringGadget(#Str_Mol_18, 520, 360, 60, 20, "", #PB_String_BorderLess|#ES_CENTER|#ES_READONLY) : StringGadget(#Str_Glu_18, 580, 360,100, 20, "", #PB_String_BorderLess|#ES_CENTER|#ES_READONLY)
      
      StringGadget(#Date_19, 0, 380, 100, 20, "", #ES_CENTER|#ES_READONLY) : StringGadget(#Str_19_1, 100, 380, 50, 20, "", #ES_CENTER|#ES_READONLY) :StringGadget(#Spn_19_1, 150, 380, 50, 20, "", #ES_CENTER|#ES_READONLY)
      StringGadget(#Str_19_2, 200, 380, 50, 20, "", #ES_CENTER|#ES_READONLY) : StringGadget(#Spn_19_2, 250, 380, 50, 20, "", #ES_CENTER|#ES_READONLY)
      StringGadget(#Str_19_3, 300, 380, 50, 20, "", #ES_CENTER|#ES_READONLY) : StringGadget(#Spn_19_3, 350, 380, 50, 20, "", #ES_CENTER|#ES_READONLY)
      StringGadget(#Str_Moyenne_19, 400, 380, 60, 20, "", #PB_String_BorderLess|#ES_CENTER|#ES_READONLY) : StringGadget(#Str_HbA1c_19, 460, 380, 60, 20, "", #PB_String_BorderLess|#ES_CENTER|#ES_READONLY)
      StringGadget(#Str_Mol_19, 520, 380, 60, 20, "", #PB_String_BorderLess|#ES_CENTER|#ES_READONLY) : StringGadget(#Str_Glu_19, 580, 380, 100, 20, "", #PB_String_BorderLess|#ES_CENTER|#ES_READONLY)
      
      StringGadget(#Date_20, 0, 400, 100, 20, "", #ES_CENTER|#ES_READONLY) : StringGadget(#Str_20_1, 100, 400, 50, 20, "", #ES_CENTER|#ES_READONLY) :StringGadget(#Spn_20_1, 150, 400, 50, 20, "", #ES_CENTER|#ES_READONLY)
      StringGadget(#Str_20_2, 200, 400, 50, 20, "", #ES_CENTER|#ES_READONLY) : StringGadget(#Spn_20_2, 250, 400, 50, 20, "", #ES_CENTER|#ES_READONLY)
      StringGadget(#Str_20_3, 300, 400, 50, 20, "", #ES_CENTER|#ES_READONLY) : StringGadget(#Spn_20_3, 350, 400, 50, 20, "", #ES_CENTER|#ES_READONLY)
      StringGadget(#Str_Moyenne_20, 400, 400, 60, 20, "", #PB_String_BorderLess|#ES_CENTER|#ES_READONLY) : StringGadget(#Str_HbA1c_20, 460, 400, 60, 20, "", #PB_String_BorderLess|#ES_CENTER|#ES_READONLY)
      StringGadget(#Str_Mol_20, 520, 400, 60, 20, "", #PB_String_BorderLess|#ES_CENTER|#ES_READONLY) : StringGadget(#Str_Glu_20, 580, 400,100, 20, "", #PB_String_BorderLess|#ES_CENTER|#ES_READONLY)
      
      StringGadget(#Date_21, 0, 420, 100, 20, "", #ES_CENTER|#ES_READONLY) : StringGadget(#Str_21_1, 100, 420, 50, 20, "", #ES_CENTER|#ES_READONLY) :StringGadget(#Spn_21_1, 150, 420, 50, 20, "", #ES_CENTER|#ES_READONLY)
      StringGadget(#Str_21_2, 200, 420, 50, 20, "", #ES_CENTER|#ES_READONLY) : StringGadget(#Spn_21_2, 250, 420, 50, 20, "", #ES_CENTER|#ES_READONLY)
      StringGadget(#Str_21_3, 300, 420, 50, 20, "", #ES_CENTER|#ES_READONLY) : StringGadget(#Spn_21_3, 350, 420, 50, 20, "", #ES_CENTER|#ES_READONLY)
      StringGadget(#Str_Moyenne_21, 400, 420, 60, 20, "", #PB_String_BorderLess|#ES_CENTER|#ES_READONLY) : StringGadget(#Str_HbA1c_21, 460, 420, 60, 20, "", #PB_String_BorderLess|#ES_CENTER|#ES_READONLY)
      StringGadget(#Str_Mol_21, 520, 420, 60, 20, "", #PB_String_BorderLess|#ES_CENTER|#ES_READONLY) : StringGadget(#Str_Glu_21, 580, 420,100, 20, "", #PB_String_BorderLess|#ES_CENTER|#ES_READONLY)
      
      StringGadget(#Date_22, 0, 440, 100, 20, "", #ES_CENTER|#ES_READONLY) : StringGadget(#Str_22_1, 100, 440, 50, 20, "", #ES_CENTER|#ES_READONLY) :StringGadget(#Spn_22_1, 150, 440, 50, 20, "", #ES_CENTER|#ES_READONLY)
      StringGadget(#Str_22_2, 200, 440, 50, 20, "", #ES_CENTER|#ES_READONLY) : StringGadget(#Spn_22_2, 250, 440, 50, 20, "", #ES_CENTER|#ES_READONLY)
      StringGadget(#Str_22_3, 300, 440, 50, 20, "", #ES_CENTER|#ES_READONLY) : StringGadget(#Spn_22_3, 350, 440, 50, 20, "", #ES_CENTER|#ES_READONLY)
      StringGadget(#Str_Moyenne_22, 400, 440, 60, 20, "", #PB_String_BorderLess|#ES_CENTER|#ES_READONLY) : StringGadget(#Str_HbA1c_22, 460, 440, 60, 20, "", #PB_String_BorderLess|#ES_CENTER|#ES_READONLY)
      StringGadget(#Str_Mol_22, 520, 440, 60, 20, "", #PB_String_BorderLess|#ES_CENTER|#ES_READONLY) : StringGadget(#Str_Glu_22, 580, 440,100, 20, "", #PB_String_BorderLess|#ES_CENTER|#ES_READONLY)
      
      StringGadget(#Date_23, 0, 460, 100, 20, "", #ES_CENTER|#ES_READONLY) : StringGadget(#Str_23_1, 100, 460, 50, 20, "", #ES_CENTER|#ES_READONLY) :StringGadget(#Spn_23_1, 150, 460, 50, 20, "", #ES_CENTER|#ES_READONLY)
      StringGadget(#Str_23_2, 200, 460, 50, 20, "", #ES_CENTER|#ES_READONLY) : StringGadget(#Spn_23_2, 250, 460, 50, 20, "", #ES_CENTER|#ES_READONLY)
      StringGadget(#Str_23_3, 300, 460, 50, 20, "", #ES_CENTER|#ES_READONLY) : StringGadget(#Spn_23_3, 350, 460, 50, 20, "", #ES_CENTER|#ES_READONLY)
      StringGadget(#Str_Moyenne_23, 400, 460, 60, 20, "", #PB_String_BorderLess|#ES_CENTER|#ES_READONLY) : StringGadget(#Str_HbA1c_23, 460, 460, 60, 20, "", #PB_String_BorderLess|#ES_CENTER|#ES_READONLY)
      StringGadget(#Str_Mol_23, 520, 460, 60, 20, "", #PB_String_BorderLess|#ES_CENTER|#ES_READONLY) : StringGadget(#Str_Glu_23, 580, 460,100, 20, "", #PB_String_BorderLess|#ES_CENTER|#ES_READONLY)
      
      StringGadget(#Date_24, 0, 480, 100, 20, "", #ES_CENTER|#ES_READONLY) : StringGadget(#Str_24_1, 100, 480, 50, 20, "", #ES_CENTER|#ES_READONLY) :StringGadget(#Spn_24_1, 150, 480, 50, 20, "", #ES_CENTER|#ES_READONLY)
      StringGadget(#Str_24_2, 200, 480, 50, 20, "", #ES_CENTER|#ES_READONLY) : StringGadget(#Spn_24_2, 250, 480, 50, 20, "", #ES_CENTER|#ES_READONLY)
      StringGadget(#Str_24_3, 300, 480, 50, 20, "", #ES_CENTER|#ES_READONLY) : StringGadget(#Spn_24_3, 350, 480, 50, 20, "", #ES_CENTER|#ES_READONLY)
      StringGadget(#Str_Moyenne_24, 400, 480, 60, 20, "", #PB_String_BorderLess|#ES_CENTER|#ES_READONLY) : StringGadget(#Str_HbA1c_24, 460, 480, 60, 20, "", #PB_String_BorderLess|#ES_CENTER|#ES_READONLY)
      StringGadget(#Str_Mol_24, 520, 480, 60, 20, "", #PB_String_BorderLess|#ES_CENTER|#ES_READONLY) : StringGadget(#Str_Glu_24, 580, 480,100, 20, "", #PB_String_BorderLess|#ES_CENTER|#ES_READONLY)
      
      StringGadget(#Date_25, 0, 500, 100, 20, "", #ES_CENTER|#ES_READONLY) : StringGadget(#Str_25_1, 100, 500, 50, 20, "", #ES_CENTER|#ES_READONLY) :StringGadget(#Spn_25_1, 150, 500, 50, 20, "", #ES_CENTER|#ES_READONLY)
      StringGadget(#Str_25_2, 200, 500, 50, 20, "", #ES_CENTER|#ES_READONLY) : StringGadget(#Spn_25_2, 250, 500, 50, 20, "", #ES_CENTER|#ES_READONLY)
      StringGadget(#Str_25_3, 300, 500, 50, 20, "", #ES_CENTER|#ES_READONLY) : StringGadget(#Spn_25_3, 350, 500, 50, 20, "", #ES_CENTER|#ES_READONLY)
      StringGadget(#Str_Moyenne_25, 400, 500, 60, 20, "", #PB_String_BorderLess|#ES_CENTER|#ES_READONLY) : StringGadget(#Str_HbA1c_25, 460, 500, 60, 20, "", #PB_String_BorderLess|#ES_CENTER|#ES_READONLY)
      StringGadget(#Str_Mol_25, 520, 500, 60, 20, "", #PB_String_BorderLess|#ES_CENTER|#ES_READONLY) : StringGadget(#Str_Glu_25, 580, 500,100, 20, "", #PB_String_BorderLess|#ES_CENTER|#ES_READONLY)
      
      StringGadget(#Date_26, 0, 520, 100, 20, "", #ES_CENTER|#ES_READONLY) : StringGadget(#Str_26_1, 100, 520, 50, 20, "", #ES_CENTER|#ES_READONLY) :StringGadget(#Spn_26_1, 150, 520, 50, 20, "", #ES_CENTER|#ES_READONLY)
      StringGadget(#Str_26_2, 200, 520, 50, 20, "", #ES_CENTER|#ES_READONLY) : StringGadget(#Spn_26_2, 250, 520, 50, 20, "", #ES_CENTER|#ES_READONLY)
      StringGadget(#Str_26_3, 300, 520, 50, 20, "", #ES_CENTER|#ES_READONLY) : StringGadget(#Spn_26_3, 350, 520, 50, 20, "", #ES_CENTER|#ES_READONLY)
      StringGadget(#Str_Moyenne_26, 400, 520, 60, 20, "", #PB_String_BorderLess|#ES_CENTER|#ES_READONLY) : StringGadget(#Str_HbA1c_26, 460, 520, 60, 20, "", #PB_String_BorderLess|#ES_CENTER|#ES_READONLY)
      StringGadget(#Str_Mol_26, 520, 520, 60, 20, "", #PB_String_BorderLess|#ES_CENTER|#ES_READONLY) : StringGadget(#Str_Glu_26, 580, 520,100, 20, "", #PB_String_BorderLess|#ES_CENTER|#ES_READONLY)
      
      StringGadget(#Date_27, 0, 540, 100, 20, "", #ES_CENTER|#ES_READONLY) : StringGadget(#Str_27_1, 100, 540, 50, 20, "", #ES_CENTER|#ES_READONLY) :StringGadget(#Spn_27_1, 150, 540, 50, 20, "", #ES_CENTER|#ES_READONLY)
      StringGadget(#Str_27_2, 200, 540, 50, 20, "", #ES_CENTER|#ES_READONLY) : StringGadget(#Spn_27_2, 250, 540, 50, 20, "", #ES_CENTER|#ES_READONLY)
      StringGadget(#Str_27_3, 300, 540, 50, 20, "", #ES_CENTER|#ES_READONLY) : StringGadget(#Spn_27_3, 350, 540, 50, 20, "", #ES_CENTER|#ES_READONLY)
      StringGadget(#Str_Moyenne_27, 400, 540, 60, 20, "", #PB_String_BorderLess|#ES_CENTER|#ES_READONLY) : StringGadget(#Str_HbA1c_27, 460, 540, 60, 20, "", #PB_String_BorderLess|#ES_CENTER|#ES_READONLY)
      StringGadget(#Str_Mol_27, 520, 540, 60, 20, "", #PB_String_BorderLess|#ES_CENTER|#ES_READONLY) : StringGadget(#Str_Glu_27, 580, 540,100, 20, "", #PB_String_BorderLess|#ES_CENTER|#ES_READONLY)
      
      StringGadget(#Date_28, 0, 560, 100, 20, "", #ES_CENTER|#ES_READONLY) : StringGadget(#Str_28_1, 100, 560, 50, 20, "", #ES_CENTER|#ES_READONLY) :StringGadget(#Spn_28_1, 150, 560, 50, 20, "", #ES_CENTER|#ES_READONLY)
      StringGadget(#Str_28_2, 200, 560, 50, 20, "", #ES_CENTER|#ES_READONLY) : StringGadget(#Spn_28_2, 250, 560, 50, 20, "", #ES_CENTER|#ES_READONLY)
      StringGadget(#Str_28_3, 300, 560, 50, 20, "", #ES_CENTER|#ES_READONLY) : StringGadget(#Spn_28_3, 350, 560, 50, 20, "", #ES_CENTER|#ES_READONLY)
      StringGadget(#Str_Moyenne_28, 400, 560, 60, 20, "", #PB_String_BorderLess|#ES_CENTER|#ES_READONLY) : StringGadget(#Str_HbA1c_28, 460, 560, 60, 20, "", #PB_String_BorderLess|#ES_CENTER|#ES_READONLY)
      StringGadget(#Str_Mol_28, 520, 560, 60, 20, "", #PB_String_BorderLess|#ES_CENTER|#ES_READONLY) : StringGadget(#Str_Glu_28, 580, 560,100, 20, "", #PB_String_BorderLess|#ES_CENTER|#ES_READONLY)
      
      StringGadget(#Date_29, 0, 580, 100, 20, "", #ES_CENTER|#ES_READONLY) : StringGadget(#Str_29_1, 100, 580, 50, 20, "", #ES_CENTER|#ES_READONLY) :StringGadget(#Spn_29_1, 150, 580, 50, 20, "", #ES_CENTER|#ES_READONLY)
      StringGadget(#Str_29_2, 200, 580, 50, 20, "", #ES_CENTER|#ES_READONLY) : StringGadget(#Spn_29_2, 250, 580, 50, 20, "", #ES_CENTER|#ES_READONLY)
      StringGadget(#Str_29_3, 300, 580, 50, 20, "", #ES_CENTER|#ES_READONLY) : StringGadget(#Spn_29_3, 350, 580, 50, 20, "", #ES_CENTER|#ES_READONLY)
      StringGadget(#Str_Moyenne_29, 400, 580, 60, 20, "", #PB_String_BorderLess|#ES_CENTER|#ES_READONLY) : StringGadget(#Str_HbA1c_29, 460, 580, 60, 20, "", #PB_String_BorderLess|#ES_CENTER|#ES_READONLY)
      StringGadget(#Str_Mol_29, 520, 580, 60, 20, "", #PB_String_BorderLess|#ES_CENTER|#ES_READONLY) : StringGadget(#Str_Glu_29, 580, 580,100, 20, "", #PB_String_BorderLess|#ES_CENTER|#ES_READONLY)
      
      StringGadget(#Date_30, 0, 600, 100, 20, "", #ES_CENTER|#ES_READONLY) : StringGadget(#Str_30_1, 100, 600, 50, 20, "", #ES_CENTER|#ES_READONLY) :StringGadget(#Spn_30_1, 150, 600, 50, 20, "", #ES_CENTER|#ES_READONLY)
      StringGadget(#Str_30_2, 200, 600, 50, 20, "", #ES_CENTER|#ES_READONLY) : StringGadget(#Spn_30_2, 250, 600, 50, 20, "", #ES_CENTER|#ES_READONLY)
      StringGadget(#Str_30_3, 300, 600, 50, 20, "", #ES_CENTER|#ES_READONLY) : StringGadget(#Spn_30_3, 350, 600, 50, 20, "", #ES_CENTER|#ES_READONLY)
      StringGadget(#Str_Moyenne_30, 400, 600, 60, 20, "", #PB_String_BorderLess|#ES_CENTER|#ES_READONLY) : StringGadget(#Str_HbA1c_30, 460, 600, 60, 20, "", #PB_String_BorderLess|#ES_CENTER|#ES_READONLY)
      StringGadget(#Str_Mol_30, 520, 600, 60, 20, "", #PB_String_BorderLess|#ES_CENTER|#ES_READONLY) : StringGadget(#Str_Glu_30, 580, 600,100, 20, "", #PB_String_BorderLess|#ES_CENTER|#ES_READONLY)
      
      StringGadget(#Date_31, 0, 620, 100, 20, "", #ES_CENTER|#ES_READONLY) : StringGadget(#Str_31_1, 100, 620, 50, 20, "", #ES_CENTER|#ES_READONLY) :StringGadget(#Spn_31_1, 150, 620, 50, 20, "", #ES_CENTER|#ES_READONLY)
      StringGadget(#Str_31_2, 200, 620, 50, 20, "", #ES_CENTER|#ES_READONLY) : StringGadget(#Spn_31_2, 250, 620, 50, 20, "", #ES_CENTER|#ES_READONLY)
      StringGadget(#Str_31_3, 300, 620, 50, 20, "", #ES_CENTER|#ES_READONLY) : StringGadget(#Spn_31_3, 350, 620, 50, 20, "", #ES_CENTER|#ES_READONLY)
      StringGadget(#Str_Moyenne_31, 400, 620, 60, 20, "", #PB_String_BorderLess|#ES_CENTER|#ES_READONLY) : StringGadget(#Str_HbA1c_31, 460, 620, 60, 20, "", #PB_String_BorderLess|#ES_CENTER|#ES_READONLY)
      StringGadget(#Str_Mol_31, 520, 620, 60, 20, "", #PB_String_BorderLess|#ES_CENTER|#ES_READONLY) : StringGadget(#Str_Glu_31, 580, 620,100, 20, "", #PB_String_BorderLess|#ES_CENTER|#ES_READONLY)
      
      CloseGadgetList() ;Canvas
      
      SetGadgetColor(#Ctn_Calcul, #PB_Gadget_BackColor, CouleurFnd)
      
      TextGadget(#Txt_Signature, 10, 730, 700, 20, UCase("Tendances glycémique © créé et conçu par Micoute - 2019"),#SS_CENTERIMAGE|#SS_CENTER)
      SetGadgetColor(#Txt_Signature, #PB_Gadget_BackColor, CouleurFnd)    
      
      Programme_Calculs()
      
      Coloriser(#Str_1_1)
      Coloriser(#Str_1_2)
      Coloriser(#Str_1_3)
      Coloriser(#Str_Moyenne_1)
      
      HideWindow(#Fenetre_couleurs, 0)
      
      BindEvent(#PB_Event_CloseWindow, @Quitter())   
    EndIf
  Else
    CloseWindow(#Fenetre_couleurs)
    SetGadgetText(#Btn_Resultat, "Résultats")
  EndIf
EndProcedure

Procedure Programme_Calculs()
  i = 0
  ForEach Donnees()
    SetGadgetText(#Date_1 + i, Donnees()\Date)
    SetGadgetText(#Spn_1_1 + i, Donnees()\Dose_Mat)
    SetGadgetText(#Str_1_1 + i, Donnees()\Gly_Mat)
    SetGadgetText(#Spn_1_2 + i, Donnees()\Dose_mid)
    SetGadgetText(#Str_1_2 + i, Donnees()\Gly_mid)
    SetGadgetText(#Spn_1_3 + i, Donnees()\Dose_soi)
    SetGadgetText(#Str_1_3 + i, Donnees()\Gly_soi)
    
    Glycemie_moyenne = 0
    
    If Donnees()\Gly_Mat > ""
      Glycemie_moyenne = Val(Donnees()\Gly_Mat)
    EndIf  
    If Donnees()\Gly_Mat > "" And Donnees()\Gly_mid
      Glycemie_moyenne = (Val(Donnees()\Gly_Mat) + Val(Donnees()\Gly_mid)) / 2
    EndIf  
    If Donnees()\Gly_Mat > "" And Donnees()\Gly_mid And Donnees()\Gly_soi > ""
      Glycemie_moyenne = (Val(Donnees()\Gly_Mat) + Val(Donnees()\Gly_mid) + Val(Donnees()\Gly_soi)) / 3
    EndIf
    
    HbA1c = 0
    Glucose$ = ""
    
    Select Glycemie_moyenne
      Case 70 To 97
        HbA1c = 4
        Glucose$ = "Trop faible"
      Case 98 To 125 ;76-120
        HbA1c = 5
        Glucose$ = "Faible"
      Case 126 To 140 ;100-152
        HbA1c = 6
        Glucose$ = "Très bon"
      Case 141 To 153 ;100-152
        HbA1c = 6.5
        Glucose$ = "Très bon"
      Case 154 To 168 ;123-185
        HbA1c = 7
        Glucose$ = "Bon"
      Case 169 To 182 ;123-185
        HbA1c = 7.5
        Glucose$ = "A améliorer"
      Case 183 To 195 ;147-217
        HbA1c = 8
        Glucose$ = "A améliorer"
      Case 196 To 211 ;147-217
        HbA1c = 8.5
        Glucose$ = "Risque élevé"
      Case 212 To 226 ;170-249
        HbA1c = 9
        Glucose$ = "Risque élevé"
      Case 227 To 239 ;170-249
        HbA1c = 9.5
        Glucose$ = "Risque élevé"
      Case 240 To 268 ;193-182
        HbA1c = 10
      Case 269 To 297 ;217-314
        HbA1c = 11
      Case 298 To 327 ;240-347
        HbA1c = 12
    EndSelect  
    
    Mol = 0.0
    
    Mol = (Glycemie_moyenne / 100) * 5.5
    
    
    If Glycemie_moyenne
      SetGadgetText(#Str_Moyenne_1 + i, Str(Glycemie_moyenne))
    EndIf
    
    If HbA1c
      SetGadgetText(#Str_HbA1c_1 + i, StrF(HbA1c) + " %") 
    EndIf
    
    If Glucose$ <> ""
      SetGadgetText(#Str_Glu_1 + i, Glucose$)
      If Glucose$ = "Trop faible"
        SetGadgetColor(#Str_HbA1c_1 + i, #PB_Gadget_BackColor, $0707FF)
        SetGadgetColor(#Str_HbA1c_1 + i, #PB_Gadget_FrontColor, $FFFFFF)
        SetGadgetColor(#Str_Glu_1 + i, #PB_Gadget_BackColor, $0707FF)
        SetGadgetColor(#Str_Glu_1 + i, #PB_Gadget_FrontColor, $FFFFFF)
      ElseIf Glucose$ = "Faible"
        SetGadgetColor(#Str_HbA1c_1 + i, #PB_Gadget_BackColor, $69D2FE)
        SetGadgetColor(#Str_Glu_1 + i, #PB_Gadget_BackColor, $69D2FE)
      ElseIf Glucose$ = "Très bon"
        SetGadgetColor(#Str_HbA1c_1 + i, #PB_Gadget_BackColor, $10FA33)
        SetGadgetColor(#Str_Glu_1 + i, #PB_Gadget_BackColor, $10FA33)
      ElseIf Glucose$ = "Bon"
        SetGadgetColor(#Str_HbA1c_1 + i, #PB_Gadget_BackColor, $49FB64)
        SetGadgetColor(#Str_Glu_1 + i, #PB_Gadget_BackColor, $49FB64)
      ElseIf Glucose$ = "A améliorer"
        SetGadgetColor(#Str_HbA1c_1 + i, #PB_Gadget_BackColor, $8080FF)
        SetGadgetColor(#Str_Glu_1 + i, #PB_Gadget_BackColor, $8080FF)  
      ElseIf Glucose$ = "Risque élevé"
        SetGadgetColor(#Str_HbA1c_1 + i, #PB_Gadget_BackColor, $0707FF)
        SetGadgetColor(#Str_Glu_1 + i, #PB_Gadget_BackColor, $0707FF)
        SetGadgetColor(#Str_Glu_1 + i, #PB_Gadget_FrontColor, $FFFFFF)
        Debug GetGadgetText(#Str_HbA1c_1 + i)
      EndIf
      
      If Mol
        SetGadgetText(#Str_Mol_1 + i, StrF(Mol, 2))
        SetGadgetColor(#Str_Mol_1 + i, #PB_Gadget_BackColor, GetGadgetColor(#Str_HbA1c_1 + i, #PB_Gadget_BackColor))
        SetGadgetColor(#Str_Mol_1 + i, #PB_Gadget_FrontColor, GetGadgetColor(#Str_HbA1c_1 + i, #PB_Gadget_FrontColor))
      EndIf
      
    EndIf
    
    i + 1
  Next
EndProcedure

Procedure Coloriser(Id)
  i = id
  While i <= Id + 30
    If Val(GetGadgetText(i)) < 90 And Val(GetGadgetText(i)) > 1
      SetGadgetColor(i, #PB_Gadget_BackColor, $FFFFFF)
      SetGadgetColor(i, #PB_Gadget_FrontColor, $FF)
    EndIf
    If Val(GetGadgetText(i)) >= 90 And Val(GetGadgetText(i)) <= 130
      SetGadgetColor(i, #PB_Gadget_BackColor, $FF00)
      SetGadgetColor(i, #PB_Gadget_FrontColor, $00)
    EndIf
    If Val(GetGadgetText(i)) >= 131 And Val(GetGadgetText(i)) <= 139
      SetGadgetColor(i, #PB_Gadget_BackColor, $00DD00)
      SetGadgetColor(i, #PB_Gadget_FrontColor, $02FFFA)
    EndIf
    If Val(GetGadgetText(i)) >= 140 And Val(GetGadgetText(i)) <= 149
      SetGadgetColor(i, #PB_Gadget_BackColor, $00BB00)
      SetGadgetColor(i, #PB_Gadget_FrontColor, $13FFFA)
    EndIf
    If Val(GetGadgetText(i)) >= 150 And Val(GetGadgetText(i)) <= 159
      SetGadgetColor(i, #PB_Gadget_BackColor, $009900)
      SetGadgetColor(i, #PB_Gadget_FrontColor, $29FFFA)
    EndIf
    If Val(GetGadgetText(i)) >= 160 And Val(GetGadgetText(i)) <= 169
      SetGadgetColor(i, #PB_Gadget_BackColor, $007700)
      SetGadgetColor(i, #PB_Gadget_FrontColor, $45FFFA)
    EndIf
    If Val(GetGadgetText(i)) >= 170 And Val(GetGadgetText(i)) <= 179
      SetGadgetColor(i, #PB_Gadget_BackColor, $005500)
      SetGadgetColor(i, #PB_Gadget_FrontColor, $6CFFFA)
    EndIf
    If Val(GetGadgetText(i)) >= 180 And Val(GetGadgetText(i)) <= 189
      SetGadgetColor(i, #PB_Gadget_BackColor, $003300)
      SetGadgetColor(i, #PB_Gadget_FrontColor, $96FFFA)
    EndIf
    If Val(GetGadgetText(i)) >= 190 And Val(GetGadgetText(i)) <= 199
      SetGadgetColor(i, #PB_Gadget_BackColor, $001100)
      SetGadgetColor(i, #PB_Gadget_FrontColor, $B8FFFA)
    EndIf
    If Val(GetGadgetText(i)) >= 200
      SetGadgetColor(i, #PB_Gadget_BackColor, $6868FF)
      SetGadgetColor(i, #PB_Gadget_FrontColor, $FFFFFF)
    EndIf
    i + 1
  Wend
EndProcedure

;- Boucle principale
Repeat
  Evenement = WaitWindowEvent(10)
  Select Evenement
    Case #PB_Event_Gadget      
      Select EventGadget()
        Case #Btn_Sauvegarder
          HideGadget(#Btn_Sauvegarder, #True)
          SauvegardeDonnees()
        Case #Btn_Quitter_Calcul
          Select EventType()
            Case #PB_EventType_LeftClick
              Quitter()
          EndSelect    
        Case #Btn_Colorer
          Select EventType()
            Case #PB_EventType_LeftClick
              Programme_Placement()
          EndSelect
        Case #Cvs_Saisie
          Select EventType()
            Case #PB_EventType_LeftButtonDown
              Btn_SourisPresse = #True
              DecalageX = DesktopMouseX() - WindowX(#Fenetre_Saisies)
              DecalageY = DesktopMouseY() - WindowY(#Fenetre_Saisies)
            Case #PB_EventType_MouseMove
              If Btn_SourisPresse
                ResizeWindow(#Fenetre_Saisies, DesktopMouseX() - DecalageX, DesktopMouseY() - DecalageY, #PB_Ignore, #PB_Ignore)
                If IsWindow(#Fenetre_couleurs)
                  ResizeWindow(#Fenetre_couleurs, WindowX(#Fenetre_Saisies) + 360, WindowY(#Fenetre_Saisies), #PB_Ignore, #PB_Ignore)
                EndIf
                If IsWindow(#Fenetre_Complications)
                  ResizeWindow(#Fenetre_Complications, WindowX(#Fenetre_Saisies), WindowY(#Fenetre_Saisies) + 163, #PB_Ignore, #PB_Ignore)
                EndIf
                If IsWindow(#Fenetre_Recommandations)
                  ResizeWindow(#Fenetre_Recommandations, WindowX(#Fenetre_Saisies), WindowY(#Fenetre_Saisies) + 105, #PB_Ignore, #PB_Ignore)
                EndIf  
              EndIf
            Case #PB_EventType_LeftButtonUp
              Btn_SourisPresse = #False
          EndSelect    
      EndSelect
    Case #PB_Event_CloseWindow
      Select EventWindow()
        Case #Fenetre_Complications
          CloseWindow(#Fenetre_Complications)
        Case #Fenetre_Recommandations
          CloseWindow(#Fenetre_Recommandations)
      EndSelect    
  EndSelect    
ForEver
;Chargement des données existantes
Procedure Charger_Donnees()
  If ReadFile(#FichierJSON, Fichier_Donnees)
    CloseFile(#FichierJSON)
    
    ;Lecture du fichier JSON
    LoadJSON(#FichierJSON, Fichier_Donnees, #PB_JSON_NoCase)    
    
    ;Extraction de la chaine JSON vers la liste chainée Donnees
    ExtractJSONList(JSONValue(#FichierJSON), Donnees()) 
    
    SortStructuredList(Donnees(), #PB_Sort_Ascending, OffsetOf(sDonnee\Date), TypeOf(sDonnee\Date))
    
    ;Affichage de la liste des Donnees
    ForEach(Donnees())
      With Donnees()
        AddGadgetItem(#Liste_Donnees, -1, \Date + #LF$ + 
                                          \Gly_mat + #LF$ + \Dose_mat + #LF$ + \Note_mat + #LF$ +
                                          \Gly_mid + #LF$ + \Dose_mid + #LF$ + \Note_mid + #LF$ + 
                                          \Gly_soi + #LF$ + \Dose_soi + #LF$ + \Note_soi)
        SetGadgetItemData(#Liste_Donnees, CountGadgetItems(#Liste_Donnees) - 1, ListIndex(Donnees()))
      EndWith                
    Next
    
  EndIf
EndProcedure
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 5.73 PB 6.00 LTS (x64)
Un homme doit être poli, mais il doit aussi être libre !
Avatar de l’utilisateur
Micoute
Messages : 2522
Inscription : dim. 02/oct./2011 16:17
Localisation : 35520 La Mézière

Re: Carnet de suivi

Message par Micoute »

Suite

Code : Tout sélectionner

;Gestionnaire de contrôle de la saisie
Procedure GestionEvenements()
  Protected Evenement = EventType()
  
  Select Evenement
    Case #PB_EventType_Change
      If Trim(GetGadgetText(#Str_Date)) <> ""
        DisableGadget(#Btn_Maj, #False)
        DisableGadget(#Btn_Nouveau, #True)
      Else
        DisableGadget(#Btn_Maj, #True)
        DisableGadget(#Btn_Nouveau, #False)
      EndIf         
  EndSelect
  
EndProcedure
;Nouvelle donnée (Remise à zéro des champs de saisie)
Procedure NouvelleDonnee()
  Select EventType()
    Case #PB_EventType_LeftClick
      SetWindowData(#Fenetre_Saisies, 0) ;C'est une création
      
      SetGadgetText(#Str_Date, "")
      SetGadgetText(#Str_Gly_mat, "")
      SetGadgetText(#Str_Dose_mat, "")
      SetGadgetText(#Str_Note_mat, "")
      SetGadgetText(#Str_Gly_mid, "")
      SetGadgetText(#Str_Dose_mid, "")
      SetGadgetText(#Str_Note_mid, "")
      SetGadgetText(#Str_Gly_soi, "")
      SetGadgetText(#Str_Dose_soi, "")
      SetGadgetText(#Str_Note_soi, "")
      
      DisableGadget(#Btn_Nouveau, #False)
      DisableGadget(#Btn_Maj, #True)
      DisableGadget(#Btn_Supprimer, #True)
      
      SetGadgetText(#Btn_Maj, " Ajouter")
      SetActiveGadget(#Str_Date)
  EndSelect
EndProcedure
;Une donnée est sélectionné dans la liste
Procedure SelectionDonnee()
  Select EventType()
    Case #PB_EventType_LeftClick
      Protected Item = GetGadgetState(#Liste_Donnees)
      
      If Item <> -1
        SelectElement(Donnees(), GetGadgetItemData(#Liste_Donnees, Item))
        With Donnees()
          SetGadgetText(#Str_Date, \Date)
          SetGadgetText(#Str_Gly_mat, \Gly_mat)
          SetGadgetText(#Str_Dose_mat, \Dose_mat)
          SetGadgetText(#Str_Note_mat, \Note_mat)
          SetGadgetText(#Str_Gly_mid, \Gly_mid)
          SetGadgetText(#Str_Dose_mid, \Dose_mid)
          SetGadgetText(#Str_Note_mid, \Note_mid)
          SetGadgetText(#Str_Gly_soi, \Gly_soi)
          SetGadgetText(#Str_Dose_soi, \Dose_soi)
          SetGadgetText(#Str_Note_soi, \Note_soi)
        EndWith  
      EndIf
      
      ;C'est une modification de donnée
      SetWindowData(#Fenetre_Saisies, 1) 
      
      DisableGadget(#Btn_Maj, #False)
      DisableGadget(#Btn_Nouveau, #True)
      DisableGadget(#Btn_Supprimer, #False)
      
      SetGadgetText(#Btn_Maj, " Modifier")
      SetActiveGadget(#Str_Date)
  EndSelect
EndProcedure
;Suppression d'une donnée
Procedure SupprimerDonnee()
  Select EventType()
    Case #PB_EventType_LeftClick
      If MessageRequester("Information", "Etes vous sûr de supprimer une donnée ?" + #CRLF$ + "cette action est irrémédiable !", #PB_MessageRequester_YesNo) = #PB_MessageRequester_Yes
        SetWindowData(#Fenetre_Saisies, 3) ;C'est une suppression
        MajDonnee()
      EndIf
  EndSelect
EndProcedure
;Gestionnaire de mise à jour des données 
Procedure MajDonnee()
  Select EventType()
    Case #PB_EventType_LeftClick
      Protected.s Date = GetGadgetText(#Str_Date)
      Protected.s Gly_mat = GetGadgetText(#Str_Gly_mat)
      Protected.s Dose_mat = GetGadgetText(#Str_Dose_mat)
      Protected.s Note_mat = GetGadgetText(#Str_Note_mat)
      Protected.s Gly_mid = GetGadgetText(#Str_Gly_mid)
      Protected.s Dose_mid = GetGadgetText(#Str_Dose_mid)
      Protected.s Note_mid = GetGadgetText(#Str_Note_mid)
      Protected.s Gly_soi = GetGadgetText(#Str_Gly_soi)
      Protected.s Dose_soi = GetGadgetText(#Str_Dose_soi)
      Protected.s Note_soi = GetGadgetText(#Str_Note_soi)
      
      HideGadget(#Btn_Sauvegarder, #False)
      
      Select GetWindowData(#Fenetre_Saisies)
        Case 0 ;Création d'une donnée
          AddElement(Donnees())
          With Donnees()
            \Date     = Date
            \Gly_mat  = Gly_mat
            \Dose_mat = Dose_mat
            \Note_mat = Note_mat
            \Gly_mid  = Gly_mid
            \Dose_mid = Dose_mid
            \Note_mid = Note_mid
            \Gly_soi  = Gly_soi
            \Dose_soi = Dose_soi
            \Note_soi = Note_soi
            AddGadgetItem(#Liste_Donnees, -1, \Date + #LF$ + 
                                              \Gly_mat + #LF$ + \Dose_mat + #LF$ + \Note_mat + #LF$ + 
                                              \Gly_mid + #LF$ + \Dose_mid + #LF$ + \Note_mid + #LF$ + 
                                              \Gly_soi + #LF$ + \Dose_soi + #LF$ + \Note_soi)
            SetGadgetItemData(#Liste_Donnees, CountGadgetItems(#Liste_Donnees)-1, ListIndex(Donnees()))
          EndWith
          
        Case 1 ;Modification d'une donnée
          DisableGadget(#Btn_Sauvegarder, #False)
          With Donnees()
            \Date     = Date
            \Gly_mat  = Gly_mat
            \Dose_mat = Dose_mat
            \Note_mat = Note_mat
            \Gly_mid  = Gly_mid
            \Dose_mid = Dose_mid
            \Note_mid = Note_mid
            \Gly_soi  = Gly_soi
            \Dose_soi = Dose_soi
            \Note_soi = Note_soi
            SetGadgetItemText(#Liste_Donnees, ListIndex(Donnees()), \Date,     0)
            SetGadgetItemText(#Liste_Donnees, ListIndex(Donnees()), \Gly_mat,  1)
            SetGadgetItemText(#Liste_Donnees, ListIndex(Donnees()), \Dose_mat, 2)
            SetGadgetItemText(#Liste_Donnees, ListIndex(Donnees()), \Note_mat, 3)
            SetGadgetItemText(#Liste_Donnees, ListIndex(Donnees()), \Gly_mid,  4)
            SetGadgetItemText(#Liste_Donnees, ListIndex(Donnees()), \Dose_mid, 5)
            SetGadgetItemText(#Liste_Donnees, ListIndex(Donnees()), \Note_mid, 6)
            SetGadgetItemText(#Liste_Donnees, ListIndex(Donnees()), \Gly_soi,  7)
            SetGadgetItemText(#Liste_Donnees, ListIndex(Donnees()), \Dose_soi, 8)
            SetGadgetItemText(#Liste_Donnees, ListIndex(Donnees()), \Note_soi, 9)
          EndWith
                    
          NouvelleDonnee()
          
        Case 3 ;Suppression d'une donnée
          RemoveGadgetItem(#Liste_Donnees, ListIndex(Donnees()))
          DeleteElement(Donnees())
          
          ;Mise à jour des index de liaison ListIconGadget <-> Donnees()
          ForEach(Donnees())
            SetGadgetItemData(#Liste_Donnees, ListIndex(Donnees()), ListIndex(Donnees()))
          Next
          
      EndSelect
  EndSelect
EndProcedure
;Sauvegarde automatique des données à la fermeture de l'application
Procedure SauvegardeDonnees()
  Select EventType()
    Case #PB_EventType_LeftClick
      
      ;Création d'un objet JSON
      CreateJSON(#FichierJSON)
      
      ;Insertion de la liste chainée "Donnees" dans l'objet JSON
      InsertJSONList(JSONValue(#FichierJSON), Donnees())
      
      ;Sauvegarde du fichier
      SaveJSON(#FichierJSON, Fichier_Donnees, #PB_JSON_PrettyPrint)
      
      ;Quitter()
      
  EndSelect
  
EndProcedure  

;Fin du programme
Procedure Quitter()
  Select EventType()
    Case #PB_EventType_LeftClick
      CloseWindow(EventWindow())
      If Not IsWindow(#Fenetre_Saisies)
        End
      EndIf  
  EndSelect
EndProcedure
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 5.73 PB 6.00 LTS (x64)
Un homme doit être poli, mais il doit aussi être libre !
Ollivier
Messages : 4190
Inscription : ven. 29/juin/2007 17:50
Localisation : Encore ?
Contact :

Re: Carnet de suivi

Message par Ollivier »

Bonjour Micoute,

il y a deux parties pour solutionner :

1) Préparer et modifier la StatusBar : Librairie StatusBar.

2) détecter si <<note>> est dans le nom de la note, en filtrant les espaces inutiles et les casses diverses.

Code : Tout sélectionner

If CountString(Ucase(GetGadgetText(Gadget) )
; modifie StatusBar
Avatar de l’utilisateur
Micoute
Messages : 2522
Inscription : dim. 02/oct./2011 16:17
Localisation : 35520 La Mézière

Re: Carnet de suivi

Message par Micoute »

Merci Ollivier pour ton aide précieuse, sinon j'avais pensé à colorer le gadget indiquant la glycémie pour indiquer qu'il y a une observation d'enregistrée, et dans ce cas on clique dans la ligne et la saisie s'affiche à la date choisie et permet de la lire.
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 5.73 PB 6.00 LTS (x64)
Un homme doit être poli, mais il doit aussi être libre !
Avatar de l’utilisateur
microdevweb
Messages : 1800
Inscription : mer. 29/juin/2011 14:11
Localisation : Belgique

Re: Carnet de suivi

Message par microdevweb »

Bonjour Micoute,

Voici un exemple

Code : Tout sélectionner

Structure _struct
  name.s
  note.s
EndStructure

Global NewList myItems._struct()

; ajout de quelques record
For i = 0 To 101
  AddElement(myItems())
  With myItems()
    \name = "name "+Str(i)
    \note = "note "+Str(i)
  EndWith
Next

Enumeration 
  #FORM
  #LIST
  #STAT
EndEnumeration


Procedure fillList()
  Protected n
  ForEach myItems()
    With myItems()
      AddGadgetItem(#LIST,-1,\name)
      SetGadgetItemData(#LIST,n,ListIndex(myItems())) ; je sauve l'index de l'élément
      n + 1
    EndWith
  Next
EndProcedure

Procedure _event()
  Protected id = GetGadgetItemData(#LIST,GetGadgetState(#LIST)) ; on recupère l'index de l'élément
  If SelectElement(myItems(),id)
    Protected text.s = myItems()\note
    StatusBarText(#STAT,0,text)
  EndIf
EndProcedure

Procedure _exit()
  End
EndProcedure

Procedure start()
  OpenWindow(#FORM,0,0,800,600,"teste",#PB_Window_ScreenCentered|#PB_Window_SystemMenu)
  CreateStatusBar(#STAT,WindowID(#FORM))
  AddStatusBarField(800)
  ListIconGadget(#LIST,0,0,780,580,"nom",570)
  fillList()
  BindEvent(#PB_Event_CloseWindow,@_exit())
  BindGadgetEvent(#LIST,@_event())
EndProcedure

start()

Repeat :WaitWindowEvent() : ForEver

Windows 10 64 bits PB: 5.70 ; 5.72 LST
Work at Centre Spatial de Liège
Avatar de l’utilisateur
Micoute
Messages : 2522
Inscription : dim. 02/oct./2011 16:17
Localisation : 35520 La Mézière

Re: Carnet de suivi

Message par Micoute »

Merci microdevweb, c'est un exemple très explicite.
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 5.73 PB 6.00 LTS (x64)
Un homme doit être poli, mais il doit aussi être libre !
Avatar de l’utilisateur
Ar-S
Messages : 9478
Inscription : dim. 09/oct./2005 16:51
Contact :

Re: Carnet de suivi

Message par Ar-S »

@microdevweb voilà

@Micoute.
Pour la millième fois, utilise des structures pour ce genre de trucs. Comme ça pour UN élément, tu peux proposer PLUSIEURS références à PLUSIEURS endroits.

Code : Tout sélectionner

Structure TRUC
  Machin1.s
  Machin2.s
EndStructure

paul.truc
paul\Machin1= "Tu peux m'afficher dans un stringgadget"
paul\machin2 = "Tu peux m'afficher dans un editorgadget"

Debug Paul\machin1
Debug Paul\machin2
~~~~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
Avatar de l’utilisateur
microdevweb
Messages : 1800
Inscription : mer. 29/juin/2011 14:11
Localisation : Belgique

Re: Carnet de suivi

Message par microdevweb »

@Ar-S,

Je t'avoue ne pas trop bien comprendre le sens de ton message ?
Windows 10 64 bits PB: 5.70 ; 5.72 LST
Work at Centre Spatial de Liège
Avatar de l’utilisateur
Ar-S
Messages : 9478
Inscription : dim. 09/oct./2005 16:51
Contact :

Re: Carnet de suivi

Message par Ar-S »

J'ai pas testé ton code mais vue ta question
j'aimerais que les observations que j'ai nommé "Note" pour faire plus court ne s'affichent pas dans la liste, mais d'une autre manière par exemple dans la barre d'état quand on clique dans la ligne correspondant à la date choisie.
Si tu as bien structurée ton code, tu DOIS avoir dans ta structure X un champ "Note.s". Ainsi, lorsque tu cliques sur un élément Y lié à cette structure X, tu peux bien faire apparaitre ou tu veux le contenu de "note"

Ce qui donnerai un truc du style :

Code : Tout sélectionner

SetGadgetText (#tongadget, Y.X\Note.s)
Le code de microdevweb semble de toute façon assez loquace.
~~~~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
Avatar de l’utilisateur
Micoute
Messages : 2522
Inscription : dim. 02/oct./2011 16:17
Localisation : 35520 La Mézière

Re: Carnet de suivi

Message par Micoute »

Oui, merci Ar-s pour ton idée, car elle est bien pratique parce que j'essaie d'avoir une fenêtre aussi petite que possible et 3 champs de 300 pixels en plus, ça fait lourd, car il n'y a pas lieu d'enregistrer des observations tous les jours, et il n'y a pas qu'une fenêtre à afficher. Bon dimanche.
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 5.73 PB 6.00 LTS (x64)
Un homme doit être poli, mais il doit aussi être libre !
Répondre