【SpiderBasic 2.00】 est disponible

Rubriques generale concernant SpiderBasic
Avatar de l’utilisateur
JohnJohnsonSHERMAN
Messages : 648
Inscription : dim. 13/déc./2015 11:05
Localisation : Allez, cherche...
Contact :

Re: 【SpiderBasic 2.00】 est disponible

Message par JohnJohnsonSHERMAN »

Je vois sur la page Wiki de Cordova que c'est un support multiplateformes comme celui de Crosswalk, mais qui inclus aussi Windows... Cela signifie t'il qu'on pourra faire des applications du Windows Store avec SB??

Je me demande aussi quel est le poid de Cordova? (Crosswalk était assez lourd )

En tout cas je pense que c'est une bonne nouvelle :)
"Le bug se situe entre la chaise et le clavier"
Votre expert national en bogage et segfaults.

CPU : AMD A8 Quad core - RAM 8Gb - HDD 2To
  • Windows 10 x64 - PB 5.61 x64
  • Linux Ubuntu 16.04 LTS x64 (dual boot) - PB pas encore réinstallé
Avatar de l’utilisateur
Kwai chang caine
Messages : 6962
Inscription : sam. 23/sept./2006 18:32
Localisation : Isere

Re: 【SpiderBasic 2.00】 est disponible

Message par Kwai chang caine »

Le developpement de Crosswalk étant suspendu
L'éternel problème de dépendre des autres :|
Merci de ces infos FALSAM 8)
ImageLe bonheur est une route...
Pas une destination

PureBasic Forum Officiel - Site PureBasic
Avatar de l’utilisateur
blendman
Messages : 2017
Inscription : sam. 19/févr./2011 12:46

Re: 【SpiderBasic 2.00】 est disponible

Message par blendman »

Je teste en ce moment spiderbasic, que je trouve vraiment très sympathique.

Peut-on créer une application sans fenêtre ?
Comment puis-je copier du texte dans le clipboard ?

Merci :)
Avatar de l’utilisateur
falsam
Messages : 7244
Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :

Re: 【SpiderBasic 2.00】 est disponible

Message par falsam »

blendman a écrit :Peut-on créer une application sans fenêtre ?
Sans fenêtre non mais tu peux faire comme si c'était le cas avec l'option #PB_Window_Background.

Code : Tout sélectionner

OpenWindow(0, 0, 0, 0, 0, "", #PB_Window_Background)
blendman a écrit :Comment puis-je copier du texte dans le clipboard ?
Pour des raisons de sécurité ce n'est pas possible. Une intervention utilisateur est obligatoire.

Quel est le but de ta copie en mémoire ?
Configuration : Windows 11 Famille 64-bit - PB 6.03 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Avatar de l’utilisateur
blendman
Messages : 2017
Inscription : sam. 19/févr./2011 12:46

Re: 【SpiderBasic 2.00】 est disponible

Message par blendman »

Quel est le but de ta copie en mémoire ?
par exemple pour faire un copier-coller du contenu d'un editorgadget()
Pour certaines personnes, c'est plus simple d'avoir un menu/copier :)
Avatar de l’utilisateur
falsam
Messages : 7244
Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :

Re: 【SpiderBasic 2.00】 est disponible

Message par falsam »

Pas de copier en mémoire mais une manière simple de récupérer un texte contenu dans un éditeur.

Code : Tout sélectionner

Procedure Dummy()
EndProcedure

