SpiderBasic 2.20 beta est disponible sur votre compte

Le , 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 !
La version 2.20 beta 1 est disponible sur votre compte.

Source de l'information


Vous avez aimé cette actualité ? Alors partagez-la avec vos amis en cliquant sur les boutons ci-dessous :


 Poster une réponse

Avatar de comtois comtois - Responsable Purebasic https://www.developpez.com
le 18/10/2017 à 19:29
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

Code : Sélectionner tout
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>")
ou celui ci

Code : Sélectionner tout
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>")
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)

Code : Sélectionner tout
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)
Et Fred (l'auteur de PureBasic et SpiderBasic) complète l'information
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.
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.
Responsable bénévole de la rubrique PureBasic : comtois -