Page 1 sur 1

Enregistrer sous [Reglé]

Publié : sam. 20/janv./2007 16:34
par MetalOS
Salut tous le monde, Voila dans mon application je cherche à enregistrer dans un fichier texte le contenue d'un EditorGadget, mais en indiquand un nom de fichier choisis au moment de l'enregistrement.

Pour ca je pense utiliser la commande SaveFileRequester, selement je ne c pas comment l'utiliser.

-Faut il declarer une procedure en debut de code ?

Merci pour vos Réponse.

Publié : sam. 20/janv./2007 16:48
par bernard13
bonjour

regarde ici tu trouvera ton bonheur
http://www.purebasic.fr/french/viewtopic.php?t=185

Publié : sam. 20/janv./2007 17:00
par MetalOS
Merci pour ta reponse bernard13, mais g deja vu ces tutos mais dans l'exemple on ne dit pas comment utiliser la commande SaveFileRequester pour avoir le choix de l'endroit ou enregistrer le fichier et donc de lui donner le nom qu'on veut au moment de son enregistrement.

Publié : sam. 20/janv./2007 17:09
par bernard13
essaye ceci

Code : Tout sélectionner


Procedure Save() 
  
  
  fichier.s = SaveFileRequester("Enregistrer une liste ", "*.txt", "txt |*. text", 0) 
  
  If fichier <> "" 
    
   If LCase(GetExtensionPart(fichier)) <> ".text" 
   fichier+"*.text" 
  EndIf
    
    
    Item_Save(fichier)    
    
    
EndIf 
  
EndProcedure 

Publié : sam. 20/janv./2007 17:48
par MetalOS
Voici ce que g trouver, mais ce ne m'enregistre aucun fichier. Pourquoi ?

Code : Tout sélectionner

FichierParDefaut$ = "C:\Program Files\Test\SourceProjet.html"
       Filtre$ = "Fichier Internet (*.html)|*.html"
       Filtre = 0    ; utiliser  par défaut le premier des trois filtres possibles
       Fichier$ = SaveFileRequester("Choisissez un fichier à sauvegarder", FichierParDefaut$, Filtre$, Filtre)
        If Fichier$
           MessageRequester("Information", "Vous avez choisi d'Enregistrer :"+Chr(10)+Fichier$, 0)
        Else
           MessageRequester("Information", "L'Enregistrement a été annulé.", 0)
        EndIf
Ce code m'ouvre juste une boite de dialogue mais comment faire enregistrer le fichier maintenant.

Publié : sam. 20/janv./2007 18:47
par flaith
Le saveFileRequester ne te donne qu'un nom de fichier avec son répertoire de destination (tout sera dans fichier$)

ensuite tu n'as plus qu'a faire un createfile(#file, fichier$) par exemple, puis writestring ou writeword, ou ce que tu veux sauvegarder comme données, puis terminer par un closefile.

Publié : sam. 20/janv./2007 18:47
par Progi1984
Peut être parceque le dossier Test n'existe pas dans ProgramFiles...

Publié : sam. 20/janv./2007 19:15
par MetalOS
oui mais je ne peut pas utiliser WriteString car j'ouvre mon fichier avec ReadFile et dans la doc de PB il dise que ca ne marche pas

Publié : sam. 20/janv./2007 20:00
par flaith
Voici pour lire un fichier et mettre les données dans un gadget editor (après le OpenFileRequester):

Code : Tout sélectionner

      If ReadFile(0, fichier)
        buffer$ = Space(Lof(0))
        If ReadData(0, @buffer, Lof(0))
          SetGadgetText(#GadgetEditor, buffer$)
        EndIf
        CloseFile(0)
      Else
        MessageRequester("Erreur","Ne peut lire le fichier "+fichier+"!")
        ProcedureReturn 1
      EndIf
et pour sauver le fichier (après le SaveFileRequester):

Code : Tout sélectionner

  If Fichier
    If CreateFile(0, fichier)
      Buffer$ = GetGadgetText(#GadgetEditor)
      WriteData(0, @Buffer$, Len(Buffer$))
      CloseFile(0)
    Else
      MessageRequester("Erreur","Ne peut créer le fichier "+fichier+"!")
      ProcedureReturn 1
    EndIf
  EndIf

Publié : sam. 20/janv./2007 21:32
par MetalOS
Un grand merci à toi flaith, je v essayer tous sa et je te tiens au courant.

Publié : sam. 20/janv./2007 22:14
par flaith
De rien, si çà t'intéresse, je suis entrain de faire un éditeur (avec gestion de plusieurs onglets),
voici l'EXE
et le SRC

Amuse toi bien :D

Publié : lun. 22/janv./2007 1:12
par MetalOS
Tous marche nikel merci à vous tous.