Page 1 sur 1

Chargement d'un fichier texte.

Publié : lun. 07/août/2006 5:43
par MetalOS
Bonjours le forum,

Une ptite question pour un pauvre debutant en PureBasic, quelqu'un pourrais me dire comment charger au demarrage d'une application, le contenue d'un fichier texte dans un gadjetEditor. Merci.

Publié : lun. 07/août/2006 10:25
par Flype
tu peux utiliser cette procedure :

Code : Tout sélectionner

Procedure.s FileToString(FileName.s)
  
  Protected file.l, string.s
  
  file = ReadFile(#PB_Any, FileName)
  
  If file
    string = Space(Lof(file))
    ReadData(file, @string, Lof(file))
    CloseFile(file)
  EndIf
  
  ProcedureReturn string
  
EndProcedure
Ensuite tu fais :

SetGadgetText(0, FileToString("c:\fichier.txt"))

Publié : lun. 07/août/2006 10:53
par MetalOS
Merci pour ta reponse, tu n'aurrais pas une source complette que je puisse comprendre le fonctionnement car la je ne c pas ou mettre cette partie de code.Merci.

Publié : lun. 07/août/2006 13:08
par Guimauve
Tu peux faire comme suit :

Code : Tout sélectionner

Procedure.s FileToString(FileName.s)
   
   Protected file.l, string.s
   
   file = ReadFile(#PB_Any, FileName)
   
   If file
      string = Space(Lof(file))
      ReadData(file, @string, Lof(file))
      CloseFile(file)
   EndIf
   
   ProcedureReturn string
   
EndProcedure 


If OpenWindow(0, 0, 0, 322, 150, "EditorGadget", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
   If CreateGadgetList(WindowID(0)) 
      EditorGadget(0, 8, 8, 306, 133) 
   EndIf 
   SetGadgetText(0, FileToString("c:\fichier.txt"))
   Repeat
      
      EventID = WindowEvent()
      
      Select EventID
         
         Case #PB_Event_Menu
            
            Select EventMenu()
               
            EndSelect
            
         Case #PB_Event_Gadget
            
            Select EventGadget()
               
            EndSelect
            
      EndSelect
      
   Until EventID = #PB_Event_CloseWindow
     
EndIf 
A+
Guimauve

Publié : mer. 09/août/2006 6:34
par MetalOS
Merci Guimauve pour ta reponse, mais une autre question je cherche à enregistrer un fichier texte et j'utilise ceci :

Code : Tout sélectionner

    FichierParDefaut$ = "C:\"   
  Filtre$ = "Texte (*.txt)|*.txt"
  Filtre = 0    
  Fichier$ = SaveFileRequester("Choisissez un fichier à sauvegarder", FichierParDefaut$, Filtre$, Filtre)
Mais ca marche pas il m'ouvre bien une fenetre d'enregistrement mais le fichier n'est pas enregistrer. Pourquoi ?

Publié : mer. 09/août/2006 10:46
par Dorian
Car il ne te renvoi que le chemin du fichier demandé par l'utilisateur, il faut donc le créer :

Code : Tout sélectionner

CreateFile(0, "Le texte à enregistrer dans le fichier")
CloseFile(0)

ou

CreateFile(0, Variable_contenant_le_texte_a_enregistrer$)
CloseFile(0)
Tu met l'une des deux possibilité ci-dessus et ton fichier sera créé puis rempli (si le chemin du dossier est valide) :wink: