SpiderBasic 2.20 beta est disponible sur votre compte
Le 2017-10-11 19:00:01, par comtois, Responsable Purebasic
Hi folks,
The new version of SpiderBasic is available on your online account and brings some nice new features, and many bug fixes !
- Database library, based on sqlite (client side)
- Added #PB_LocalStorage support for CreateFile(), OpenFile() and ReadFile() to easily create persistent files
- Added #PB_HTTP_Put, #PB_HTTP_Patch, #PB_HTTP_Delete support for HttpRequest()
- Added ExportFileMemory() to return the full file content as a memory buffer
- Added 'End' keyword support to quit an application
Have fun and don't hesitate to report anything wrong so we can have a great release !
The new version of SpiderBasic is available on your online account and brings some nice new features, and many bug fixes !
- Database library, based on sqlite (client side)
- Added #PB_LocalStorage support for CreateFile(), OpenFile() and ReadFile() to easily create persistent files
- Added #PB_HTTP_Put, #PB_HTTP_Patch, #PB_HTTP_Delete support for HttpRequest()
- Added ExportFileMemory() to return the full file content as a memory buffer
- Added 'End' keyword support to quit an application
Have fun and don't hesitate to report anything wrong so we can have a great release !
Source de l'information
comtois
Responsable Purebasic
La beta 2 est disponible sur votre compte.
Saviez-vous que le TextGadget() permet d'afficher n'importe quel contenu html ? Belle découverte d'un utilisateur ! (source de l'information)
Vous pouvez tester ce code
ou celui ci
C'est bon à savoir !
Autre info intéressante, pour conserver une base de données vous pouvez utiliser les nouvelles fonctions dédiées aux fichiers
exemple de Fred (6ème messages de cette discussion)
Et Fred (l'auteur de PureBasic et SpiderBasic) complète l'information
Pour comprendre comment les bases de données fonctionnent, il faut savoir qu'elles sont toujours créées en mémoire et restent en mémoire. Il faut utiliser les fonctions dédiées aux fichiers pour rendre les bases de données persistantes.
vous pouvez rendre persistant n'importe quel fichier, pas uniquement les bases de données.
Saviez-vous que le TextGadget() permet d'afficher n'importe quel contenu html ? Belle découverte d'un utilisateur ! (source de l'information)
Vous pouvez tester ce code
Code : |
1 2 | OpenWindow(0, 0, 0, 800, 450, "Méli Mélo - Bzz !", #PB_Window_ScreenCentered) TextGadget(1,0,0,800,450,"<iframe width='800' height='450' src='https://www.youtube.com/embed/zaIwKNyzxgY' frameborder='0' allowfullscreen></iframe>") |
Code : |
1 2 3 | OpenWindow(0, 0, 0, 800, 450, "Méli Mélo - Bzz !", #PB_Window_ScreenCentered) img.s=Chr(34)+"https://cdn.pixabay.com/photo/2017/10/12/21/22/pattern-2846017__340.jpg')"+Chr(34) TextGadget(1,0,0,800,450,"<iframe width='800' height='450' style='background-image:url("+img+"></iframe>") |
Autre info intéressante, pour conserver une base de données vous pouvez utiliser les nouvelles fonctions dédiées aux fichiers
exemple de Fred (6ème messages de cette discussion)
Code : |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 | Procedure CreateFileCallback(Status, Filename$, File, SizeRead) Select Status Case #PB_Status_Saved Debug "File saved: " + Filename$ + "(" + SizeRead + " bytes)" Case #PB_Status_Error Debug "Can't save the file: " + Filename$ EndSelect EndProcedure Procedure PerformQuery(DB) If DatabaseQuery(DB, "Select * From SuperHeroes Where Prename = 'Peter'") While NextDatabaseRow(DB) Debug GetDatabaseString(DB, 1) + "," + GetDatabaseString(DB, 0) Wend FinishDatabaseQuery(DB) Else Debug "DatabaseQuery() failed: " + DatabaseError() EndIf EndProcedure Procedure ReadFileCallback(Status, Filename$, File, SizeRead) Select Status Case #PB_Status_Loaded Debug "File loaded: " + Filename$ ; Get all the file as a new buffer *Buffer = ExportFileMemory(File) Debug MemorySize(*Buffer) DB = OpenDatabase(#PB_Any, *Buffer) If DB Debug "OpenDatabase() read from file: OK" PerformQuery(DB) EndIf Case #PB_Status_Error Debug "Can't read the file: " + Filename$ Debug "Creating a new database" DB = OpenDatabase(#PB_Any) If DB Debug "OpenDatabase(): OK" DatabaseUpdate(DB, "Create Table SuperHeroes (Prename TEXT, Surname TEXT)") DatabaseUpdate(DB, "Insert Into SuperHeroes (Prename, Surname) Values ('Peter', 'Parker')") DatabaseUpdate(DB, "Insert Into SuperHeroes (Prename, Surname) Values ('Peter', 'Jackson')") DatabaseUpdate(DB, "Insert Into SuperHeroes (Prename, Surname) Values ('Bruce', 'Wayne')") DatabaseUpdate(DB, "Insert Into SuperHeroes (Prename, Surname) Values ('Clark', 'Kent')") PerformQuery(DB) ; Now save the database to a persistent file ; *Buffer = ExportDatabaseMemory(DB) If CreateFile(0, "mydb.sqlite", @CreateFileCallback(), #PB_LocalStorage) WriteData(0, *Buffer, 0, MemorySize(*Buffer)) CloseFile(0) EndIf CloseDatabase(DB) Else Debug "OpenDatabase() failed" EndIf EndSelect EndProcedure ; Try to read the database if already present, or it will create a new one ; ReadFile(0, "mydb.sqlite", @ReadFileCallback(), #PB_LocalStorage) |
To understand how the database works: it's always created in memory and stay in memory. You have to use the regular file functions to persist it. You can persist any files now, not just database.
vous pouvez rendre persistant n'importe quel fichier, pas uniquement les bases de données.
le 18/10/2017 à 19:29