PureBasic
https://www.purebasic.fr/french/

Lire un fichier texte sur le serveur
https://www.purebasic.fr/french/viewtopic.php?f=25&t=16936
Page 1 sur 1

Auteur:  blendman [ Mer 13/Sep/2017 8:34 ]
Sujet du message:  Lire un fichier texte sur le serveur

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:

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 :)

Auteur:  falsam [ Mer 13/Sep/2017 13:50 ]
Sujet du message:  Re: [spiderbasic] lire un fichier texte sur le serveur

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

Auteur:  blendman [ Mer 13/Sep/2017 17:31 ]
Sujet du message:  Re: [spiderbasic] lire un fichier texte sur le serveur

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.

Auteur:  Cool Dji [ Ven 15/Sep/2017 7:36 ]
Sujet du message:  Re: [spiderbasic] lire un fichier texte sur le serveur

Hello,

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

A+

Auteur:  blendman [ Sam 16/Sep/2017 10:52 ]
Sujet du message:  Re: [spiderbasic] lire un fichier texte sur le serveur

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 ??

Auteur:  falsam [ Sam 16/Sep/2017 12:10 ]
Sujet du message:  Re: [spiderbasic] lire un fichier texte sur le serveur

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)

Auteur:  Guillot [ Sam 16/Sep/2017 22:14 ]
Sujet du message:  Re: [spiderbasic] lire un fichier texte sur le serveur

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

Page 1 sur 1 Heures au format UTC + 1 heure
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/