+ Répondre à la discussion Actualité déjà publiée
  1. #1
    Responsable Purebasic

    Avatar de comtois
    Inscrit en
    avril 2003
    Messages
    1 180
    Détails du profil
    Informations forums :
    Inscription : avril 2003
    Messages : 1 180
    Points : 5 720
    Points
    5 720
    Billets dans le blog
    7

    Par défaut SpiderBasic 2.20 beta est disponible sur votre compte

    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 souhaitez participer à la rubrique PureBasic (tutoriels, FAQ, sources) ? Contactez-moi par MP.

  2. #2
    Responsable Purebasic

    Avatar de comtois
    Inscrit en
    avril 2003
    Messages
    1 180
    Détails du profil
    Informations forums :
    Inscription : avril 2003
    Messages : 1 180
    Points : 5 720
    Points
    5 720
    Billets dans le blog
    7

    Par défaut SpiderBasic 2.20 beta 2

    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 - Visualiser dans une fenêtre à part
    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 - Visualiser dans une fenêtre à part
    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 - Visualiser dans une fenêtre à part
    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.
    Vous souhaitez participer à la rubrique PureBasic (tutoriels, FAQ, sources) ? Contactez-moi par MP.

Discussions similaires

  1. SpiderBasic 1.30 beta est disponible sur votre compte
    Par comtois dans le forum SpiderBasic
    Réponses: 1
    Dernier message: 14/03/2016, 19h19
  2. PureBasic 5.42 beta est disponible sur votre compte
    Par comtois dans le forum PureBasic
    Réponses: 5
    Dernier message: 28/02/2016, 11h33
  3. SpiderBasic 1.20 beta est disponible sur votre compte
    Par comtois dans le forum PureBasic
    Réponses: 2
    Dernier message: 08/02/2016, 17h22
  4. SpiderBasic 1.10 beta est disponible sur votre compte
    Par comtois dans le forum PureBasic
    Réponses: 3
    Dernier message: 20/12/2015, 10h38
  5. PureBasic 5.30 (beta) est disponible sur votre compte
    Par comtois dans le forum PureBasic
    Réponses: 10
    Dernier message: 09/07/2014, 19h50

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo