IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

SpiderBasic 2.20 beta est disponible sur votre compte

Le , par comtois

197PARTAGES

6  0 
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

Une erreur dans cette actualité ? Signalez-nous-la !

Avatar de 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.
0  0