Page 21 sur 23

Re: 【SpiderBasic 2.00】 est disponible

Publié : sam. 08/avr./2017 18:30
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 :)

Re: 【SpiderBasic 2.00】 est disponible

Publié : sam. 08/avr./2017 22:37
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)

Re: 【SpiderBasic 2.00】 est disponible

Publié : lun. 10/avr./2017 12:59
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 :)

Re: 【SpiderBasic 2.00】 est disponible

Publié : lun. 10/avr./2017 13:39
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 ?

Re: 【SpiderBasic 2.00】 est disponible

Publié : lun. 10/avr./2017 16:48
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 :)

Re: 【SpiderBasic 2.00】 est disponible

Publié : lun. 10/avr./2017 17:29
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())

Re: 【SpiderBasic 2.00】 est disponible

Publié : lun. 10/avr./2017 17:43
par Kwai chang caine
C'est quoi @Dummy() vide 8O

Re: 【SpiderBasic 2.00】 est disponible

Publié : lun. 10/avr./2017 18:07
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.

Re: 【SpiderBasic 2.00】 est disponible

Publié : mar. 11/avr./2017 16:56
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)

Re: 【SpiderBasic 2.00】 est disponible

Publié : mer. 12/avr./2017 7:51
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

Re: 【SpiderBasic 2.00】 est disponible

Publié : mer. 12/avr./2017 13:35
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

Re: 【SpiderBasic 2.00】 est disponible

Publié : mer. 12/avr./2017 13:53
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

Re: 【SpiderBasic 2.00】 est disponible

Publié : mer. 19/avr./2017 9:12
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 ?

Re: 【SpiderBasic 2.00】 est disponible

Publié : dim. 18/juin/2017 8:47
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 ?

Re: 【SpiderBasic 2.00】 est disponible

Publié : dim. 18/juin/2017 10:35
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.