Enregistrer sous [Reglé]

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 :

Enregistrer sous [Reglé]

Message 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.
Dernière modification par MetalOS le sam. 27/janv./2007 23:41, modifié 1 fois.
bernard13
Messages : 1221
Inscription : mer. 05/janv./2005 21:30

Message par bernard13 »

bonjour

regarde ici tu trouvera ton bonheur
http://www.purebasic.fr/french/viewtopic.php?t=185
Avatar de l’utilisateur
MetalOS
Messages : 1510
Inscription : mar. 20/juin/2006 22:17
Localisation : Lorraine
Contact :

Message 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.
bernard13
Messages : 1221
Inscription : mer. 05/janv./2005 21:30

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

Message 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.
Avatar de l’utilisateur
flaith
Messages : 1487
Inscription : jeu. 07/avr./2005 1:06
Localisation : Rennes
Contact :

Message 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.
Avatar de l’utilisateur
Progi1984
Messages : 2659
Inscription : mar. 14/déc./2004 13:56
Localisation : France > Rennes
Contact :

Message par Progi1984 »

Peut être parceque le dossier Test n'existe pas dans ProgramFiles...
Avatar de l’utilisateur
MetalOS
Messages : 1510
Inscription : mar. 20/juin/2006 22:17
Localisation : Lorraine
Contact :

Message 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
Avatar de l’utilisateur
flaith
Messages : 1487
Inscription : jeu. 07/avr./2005 1:06
Localisation : Rennes
Contact :

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

Message par MetalOS »

Un grand merci à toi flaith, je v essayer tous sa et je te tiens au courant.
Avatar de l’utilisateur
flaith
Messages : 1487
Inscription : jeu. 07/avr./2005 1:06
Localisation : Rennes
Contact :

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

Message par MetalOS »

Tous marche nikel merci à vous tous.
Répondre