Chargement d'un fichier texte.

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
Avatar de l’utilisateur
MetalOS
Messages : 1510
Inscription : mar. 20/juin/2006 22:17
Localisation : Lorraine
Contact :

Chargement d'un fichier texte.

Message 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.
Avatar de l’utilisateur
Flype
Messages : 2431
Inscription : jeu. 29/janv./2004 0:26
Localisation : Nantes

Message 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"))
Image
Avatar de l’utilisateur
MetalOS
Messages : 1510
Inscription : mar. 20/juin/2006 22:17
Localisation : Lorraine
Contact :

Message 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.
Guimauve
Messages : 1015
Inscription : mer. 11/févr./2004 0:32
Localisation : Québec, Canada

Message 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
Avatar de l’utilisateur
MetalOS
Messages : 1510
Inscription : mar. 20/juin/2006 22:17
Localisation : Lorraine
Contact :

Message 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 ?
Dorian
Messages : 489
Inscription : mar. 15/mars/2005 15:33

Message 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:
Répondre