Tu parle de base de donnée mais j'ai l'impression que tu as besoins de quelque chose de beaucoup plus simple.
Ben voilà un petit exemple de sauvegarde de donnée. En ésperant que cela te convienne.
Code : Tout sélectionner
;Il est important de définir la largeur de tes champs avant pour pouvoir les changer façilement
#chp1=50
#chp2=100
#chp3=300
Global nb_element,num_afficher
;Je déclare des tableaux, pour mettre les données en mémoire,
#nb_max_enregistrement=100
Global Dim chp1.s(#nb_max_enregistrement)
Global Dim chp2.s(#nb_max_enregistrement)
Global Dim chp3.s(#nb_max_enregistrement)
Procedure AfficheElement(num) ;permet d'afficher un élément
SetGadgetText(0,Str(num))
SetGadgetText(1,chp1(num))
SetGadgetText(2,chp2(num))
SetGadgetText(3,chp3(num))
EndProcedure
Procedure AjouteElement()
nb_element=nb_element+1
chp1(nb_element)=LSet(GetGadgetText(1),#chp1," ")
chp2(nb_element)=LSet(GetGadgetText(2),#chp2," ")
chp3(nb_element)=LSet(GetGadgetText(3),#chp2," ")
EndProcedure
OpenWindow(0,1,1,400,400,"Test BD",#PB_Window_SystemMenu )
CreateGadgetList(WindowID(0))
StringGadget(0,10,10,30,20,"",#PB_String_ReadOnly)
StringGadget(1,60,10,50,20,"")
StringGadget(2,10,40,100,20,"")
StringGadget(3,10,70,300,20,"")
ButtonGadget(10,10,100,40,20,"<-")
ButtonGadget(11,60,100,40,20,"+")
;ButtonGadget(12,110,100,40,20,"-")
ButtonGadget(13,160,100,40,20,"->")
;Je charge mes tableaux
If ReadFile(0,"ma_base.txt")
num=0
Repeat
ligne$=ReadString(0)
If ligne$<>""
num=num+1
chp1(num)=Mid(ligne$,0,#chp1)
chp2(num)=Mid(ligne$,#chp1,#chp2)
chp3(num)=Mid(ligne$,#chp1+#chp2,#chp3)
EndIf
nb_element=num
Until Loc(0)=Lof(0)
CloseFile(0)
EndIf
;J'affiche le premier élément
num_afficher=1
AfficheElement(num_afficher)
Repeat
event=WaitWindowEvent()
Select event
Case #PB_Event_Gadget
Select EventGadget()
Case 10
num_afficher=num_afficher-1
AfficheElement(num_afficher)
Case 13
num_afficher=num_afficher+1
AfficheElement(num_afficher)
Case 11
AjouteElement()
EndSelect
EndSelect
Until event=#wm_close
;Je sauve ma base
If nb_element>1
If CreateFile(0,"ma_base.txt")
For num=1 To nb_element
WriteStringN(0,chp1(num)+chp2(num)+chp3(num))
Next
CloseFile(0)
EndIf
EndIf