IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

WinDev Discussion :

Comment effacer ou modifier le contenu d'un fichier externe [WD20]


Sujet :

WinDev

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Homme Profil pro
    Inscrit en
    Juin 2010
    Messages
    1 372
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 1 372
    Par défaut Comment effacer ou modifier le contenu d'un fichier externe
    Bonjour,

    Je souhaite pouvoir gérer un fichier externe pour stocker les paramètres d'une application.
    J'ai donc utilisé les fonctions qui me permette de créer et d'écrire des données dans un fichier externe.

    Mais je ne trouve aucune fonction pour modifier le contenu du fichier.
    Imaginons qu'un seul paramètre est changé, comment effacer le texte précisant l'ancienne valeur avant d'écrire la nouvelle ?

    Je vois des fonctions pour créer ou supprimer les fichiers, des fonctions pour lire, écrire ou se déplacer, mais rien pour supprimer
    Et quand j’écris, il ne remplace pas, il insère.

    Merci de votre aide

  2. #2
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Juin 2004
    Messages
    254
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 254
    Par défaut
    Bonjour,
    J'utilise également de fichiers externes depuis longtemps et je suis confronté aux mêmes problèmes / Bonne idée de poser la question sur le forum.
    Je suis l'écoute...

  3. #3
    Membre Expert
    Homme Profil pro
    Inscrit en
    Octobre 2007
    Messages
    1 075
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2007
    Messages : 1 075
    Par défaut
    Bonsoir,

    Il faudrait peut-être préciser quelles fonctions vous utilisez : fOuvre, fLit, fEcrit vraisemblablement plutôt que fChargeTexte-Buffer, fSauve, vu le problème que vous soulevez.

    Il est conseillé de réserver fLit, fEcrit au contenu de type binaire et fCharge / fSauve au contenu de type texte.

    S'il faut supprimer une partie du fichier, utiliser fCharge..., traiter la chaîne ou le buffer qui représente en fait le contenu de tout le fichier et resauver.
    fSauveBuffer/Texte supprime et recrée le fichier s'il existait déjà.

    Avec fOuvre, voir les constantes foAjout et foCréation
    Avec fLit/fLitLigne et fEcrit/..., ne pas oublier que le pointeur est positionné sur le dernier octet lu ou écrit (probablement l'origine de votre problème d'ajout systématique)
    Enfin, fPositionne permet de connaître et gérer la position du pointeur
    De mémoire, on peut aussi gérer la taille du fichier et le tronquer / l'agrandir.


    Bien lire la doc qui est assez claire dans l'ensemble.

    Hemgé

  4. #4
    Rédacteur/Modérateur

    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Décembre 2013
    Messages
    4 229
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Conseil

    Informations forums :
    Inscription : Décembre 2013
    Messages : 4 229
    Par défaut
    Bonsoir,

    Classiquement, les 2 fonctions à utiliser pour stocker les paramètres d'une application sont IniLit et IniEcrit.
    Elles sont très pratiques.

    Les fonctions fxxxx sont plutôt utilisées pour écrire des "gros" fichiers.

  5. #5
    Membre émérite
    Inscrit en
    Avril 2008
    Messages
    1 132
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 1 132
    Par défaut
    Salut Lolo,

    Pour ce cas de figure, je recrée toujours le fichier en récupérant au préalable la valeur avant.

    En cas de modif, des remplace() au préalable puis je sauvegarde à nouveau sous le même nom.

    Bon DEV

  6. #6
    Expert confirmé
    Avatar de jurassic pork
    Homme Profil pro
    Bidouilleur
    Inscrit en
    Décembre 2008
    Messages
    4 244
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Bidouilleur
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2008
    Messages : 4 244
    Par défaut
    hello,
    tbc92 a raison, il y a deux fonctions IniLit et IniEcrit qui permettent de travailler avec des fichiers de paramètres (.ini) et qui gèrent automatiquement la structure du fichier. Sinon on peut aussi utiliser la base de registre.

    Ami calmant, J.P

  7. #7
    Expert confirmé
    Avatar de frenchsting
    Homme Profil pro
    multitâches-multifonctions
    Inscrit en
    Juin 2003
    Messages
    5 567
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : multitâches-multifonctions
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 567
    Par défaut
    Je plussoie JP. Je ne vois pas l'intérêt de s'enquiquiner à utiliser des fonctions "f" pour un fichier de paramètres. Les fonctions flit / fecrit sont prévues pour faire de la lecture / écriture séquentielle(s). Ce n'est pas du tout prévu pour faire des recherches de valeurs. Les fonctions Inilit et Iniécrit sont topissimes pour cela.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 06/10/2009, 13h13
  2. modifier le contenu d'un fichier
    Par progamer54 dans le forum ANT
    Réponses: 1
    Dernier message: 06/12/2007, 11h31
  3. comment je pourrais modifier un attribut dans un fichier xml
    Par ryoussef19 dans le forum Visual C++
    Réponses: 6
    Dernier message: 24/08/2007, 14h16
  4. Modifier le contenu d'un fichier
    Par Core8 dans le forum Entrée/Sortie
    Réponses: 4
    Dernier message: 30/01/2007, 15h21
  5. Réponses: 4
    Dernier message: 28/03/2006, 23h05

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo