Lire un fichier texte sur le serveur

Rubriques generale concernant SpiderBasic
Avatar de l’utilisateur
blendman
Messages : 2017
Inscription : sam. 19/févr./2011 12:46

Lire un fichier texte sur le serveur

Message par blendman »

Salut

Avec Spiderbasic, j'essaie en vain de lire le contenu de mon fichier texte, mais ça m'affiche juste un contenu vide.

Voici mon code test :

Code : Tout sélectionner


Global info1$ = "truc bidule"
Global truc

Enumeration ; gadget
  #Gad_Msg : #Gad_BtnOk
EndEnumeration

Enumeration ; menu
  #menu_ChangerInfo
  #menu_Info
  #menu_LireInfo
EndEnumeration

;{ procedures
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 ReadCallback(Status, Filename$, File, Size)
  
  Select Status
    Case #PB_Status_Loaded
      ; File correctly loaded
      Debug "ok file loaded : " + Filename$ + " (" + FileProgress(0) + "%)"
      Debug "File: " + Filename$ + " - Size read: " + Size + " bytes"
      line$ = "Line : "
      While Eof(0) = 0 And NbLine < 10 
        line$ = line$ + ReadString(0) 
        Debug line$         
        NbLine+1
      Wend
      
      
      
      info1$ = line$
      CloseFile(0)
      message("Information",info1$) 
        
      Case #PB_Status_Progress
        ; File loading in progress, use FileProgress() get the current progress
        Debug "Loading file: " + Filename$ + " (" + FileProgress(0) + "%)"

      Case #PB_Status_Error
        ; File loading has failed
        Debug "Error loading file"
        
    EndSelect
    
EndProcedure
Procedure OpenFileRequesterCallback()
  If NextSelectedFile()
    Filename$ = SelectedFileName()
    ReadFile(0, SelectedFileID(), @ReadCallback(),#PB_LocalFile)
  EndIf
EndProcedure  
Procedure LoadDoc()
  Debug "ok, on lit le fichier"
   file$ = "info.txt"
   If ReadFile(0, file$, @ReadCallback())

   Else
     Debug "unable to read the file "+file$
   EndIf

  ; Filename$= OpenFileRequester("*.txt", @OpenFileRequesterCallback())
EndProcedure

; pour tester
Procedure ChangerInfos()
  
  info1$ = "machin chose"
  
EndProcedure
Procedure OpenInfos()
  
  truc + 1
  Debug info1$ +" : "+ truc
  
EndProcedure

; handle
Procedure Close_Window()
  WindowNumber = EventWindow()
  If WindowNumber > 0
    CloseWindow(WindowNumber)
  EndIf
EndProcedure
Procedure Menu_Handle()
  
  Select EventMenu()
     
    Case #menu_LireInfo
      LoadDoc()
      
    Case #menu_ChangerInfo
      ChangerInfos()
      
    Case #menu_Info
      OpenInfos()
      
  EndSelect
  
EndProcedure
Procedure Gadget_Handle()
  Select EventGadget()
    Case #Gad_BtnOk
      CloseWindow(1)
  EndSelect  
EndProcedure

;}


;{ window
ExamineDesktops()

gw = DesktopWidth(0)-50
gh = DesktopHeight(0)-50

flag = #PB_Window_Background 
info$ = "test de lecture de fichier"
OpenWindow(0, 0, 0, gw, gh, info$, flag)

CreateMenu(0, WindowID(0))
MenuTitle("Fichier")

MenuTitle("Edition")
MenuItem(#menu_ChangerInfo, "Changer infos")
MenuItem(#menu_LireInfo, "Lire infos")

MenuTitle("Affichage")

MenuTitle("Aide")
MenuItem(#menu_Info,"Infos")

OpenInfos()

BindEvent(#PB_Event_CloseWindow, @Close_Window())
BindEvent(#PB_Event_Menu, @Menu_Handle())
BindEvent(#PB_Event_Gadget, @gadget_Handle())

;}

Le contenu du fichier info.txt n'est pas important.
Sur mon "serveur", je le place juste à coté des fichier spiderbasic (spiderbasic.js, le fichier html, etc...)

Lorsque j'ouvre le menu #menu_LireInfo (Lire infos), j'ai -1% avec FileProgress(0)

Ma question :
- comment dois-je m'y prendre pour lire ce fichier texte et afficher son contenu ?

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

Re: [spiderbasic] lire un fichier texte sur le serveur

Message par falsam »

blendman a écrit : comment dois-je m'y prendre pour lire ce fichier texte et afficher son contenu ?
Comme tu l'as fait !
Voir la démo http://falsam.com/sbtest/BlendmanTest.html
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] lire un fichier texte sur le serveur

Message par blendman »

ok, si ça marche chez toi, c'est donc que la version de démo de spiderbasic est buguée, car c'est celle que j'utilise ;)
Car chez moi, ça ne marche pas.

Ca, c'est pour nous inciter à acheter la version complète lol.

Merci en tout cas.
Avatar de l’utilisateur
Cool Dji
Messages : 1126
Inscription : ven. 05/sept./2008 11:42
Localisation : Besançon
Contact :

Re: [spiderbasic] lire un fichier texte sur le serveur

Message par Cool Dji »

Hello,

J'ai testé avec Demo SpiderBasic 2.0, ça fonctionne en mode compilation. C'est extra !

A+
Only PureBasic makes it possible
Avatar de l’utilisateur
blendman
Messages : 2017
Inscription : sam. 19/févr./2011 12:46

Re: [spiderbasic] lire un fichier texte sur le serveur

Message par blendman »

moi, ça ne marche pas avec la démo 2.00 de spiderbasic. Mais je ne pense pas que ça vienne de la démo.

le fichier texte j'ai testé l'encodage en utf8 sans bom, en ascii, etc... c'est toujours pareil :(

Vous utilisez le code que j'ai posté et ça marche chez vous sans aucun changement ??
Avatar de l’utilisateur
falsam
Messages : 7244
Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :

Re: [spiderbasic] lire un fichier texte sur le serveur

Message par falsam »

Cool Dji a écrit :Vous utilisez le code que j'ai posté et ça marche chez vous sans aucun changement ??
je n'ai fait aucun changement dans le code Purebasic.

Quand au fichier info.txt il est crée avec l'éditeur de Spiderbasic :wink: (File format : Encoding UTF8, New line CRLF)
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
Guillot
Messages : 521
Inscription : jeu. 25/juin/2015 16:18

Re: [spiderbasic] lire un fichier texte sur le serveur

Message par Guillot »

attention les fichiers doivent etre encodées en UTF8
(pour ça j'utilise notepad++)
Répondre