Procedure Download()
  Protected Buffer.s = GetGadgetText(2)
  
  If CreateFile(0, "save.txt", @Dummy())
    WriteString(0, Buffer, #PB_UTF8)
    ExportFile(0, "text/plain")
    CloseFile(0)
  EndIf
EndProcedure

OpenWindow(-1, 0, 0, 0, 0, "", #PB_Window_Background)

ButtonGadget(1, 5, 10, 80, 24, "Download")
EditorGadget(2, 5, 40, 500, 400)
BindGadgetEvent(1, @Download())
Configuration : Windows 11 Famille 64-bit - PB 6.03 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Avatar de l’utilisateur
Kwai chang caine
Messages : 6962
Inscription : sam. 23/sept./2006 18:32
Localisation : Isere

Re: 【SpiderBasic 2.00】 est disponible

Message par Kwai chang caine »

C'est quoi @Dummy() vide 8O
ImageLe bonheur est une route...
Pas une destination

PureBasic Forum Officiel - Site PureBasic
Avatar de l’utilisateur
falsam
Messages : 7244
Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :

Re: 【SpiderBasic 2.00】 est disponible

Message par falsam »

Kwai chang caine a écrit :C'est quoi @Dummy() vide 8O
Ha oui j'ai oublié d'expliquer.

Dans l'aide la fonction CreateFile() fonctionne de cette manière.
Result = CreateFile(#File, Filename$ [, Flags])

Par contre si tu compile tu auras un message d'erreur car un CallBack est demandé bien que ne servant à rien.

Le compilateur voir la fonction de cette maniére Result = CreateFile(#File, Filename$, @Callback() [, Flags])

Pourtant si on place un debug dans le callback, on voit que ce callback ne sert à rien.
Configuration : Windows 11 Famille 64-bit - PB 6.03 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Avatar de l’utilisateur
Kwai chang caine
Messages : 6962
Inscription : sam. 23/sept./2006 18:32
Localisation : Isere

Re: 【SpiderBasic 2.00】 est disponible

Message par Kwai chang caine »

Et ben....je sais pas si y'en a plein de ce genre de "joyeuserie", mais ça va pas faciliter l'apprentissage :|
Merci de ton explication FALSAM 8)
ImageLe bonheur est une route...
Pas une destination

PureBasic Forum Officiel - Site PureBasic
Avatar de l’utilisateur
blendman
Messages : 2017
Inscription : sam. 19/févr./2011 12:46

Re: 【SpiderBasic 2.00】 est disponible

Message par blendman »

salut Falsam

Merci pour les infos.

Pour récupérer le texte et créer un fichier en local, j'avais réussi ;).

J'aurais 2 autres questions :

1) Voilà, j'essaie d'ouvrir un fichier et de le coller dans un editorgadget(), mais je ne parviens pas à récupérer le texte.
Où est mon erreur ?

Code : Tout sélectionner


Global TheLine$

Procedure ReadCallback2(Status, Filename$, File, Size)
  If Status = #PB_Status_Loaded   
    While Eof(1) = 0 
      TheLine$ = TheLine$ + ReadString(1)+Chr(10)            
    Wend
    CloseFile(1)
    ; Message("Infos",Theline$)
  ElseIf Status = #PB_Status_Error
    Message("Erreur","Impossible d'ouvrir le fichier "+filename$)
  EndIf
EndProcedure

Procedure GetText(File$)
  ReadFile(1,File$, @ReadCallback2(),#PB_Unicode)
EndProcedure

Procedure Message(title$, text$)
  w=480 : h = 320
  OpenWindow(1,0,0,w,h,title$,#PB_Window_SystemMenu|#PB_Window_ScreenCentered)
  EditorGadget(#Gad_Msg,10,30,w-20,h-80,#PB_Editor_ReadOnly|#PB_Editor_WordWrap)
  SetGadgetText(#Gad_msg,text$)
  ButtonGadget(#Gad_BtnOk, w-100,h-40, 80,20,"OK")
EndProcedure

Procedure MenuHandler()
  Select EventMenu()                                   
    Case #Menu_info
     Theline$ = ""
     GetText("info_sevrage.txt")
     Message("Information",TheLine$)
  endselect
endprocedure



2) Autre problème
Mon fichier est un simple texte avec accent. Mais lorsque je l'ouvre (en décommentant la ligne

Code : Tout sélectionner

 ; Message("Infos",Theline$) 
dans ReadCallback2(Status, Filename$, File, Size)

J'obtiens un texte avec des caractères spéciaux, mais pas mes accents.
Dans getText(), 'ai essayé unicode, utf8, ascii, j'ai toujours le même problème

Code : Tout sélectionner

Procedure GetText(File$)
  ReadFile(1,File$, @ReadCallback2(),#PB_Unicode)
EndProcedure
Avatar de l’utilisateur
falsam
Messages : 7244
Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :

Re: 【SpiderBasic 2.00】 est disponible

Message par falsam »

De cette manière ça doit fonctionner
- Un callback pour la sélection d'un fichier.
- Un callback pour la lecture du fichier avec détection de l'encodage .

Code : Tout sélectionner

Encoding = ReadStringFormat(#File)
:?: https://www.spiderbasic.com/documentati ... ormat.html

Code : Tout sélectionner

Enumeration 
  #file
  #mf
  #mfSelect
  #mfEditor
EndEnumeration

Procedure ReadFileSucess(Status, Filename$, File, SizeRead)
  Protected Buffer.s
  Protected Encoding = ReadStringFormat(#File)
  
  Select Status
    Case #PB_Status_Loaded
      ; File correctly loaded
      Debug "File: " + Filename$ + " - Size: " + SizeRead + " bytes"
      

      While Eof(#File) = 0 
        Buffer + ReadString(#File, #PB_File_IgnoreEOL |Encoding) + #CR$         
      Wend
      SetGadgetText(#mfEditor, Buffer)
      
    Case #PB_Status_Progress
      ; File loading in progress, use FileProgress() get the current progress
      
    Case #PB_Status_Error
      ; File loading has failed
  EndSelect
EndProcedure

Procedure SelectFileSuccess()
  While NextSelectedFile()
    Debug "Filename: " + SelectedFileName()
    ReadFile(#File, SelectedFileName(), @ReadFileSucess(), #PB_LocalFile)
  Wend
EndProcedure

Procedure SelectFile()
  OpenFileRequester("", @SelectFileSuccess())
EndProcedure

If OpenWindow(#mf, 0, 0, 0, 0, "", #PB_Window_Background)
  ButtonGadget(#mfSelect, 10, 10, 170, 25, "Open local file...")
  
  EditorGadget(#mfEditor, 5, 40, 800, 600)
  
  BindGadgetEvent(#mfSelect, @SelectFile())
EndIf
Configuration : Windows 11 Famille 64-bit - PB 6.03 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Avatar de l’utilisateur
Kwai chang caine
Messages : 6962
Inscription : sam. 23/sept./2006 18:32
Localisation : Isere

Re: 【SpiderBasic 2.00】 est disponible

Message par Kwai chang caine »

Falsam a écrit : Humeur: ☀️
Alors j'en profite :mrgreen:

En fin de compte, de voir tes exemples ça donne l'impression que ça a la couleur du PB, le gout du PB, les mots du PB....mais que c'est pas vraiment du PB, en tout cas, pas la même logique que le PB, me trompe-je ? :|
J'ai aussi la sensation que d'avoir appris le PB est parfois un handicap pour justement saisir cette logique "SBienne" (J'ai bien dit SBienne, Aaaah non !!! pas de ça chez nous :mrgreen:)
Je me demande aussi, puisqu'on parle souvent de traducteurs, convertisseurs, et tout le toutim, si il sera pas nécessaire qu'il en existe un un jour, comme ont éxisté les convertisseurs inter-versions PB passé un temps, pour passer directement du code PB au SB, car ça me parait pas aussi simple qu'un copié/collé :|

Image
ImageLe bonheur est une route...
Pas une destination

PureBasic Forum Officiel - Site PureBasic
Avatar de l’utilisateur
blendman
Messages : 2017
Inscription : sam. 19/févr./2011 12:46

Re: 【SpiderBasic 2.00】 est disponible

Message par blendman »

Merci falsam ;)

Pour l'encoding c'est cool.

Mais peut-on récupérer les données qu'on récolte (ex du texte) d'une callback ?
J'ai essayé avec une variable globale, mais ça ne marche pas.

Il y a une solution pour récupérer les données et les utiliser dans une autre procédure ?
Avatar de l’utilisateur
blendman
Messages : 2017
Inscription : sam. 19/févr./2011 12:46

Re: 【SpiderBasic 2.00】 est disponible

Message par blendman »

j'ai une question : avast m'a trouvé en mars 2017 un virus sur spiderbasic, dans ce fichier : spiedrbasic/compilers/sbmongoose.exe.

C'est un fichier de spiderbasic ?

Depuis maintenant 3 semaines, je n'arrive plus du tout à compiler ni créer une application avec spiderbasic (j'utilise la version démo pour l'essayer).
J'ai tenté de réinstaller , mais c'est toujours pareil : "the compiler isn't loaded yet... please try again"

Et si je clique sur le menu "restart compiler", il ne se passe rien, et je ne peux compiler du tout :(
J'ai essayé de le lancer en désactivant l'anti-virus, j'ai toujours le même problème.

Vous savez ce que je dois faire pour que ça remarche ?
Avatar de l’utilisateur
Ar-S
Messages : 9472
Inscription : dim. 09/oct./2005 16:51
Contact :

Re: 【SpiderBasic 2.00】 est disponible

Message par Ar-S »

Peut être que ton avast ( :roll: ) a viré un fichier nécessaire ou a bloqué son execution.
Tu devrais peut être réinstaller SB dans un auter dossier et avant celà, exclure ce dossier de la zone de recherche d'avast.
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
Répondre