https://github.com/localForage/localForage
L'objectif de ce code est de :
- - Créer un fichier contenant x lignes,
- Voir le contenu du fichier,
- Exporter le fichier.
Au lancement il n'y aura pas de fichier présent. Cliquez sur les boutons ... :
- -Add new line Ajouter une ligne.
-Read content Lister le contenu du fichier dans la fenêtre de débogage.
-Export Data Exporter les données dans un fichier.
Chaque processus de création ou lecture d'un fichier fait appel à un callback afin de connaitre le status du processus en cours.
- - #PB_Status_Loaded
- #PB_Status_Progress
- #PB_Status_Saved
- #PB_Status_Error
Code : Tout sélectionner
;Local Forage
;
;SpiderBasic 2.20
EnableExplicit
Enumeration
#File
#FileExport
#mf
#mfReadContent
#mfNewLine
#mfExport
EndEnumeration
Global Buffer.s, CountLine
;Sommaire / Summay
Declare Start()
Declare DataRead() ;Lecture contenu du fichier / Reading file content
Declare DataSave() ;Ajouter une ligne / Add a line
Declare DataExport() ;Exportation des données / Exporting data
Declare OnDataProcess(Status, Filename$, File, SizeRead)
Declare onDataError(FileName.s)
Start()
Procedure Start()
OpenWindow(#mf, 0, 0, 0, 0, "Local Forage", #PB_Window_Background)
ButtonGadget(#mfNewLine, 20, 20, 80, 24, "Add new line")
ButtonGadget(#mfReadContent, 110, 20, 80, 24, "Read content")
ButtonGadget(#mfExport, 200, 20, 80, 24, "Export Data")
;Lecture contenu du fichier / Reading file content
DataRead()
;Déclencheurs
BindGadgetEvent(#mfNewLine, @DataSave())
BindGadgetEvent(#mfReadContent, @DataRead())
BindGadgetEvent(#mfExport, @DataExport())
EndProcedure
Procedure DataRead()
If ReadFile(#File, "MyFile.txt", @OnDataProcess(), #PB_LocalStorage)
EndIf
EndProcedure
Procedure DataSave()
CountLine + 1
Buffer + "Line " + Str(CountLine) + #CRLF$
If CreateFile(#File, "MyFile.txt", @OnDataProcess(), #PB_LocalStorage)
WriteString(#File, Buffer)
CloseFile(#File)
EndIf
EndProcedure
Procedure DataExport()
If CreateFile(#FileExport, "result.txt", @OnDataProcess(), #PB_LocalStorage)
WriteString(#FileExport, Buffer)
ExportFile(#FileExport, "text/plain", #PB_LocalFile)
CloseFile(#FileExport)
EndIf
EndProcedure
Procedure OnDataProcess(Status, Filename$, File, SizeRead)
Select Status
Case #PB_Status_Loaded
Buffer = ReadString(File, #PB_File_IgnoreEOL)
CloseFile(File)
Debug "Contenu actuel du fichier " + Filename$
Debug Buffer
CountLine = CountString(Buffer, #CRLF$)
Case #PB_Status_Progress
Case #PB_Status_Saved
Select File
Case #File
Debug "Ajout de la " + CountLine + " eme ligne effectuée"
Case #FileExport
Debug "Exportation terminée : " + CountLine + " lignes exportées"
EndSelect
Case #PB_Status_Error
onDataError(Filename$)
EndSelect
EndProcedure
Procedure OnDataError(FileName.s)
Debug "Le fichier " + Filename + " n'est pas présent dans le local storage."
EndProcedure
Cliquez ensuite sur le lien keyvaluepairs pour voir le nom de votre fichier précédé de sbfs_
Exemple : sbfs_MyFile.txt
Fermez votre navigateur (ou l'onglet contenant l'application) et relancer votre application.
Attention : Si vous effacez l'historique de votre navigateur, vous perdrez vos fichiers.