qui peux a resoudre me petit probleme avec mon code ??
mon programme marche mais
probleme quand je charge le fichier ini cree
je peux voir qu'un fichier
je m'explique
dans un fichier ini il ya marquer
[item1]
[item2]
probleme quand je charge le fichier , seul L'item1 est chager le 2 est ignorer
qui peux me mettre sur la piste
merci et desoler de vous deranger
Williamm
probleme quand je charge le fichier ini cree
je peux voir qu'un fichier
je m'explique
dans un fichier ini il ya marquer
[item1]
[item2]
probleme quand je charge le fichier , seul L'item1 est chager le 2 est ignorer
qui peux me mettre sur la piste
merci et desoler de vous deranger
Williamm
Pour lire une fiche et apparement on ne lit qu'un fiche à la fois, il faut empêcher que plusieurs cases à cocher soient cochées en même temps.
Puis pour la lecture de la fiche, tu teste bien qu'un élément est coché puis tu ouvre la Window_2 et la tu créé les gadgets et tu utilise un foreach qui va énumérer l'ensemble des élément mais avant de passer à l'élément suivant il y a un break (encore un
) qui doit disparaître. Le break fonctionne bien mais se limite à des cas bien précis.
Ce qu'il faut faire dans la procédure Open_Window_2() c'est :
lui passer le numéro de l'élément coché mais ca comme tu l'écris ça ne vas pas
Qu'il faut remplacer par
ca permet de n'ouvrir la fenetre fiche que si une fiche est sélectionnée, mais tu dois encore modifier le code pour qu'un seul élément ne soit coché à la fois
et tu modifie la procedure Open_Window_2() comme ceci
Il faut absolument que tu n'ai qu'une seule case de cochée au maximum dans la listicon:
je te laisse chercher un peu
Puis pour la lecture de la fiche, tu teste bien qu'un élément est coché puis tu ouvre la Window_2 et la tu créé les gadgets et tu utilise un foreach qui va énumérer l'ensemble des élément mais avant de passer à l'élément suivant il y a un break (encore un

Ce qu'il faut faire dans la procédure Open_Window_2() c'est :
lui passer le numéro de l'élément coché mais ca comme tu l'écris ça ne vas pas
Code : Tout sélectionner
Case#button_Fiche : i = 0
If GetGadgetItemState(#ListIcon_0, i) & #PB_ListIcon_Checked
EndIf
Open_Window_2()
Code : Tout sélectionner
Case#button_Fiche
If CountGadgetItems(#ListIcon_0)
For i = 0 To CountGadgetItems(#ListIcon_0)
If GetGadgetItemState(#ListIcon_0, i) & #PB_ListIcon_Checked
Open_Window_2(i)
Break
EndIf
Next i
EndIf
et tu modifie la procedure Open_Window_2() comme ceci
Code : Tout sélectionner
Procedure Open_Window_2(Index)
If OpenWindow(#window_2, 255, 7, 678, 724, #PB_Window_TitleBar | #PB_Window_BorderLess | #PB_Window_ScreenCentered, "Fiche du spectacle ")
If CreateGadgetList(WindowID())
Frame3DGadget(#Frame3D_ajoute, 10, 10, 660, 710, "")
TextGadget(#Text_NomS, 20, 40, 150, 30, "Nom du spectacle :", #PB_Text_Center)
SetGadgetFont(#Text_NomS, FontID2)
StringGadget(#String_NomS, 180, 40, 480, 28, "")
SetGadgetFont(#String_NomS, FontID3)
TextGadget(#Text_NomT, 20, 110, 150, 30, "Listes des tours : ", #PB_Text_Center)
SetGadgetFont(#Text_NomT, FontID2)
EditorGadget(#editor_NomT, 180, 110, 480, 100, "")
SetGadgetFont(#editor_NomT, FontID3)
TextGadget(#Text_Matos, 20, 280, 130, 30, "Materiel : ", #PB_Text_Center)
SetGadgetFont(#Text_Matos, FontID2)
EditorGadget(#Editor_matos, 180, 280, 480, 130)
SetGadgetFont(#Editor_matos, FontID3)
TextGadget(#Text_date, 30, 460, 110, 30, "Date :", #PB_Text_Center)
SetGadgetFont(#Text_date, FontID2)
StringGadget(#String_date, 140, 460, 120, 30, "")
SetGadgetFont(#String_date, FontID3)
TextGadget(#Text_Heure, 360, 460, 110, 20, "Heure :", #PB_Text_Center)
SetGadgetFont(#Text_Heure, FontID2)
StringGadget(#String_heure, 480, 460, 130, 25, "")
SetGadgetFont(#String_heure, FontID3)
TextGadget(#Text_Lieux, 160, 520, 80, 20, "Lieux: ", #PB_Text_Center)
SetGadgetFont(#Text_Lieux, FontID2)
EditorGadget(#Editor_Lieux, 270, 510, 380, 80)
SetGadgetFont(#Editor_Lieux, FontID3)
ButtonGadget(#Button_ajoute, 200, 620, 290, 50, " Quitter la fiche ")
SetGadgetFont(#Button_ajoute, FontID2)
; comme l'index représente le même numéro que l'élément de la liste chaînée
; il suffit de faire
SelectElement(Items(), Index)
SetGadgetText(#String_NomS, Items()\Nom)
SetGadgetText(#Editor_Nomt, Items()\ListeT)
SetGadgetText(#Editor_matos, Items()\Matos)
SetGadgetText(#String_date, Items()\Date)
SetGadgetText(#String_heure, Items()\Heure)
SetGadgetText(#Editor_Lieux, Items()\Lieux)
Repeat
Event = WaitWindowEvent()
Select Event
Case #PB_EventCloseWindow
Fermer_Window_2 = 1
Case #PB_EventGadget
GadgetID = EventGadgetID()
If GadgetID = #Button_ajoute
Fermer_Window_2 = 1
EndIf
EndSelect
Until Fermer_Window_2 = 1
CloseWindow(#window_2)
EndIf
EndIf
EndProcedure
je te laisse chercher un peu
merci denis
j'ai encore des questions
j'ai remplacer editorgadget par un stringadget avec l'option multiline
mais quand j'enregistre mon fichier ini et que je charge ensuite
j'ai qu'une ligne qui apparait dans le stringadget multiline
comment faire pour sauver et charger le fichier ini avec toutes les lignes
coment faire pour que l'on coche la case le bouton voir fiche devient operatinnel je veux que par defaut il sois grisé ...
merci
Williamm
j'ai encore des questions
j'ai remplacer editorgadget par un stringadget avec l'option multiline
mais quand j'enregistre mon fichier ini et que je charge ensuite
j'ai qu'une ligne qui apparait dans le stringadget multiline
comment faire pour sauver et charger le fichier ini avec toutes les lignes
coment faire pour que l'on coche la case le bouton voir fiche devient operatinnel je veux que par defaut il sois grisé ...
merci
Williamm
salut denis
j'aimerai savoir comment faire :
au lancement de l'application le bouton voir fiche est grisée c'est dire non disponible jeveux qu'une fois la fiche cree , ce meme bouton sois disponible afin de voir la fiche
je sais c'est avec la commande disable .... mais comment la placée dans mon programme
williamm
j'aimerai savoir comment faire :
au lancement de l'application le bouton voir fiche est grisée c'est dire non disponible jeveux qu'une fois la fiche cree , ce meme bouton sois disponible afin de voir la fiche
je sais c'est avec la commande disable .... mais comment la placée dans mon programme
williamm
Pour griser le bouton, c'est tout de suite lorsque tu cré le bouton.
Pour le rendre actif c'est dès que tu cré une fiche ou que tu charge un fichier de fiche
Tu grise aussi le bouton lorsque tu efface une fiche
Voici le code modifié pour le bouton grisé
Pour le rendre actif c'est dès que tu cré une fiche ou que tu charge un fichier de fiche
Tu grise aussi le bouton lorsque tu efface une fiche
Voici le code modifié pour le bouton grisé
Code : Tout sélectionner
Enumeration
#Window_0
#Window_1
#window_2
EndEnumeration
Enumeration
#ListIcon_0
#Button_Ajoutet
#Button_Effacee
#Button_Fiche
#Text_Titre
#Frame3D_0
#Frame3D_ajoute
#Text_NomS
#String_NomS
#Text_NomT
#editor_NomT
#Text_Matos
#Editor_matos
#Text_date
#String_date
#Text_Heure
#String_heure
#Text_Lieux
#Editor_Lieux
#Button_ajoute
#button_ajou
EndEnumeration
Enumeration
#menu_Charger
#menu_Save
#menu_Quitter
#menu_Vider
#menu_info
EndEnumeration
Enumeration
#menu_Effacec
#menu_Annuler
EndEnumeration
; Fonts
Global FontID1
FontID1 = LoadFont(1, "Arial", 11, #PB_Font_Bold)
Global FontID2
FontID2 = LoadFont(2, "Arial", 12, #PB_Font_Bold)
Global FontID3
FontID3 = LoadFont(3, "Arial", 10, #PB_Font_Bold)
Global FontID4
FontID4 = LoadFont(4, "Arial", 26, #PB_Font_Bold)
; creation d'un element
Structure Tour_struct
Nom.s
ListeT.s
Matos.s
Date.s
Heure.s
Lieux.s
EndStructure
NewList Items.Tour_struct()
; procedure de gestion des items
Procedure.b item_clear()
ClearList(Items())
ProcedureReturn 1
EndProcedure
; ajouter un element dans la liste
Procedure.b item_add()
If AddElement(Items())
Items()\Nom = GetGadgetText(#String_NomS)
Items()\ListeT = GetGadgetText(#Editor_NomT)
Items()\Matos = GetGadgetText(#Editor_matos)
Items()\date = GetGadgetText(#String_Date)
Items()\Heure = GetGadgetText(#String_heure)
Items()\Lieux = GetGadgetText( #Editor_Lieux)
AddGadgetItem(#ListIcon_0, -1, Items()\Nom) ; on affiche le nom dans le ListIconGadget
EndIf
; on teste ici si la liste est vide et si non, on active le bouton
If CountGadgetItems(#ListIcon_0)
DisableGadget(#Button_Fiche, 0)
EndIf
ProcedureReturn 1
EndProcedure
Procedure Empty()
Item_Clear()
ClearGadgetItemList(#ListIcon_0)
EndProcedure
Procedure.l Item_Load(fichier.s)
If OpenPreferences(fichier)
Repeat
i + 1
If PreferenceGroup("Item." + Str(i))
AddElement(Items())
Items()\Nom = ReadPreferenceString("Nom du spectacle", "")
Items()\ListeT = ReadPreferenceString("Liste des tours", "")
Items()\Matos = ReadPreferenceString("Materiel", "")
Items()\Date = ReadPreferenceString("date", "")
Items()\heure = ReadPreferenceString("Heure", "")
Items()\Lieux = ReadPreferenceString("Lieux", "")
Else
Break
EndIf
ForEver
ClosePreferences()
ProcedureReturn i
EndIf
EndProcedure
Procedure.l Item_Save(fichier.s)
If CreatePreferences(fichier)
ForEach Items()
i + 1
PreferenceGroup("Item." + Str(i))
WritePreferenceString("Nom du spectacle", Items()\Nom)
WritePreferenceString("Nom du spectacle", Items()\ListeT)
WritePreferenceString("Materiel", Items()\Matos)
WritePreferenceString("Date", Items()\Date)
WritePreferenceString("Heure", Items()\heure)
WritePreferenceString("Lieux", Items()\Lieux)
Next
ClosePreferences()
ProcedureReturn i
EndIf
EndProcedure
Procedure Open(append.b)
;- Ouvre un fichier
fichier.s = OpenFileRequester("Ouvrir", "fichier.ini", "ini | *.ini", 0)
If fichier <> ""
If append
ClearGadgetItemList(#ListIcon_0)
Else
Item_Clear()
EndIf
Item_Load(fichier)
ClearGadgetItemList(#listIcon_0) ; on efface les éléments de la listicon
ForEach Items()
AddGadgetItem(#listIcon_0, -1, Items()\Nom)
Items()\Nom
Next
EndIf
; on teste ici si la liste est vide et si non, on active le bouton
If CountGadgetItems(#ListIcon_0)
DisableGadget(#Button_Fiche, 0)
EndIf
EndProcedure
Procedure SaveAs()
;- Enregistre sous...
fichier.s = SaveFileRequester("Enregistrer sous", "*.ini", "ini | ini", 0)
If fichier <> ""
Item_Save(fichier)
EndIf
EndProcedure
Procedure RemoveGadget()
i = 0
If GetGadgetItemState(#ListIcon_0, i) & #PB_ListIcon_Checked ; Si l'item est marqué
RemoveGadgetItem(#ListIcon_0, i) ; on le retire
EndIf
; comme la listicon est vide, on grise le bouton
If CountGadgetItems(#ListIcon_0) = 0
DisableGadget(#Button_Fiche, 1)
EndIf
EndProcedure
Procedure effacer()
SetGadgetText(#String_NomS, "")
SetGadgetText(#editor_NomT, "")
SetGadgetText(#Editor_matos, "")
SetGadgetText(#String_Date, "")
SetGadgetText(#String_Heure, "")
SetGadgetText(#Editor_lieux, "")
ActivateGadget(#String_NomS)
EndProcedure
Procedure info()
MessageRequester("Information sur Merlin ", "Merlin Version 01 " + Chr(10) + "par Williamm" + Chr(10) + "Copyright 2004 ", #MB_OK | #MB_ICONINFORMATION)
EndProcedure
Procedure Open_Window_0()
If OpenWindow(#Window_0, 18, 13, 955, 675, #PB_Window_SystemMenu | #PB_Window_MinimizeGadget | #PB_Window_TitleBar, "Merlin le Gestionnaire de Prestation copyright 2004 ")
If CreateMenu(0, WindowID())
MenuTitle( "Fichier")
MenuItem(#menu_Charger, "Charger la liste")
MenuItem(#menu_Save, "Sauvegarder la liste")
MenuItem(#menu_Quitter, "Quitter ")
MenuTitle("Edition")
MenuItem(#menu_vider, " Vider la liste ")
MenuTitle ("Information")
MenuItem(#menu_info, " A propos de ")
EndIf
If CreateGadgetList(WindowID())
ListIconGadget(#ListIcon_0, 20, 20, 700, 630, "Nom du spectacle ", 696, #PB_ListIcon_CheckBoxes | #PB_ListIcon_GridLines)
SetGadgetFont(#ListIcon_0, FontID1)
ButtonGadget(#Button_Ajoutet, 740, 40, 190, 50, "AJOUTER")
GadgetToolTip(#Button_Ajoutet, "Ajoute un spectacle a la liste ")
SetGadgetFont(#Button_Ajoutet, FontID2)
ButtonGadget(#Button_Effacee, 740, 220, 190, 50, "EFFACER")
GadgetToolTip(#Button_Effacee, "Efface un spectacle de la liste en cochant la case ")
SetGadgetFont(#Button_Effacee, FontID2)
ButtonGadget(#Button_Fiche, 740, 120, 190, 50, "VOIR LA FICHE ")
GadgetToolTip(#Button_Fiche, "Voir la fiche en cochant la case ")
SetGadgetFont(#Button_Fiche, FontID2)
; ici on grise le bouton de lecture fiche
DisableGadget(#Button_Fiche, 1)
TextGadget(#Text_Titre, 750, 460, 180, 100, "Merlin Version 01 ", #PB_Text_Center)
SetGadgetFont(#Text_Titre, FontID4)
Frame3DGadget(#Frame3D_0, 730, 20, 210, 600, "")
EndIf
EndIf
EndProcedure
Procedure Open_Window_1()
If OpenWindow(#Window_1, 255, 7, 678, 724, #PB_Window_TitleBar | #PB_Window_BorderLess | #PB_Window_ScreenCentered, "Creation d'une nouvelle fiche ")
If CreateMenu(1, WindowID())
MenuTitle( "Edition")
MenuItem(#menu_Effacec, " Effacer les Renseignement ")
MenuItem(#menu_Annuler, " Annuler la fiche ")
EndIf
If CreateGadgetList(WindowID())
Frame3DGadget(#Frame3D_ajoute, 10, 10, 660, 710, "")
TextGadget(#Text_NomS, 20, 40, 150, 30, "Nom du spectacle :", #PB_Text_Center)
SetGadgetFont(#Text_NomS, FontID2)
StringGadget(#String_NomS, 180, 40, 480, 28, "")
SetGadgetFont(#String_NomS, FontID3)
TextGadget(#Text_NomT, 20, 110, 150, 30, "Listes des tours : ", #PB_Text_Center)
SetGadgetFont(#Text_NomT, FontID2)
EditorGadget(#editor_NomT, 180, 110, 480, 100, "")
SetGadgetFont(#editor_NomT, FontID3)
TextGadget(#Text_Matos, 20, 280, 130, 30, "Materiel : ", #PB_Text_Center)
SetGadgetFont(#Text_Matos, FontID2)
EditorGadget(#Editor_matos, 180, 280, 480, 130)
SetGadgetFont(#Editor_matos, FontID3)
TextGadget(#Text_date, 30, 460, 110, 30, "Date :", #PB_Text_Center)
SetGadgetFont(#Text_date, FontID2)
StringGadget(#String_date, 140, 460, 120, 30, "")
SetGadgetFont(#String_date, FontID3)
TextGadget(#Text_Heure, 360, 460, 110, 20, "Heure :", #PB_Text_Center)
SetGadgetFont(#Text_Heure, FontID2)
StringGadget(#String_heure, 480, 460, 130, 25, "")
SetGadgetFont(#String_heure, FontID3)
TextGadget(#Text_Lieux, 160, 520, 80, 20, "Lieux: ", #PB_Text_Center)
SetGadgetFont(#Text_Lieux, FontID2)
EditorGadget(#Editor_Lieux, 270, 510, 380, 80)
SetGadgetFont(#Editor_Lieux, FontID3)
ButtonGadget(#Button_ajoute, 200, 620, 290, 50, "Ajouter un nouveau spectacle ")
GadgetToolTip(#Button_ajoute, "Ajoute une prestation a la liste ")
SetGadgetFont(#Button_ajoute, FontID2)
Repeat
Event = WaitWindowEvent()
Select Event
Case #PB_EventMenu
Select EventMenuID()
Case#menu_Effacec : effacer()
Case #menu_Annuler : Fermer_Window_1 = 1
EndSelect
Case #PB_EventGadget
GadgetID = EventGadgetID()
If GadgetID = #Button_Ajoute
item_add()
Fermer_Window_1 = 1
EndIf
EndSelect
Until Fermer_Window_1 = 1
CloseWindow(#Window_1)
While WindowEvent() : Wend
EndIf
EndIf
EndProcedure
Procedure Open_Window_2(Index)
If OpenWindow(#window_2, 255, 7, 678, 724, #PB_Window_TitleBar | #PB_Window_BorderLess | #PB_Window_ScreenCentered, "Fiche du spectacle ")
If CreateGadgetList(WindowID())
Frame3DGadget(#Frame3D_ajoute, 10, 10, 660, 710, "")
TextGadget(#Text_NomS, 20, 40, 150, 30, "Nom du spectacle :", #PB_Text_Center)
SetGadgetFont(#Text_NomS, FontID2)
StringGadget(#String_NomS, 180, 40, 480, 28, "")
SetGadgetFont(#String_NomS, FontID3)
TextGadget(#Text_NomT, 20, 110, 150, 30, "Listes des tours : ", #PB_Text_Center)
SetGadgetFont(#Text_NomT, FontID2)
EditorGadget(#editor_NomT, 180, 110, 480, 100, "")
SetGadgetFont(#editor_NomT, FontID3)
TextGadget(#Text_Matos, 20, 280, 130, 30, "Materiel : ", #PB_Text_Center)
SetGadgetFont(#Text_Matos, FontID2)
EditorGadget(#Editor_matos, 180, 280, 480, 130)
SetGadgetFont(#Editor_matos, FontID3)
TextGadget(#Text_date, 30, 460, 110, 30, "Date :", #PB_Text_Center)
SetGadgetFont(#Text_date, FontID2)
StringGadget(#String_date, 140, 460, 120, 30, "")
SetGadgetFont(#String_date, FontID3)
TextGadget(#Text_Heure, 360, 460, 110, 20, "Heure :", #PB_Text_Center)
SetGadgetFont(#Text_Heure, FontID2)
StringGadget(#String_heure, 480, 460, 130, 25, "")
SetGadgetFont(#String_heure, FontID3)
TextGadget(#Text_Lieux, 160, 520, 80, 20, "Lieux: ", #PB_Text_Center)
SetGadgetFont(#Text_Lieux, FontID2)
EditorGadget(#Editor_Lieux, 270, 510, 380, 80)
SetGadgetFont(#Editor_Lieux, FontID3)
ButtonGadget(#Button_ajoute, 200, 620, 290, 50, " Quitter la fiche ")
SetGadgetFont(#Button_ajoute, FontID2)
; comme l'index représente le même numéro que l'élément de la liste chaînée
; il suffit de faire
SelectElement(Items(), Index)
SetGadgetText(#String_NomS, Items()\Nom)
SetGadgetText(#Editor_Nomt, Items()\ListeT)
SetGadgetText(#Editor_matos, Items()\Matos)
SetGadgetText(#String_date, Items()\Date)
SetGadgetText(#String_heure, Items()\Heure)
SetGadgetText(#Editor_Lieux, Items()\Lieux)
Repeat
Event = WaitWindowEvent()
Select Event
Case #PB_EventCloseWindow
Fermer_Window_2 = 1
Case #PB_EventGadget
GadgetID = EventGadgetID()
If GadgetID = #Button_ajoute
Fermer_Window_2 = 1
EndIf
EndSelect
Until Fermer_Window_2 = 1
CloseWindow(#window_2)
EndIf
EndIf
EndProcedure
;- - Debut du program principal
Open_Window_0()
Repeat
Event = WaitWindowEvent()
Select Event
Case #PB_EventMenu
Select EventMenuID()
Case#menu_Charger
open (#false)
Case#menu_save
saveas()
Case #menu_Info
info()
Case#menu_vider
Empty()
Case#menu_Quitter
fermer_window_0 = 1
EndSelect
Case #PB_EventGadget
Select EventGadgetID()
Case #Button_ajoutet
open_window_1()
Case#button_Fiche
i = 0
If CountGadgetItems(#ListIcon_0)
For i = 0 To CountGadgetItems(#ListIcon_0)
If GetGadgetItemState(#ListIcon_0, i) & #PB_ListIcon_Checked = #PB_ListIcon_Checked
Open_Window_2(i)
Break
EndIf
Next i
EndIf
Case #Button_Effacee
RemoveGadget()
EndSelect
Case #PB_EventCloseWindow
fermer_window_0 = 1
EndSelect
Until fermer_window_0 = 1
End
T'as un morceau de code pour que je comprennewilliamm a écrit :merci denis
j'ai encore des questions
j'ai remplacer editorgadget par un stringadget avec l'option multiline
mais quand j'enregistre mon fichier ini et que je charge ensuite
j'ai qu'une ligne qui apparait dans le stringadget multiline
comment faire pour sauver et charger le fichier ini avec toutes les lignes
Williamm
Quand tu crée un fichier ini pour sauvegarder un texte sur plusieurs lignes, il faut que tu changes le caractère Chr(13)+Chr(10) qui représente un retour chariot, par un autre caractère, parce que toutes les données d'une même variable doivent être sur une seule ligne.
Si tu laisse le Chr(13)+Chr(10), il y aura un retour chariot dans ton fichier ini, et seule la première ligne de ton texte sera récupérée.
Quand tu recharges ton fichier, il faut faire l'inverse.
Tu as les explications, il y a des commentaires dans le code, alors essaye de réfléchir pour adapter ce code à ce que tu veux en faire. 
Si tu laisse le Chr(13)+Chr(10), il y aura un retour chariot dans ton fichier ini, et seule la première ligne de ton texte sera récupérée.
Quand tu recharges ton fichier, il faut faire l'inverse.
Code : Tout sélectionner
; Quand tu lances le prog, tu charges le fichier ini
OpenPreferences("Test.cfg")
PreferenceGroup("Test")
; Tu lis la chaine à mettre dans le gadget
Ch$ = ReadPreferenceString("Texte","Entrez un texte")
; Ici, tu remplaces les Chr(128) par des Chr(13)+Chr(10)
; Voir à la fin du code.
Chaine$ = ReplaceString(Ch$,Chr(128), Chr(13)+Chr(10))
ClosePreferences()
If OpenWindow(0,0,0,320,70,#PB_Window_SystemMenu|#PB_Window_ScreenCentered,"StringGadget Flags")
If CreateGadgetList(WindowID(0))
StringGadget(0,5,5,310,60,Chaine$,#PB_String_MultiLine)
EndIf
Repeat
Select WaitWindowEvent()
Case #PB_Event_CloseWindow
; Tu récupères d'abord le texte du gadget
Chaine$ = GetGadgetText(0)
; Et tu remplaces tous les Chr(13)+chr(10) qui représentent
; le retour à la ligne par un autre caractère, par ex. chr(128)
; sinon, le caractère de retour t'enregistre une nouvelle ligne
; dans le fichier ini, et les lignes supplémentaires ne sont
; pas chargées
Chaine$ = ReplaceString(Chaine$,Chr(13)+Chr(10), Chr(128))
; Quand tu fermes le prog, ou quand tu veux,
; tu sauvegardes le fichier ini
CreatePreferences("Test.cfg")
PreferenceGroup("Test")
WritePreferenceString("Texte", Chaine$)
ClosePreferences()
Quit = 1
EndSelect
Until Quit = 1
EndIf
End

dit moi williamm sa te derange si je te pique ton code pour moi faire une creation de liste pour mes film biensur je vais changer quelque truk mais je prefert te demander avant car vu tout le boulot que tu a deja fait dessu sa me fairer chier quon me le pique sans demander alor voila je te le demande
j'attent ta reponse


j'attent ta reponse