DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

Aide / WLangage / Fonctions WLangage / Fonctions standard / Fonctions de gestion des fichiers externes
  • Gestion des erreurs
  • Fonctionnement sous Windows Vista (et supérieur)
  • Retour chariot à la fin d'une ligne
  • Position dans le fichier
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaEtats et RequêtesCode Utilisateur (MCU)
WEBDEV
WindowsLinuxPHPWEBDEV - Code Navigateur
WINDEV Mobile
AndroidWidget AndroidiPhone/iPadWidget IOSApple WatchMac CatalystUniversal Windows 10 App
Autres
Procédures stockées
Écrit un bloc d'octets dans un fichier externe.
Attention : Les éléments ajoutés ne sont pas insérés dans le fichier externe mais écrasent les éléments existants.
WEBDEV - Code ServeurPHPAjax
// Ouverture d'un fichier externe
IDFichier est un entier
ResEcriture est un entier
IDFichier = fOuvre("C:\MesRépertoires\Fichier.txt", foLectureEcriture)
SI IDFichier <> -1 ALORS
// Ã‰criture dans ce fichier
ResEcriture = fEcrit(IDFichier, "Compte-rendu de la réunion")
SI ResEcriture <> -1 ALORS
// ...
FIN
FIN
WEBDEV - Code ServeurAjax
// Ouverture d'un fichier externe
MonFichierTxt est un FichierDisque
ResEcriture est un entier
SI fOuvre(MonFichierTxt, "C:\MesRépertoires\Fichier.txt", foLectureEcriture) = Vrai ALORS
// Ã‰criture dans ce fichier
ResEcriture = fEcrit(MonFichierTxt, "Compte-rendu de la réunion")
SI ResEcriture <> -1 ALORS
// ...
FIN
FIN
Syntaxe

Écrire un bloc d'octets dans un fichier externe Masquer les détails

<Résultat> = fEcrit(<Fichier manipulé> , <Bloc à écrire> [, <Taille à écrire>])
<Résultat> : Entier
  • Nombre d'octets écrits dans le fichier.
  • -1 en cas d'erreur. Pour connaître le libellé de l'erreur, utilisez la fonction ErreurInfo avec la constante errMessage.
<Fichier manipulé> : Entier ou variable de type FichierDisque
PHP Ce paramètre doit être de type variant.
<Bloc à écrire> : Chaîne de caractères
Bloc d'octets à écrire dans le fichier (2 Go maximum).
Le format du bloc d'octets est respecté. Aucune conversion n'est effectuée.
<Taille à écrire> : Entier optionnel
Taille en octets de la chaîne à écrire.
WEBDEV - Code ServeurAjax

Écrire une portion de mémoire dans un fichier externe (vitesse accélérée) Masquer les détails

<Résultat> = fEcrit(<Fichier manipulé> , <Adresse de la portion de mémoire> , <Taille à écrire>)
<Résultat> : Entier
  • Nombre d'octets (de caractères) écrit dans le fichier,
  • -1 en cas d'erreur. Pour connaître le libellé de l'erreur, utilisez la fonction ErreurInfo avec la constante errMessage.
<Fichier manipulé> : Entier ou variable de type FichierDisque
<Adresse de la portion de mémoire> : Adresse
Adresse de la portion de mémoire à écrire dans le fichier.
<Taille à écrire> : Entier
Taille en octets à écrire dans le fichier externe (2 Go maximum).
Ce paramètre doit être inférieur ou égal à la taille réelle de l'élément écrit dans le fichier externe. Par exemple, si l'élément à écrire est de 100 octets, <Taille à écrire> doit être inférieur ou égal à 100 octets.
Si ce paramètre est inférieur à la taille réelle de l'élément écrit, seul le nombre d'octets spécifié sera écrit dans le fichier externe.
Remarques

Gestion des erreurs

La fonction fEcrit génère une erreur dans les cas suivants :
  • le fichier n'est pas ouvert,
  • le fichier n'est pas accessible en écriture,
  • le fichier est bloqué par un autre poste ou par une autre application,
  • il n'y a pas d'espace disponible sur le disque.
WEBDEV - Code Serveur

Fonctionnement sous Windows Vista (et supérieur)

Si cette fonction ne fonctionne pas correctement sous Windows Vista (et supérieur), il est nécessaire de vérifier si le fichier ou le répertoire manipulé ne se trouve pas dans un des répertoires système (répertoire de Windows ou répertoire "Program Files").
En effet, sous Windows Vista (et supérieur), avec le mécanisme de l'UAC (contrôle des comptes utilisateurs) activé, il est nécessaire d'avoir les privilèges administrateur pour manipuler / modifier des fichiers ou des répertoires présents dans les répertoires système (répertoire de Windows ou répertoire "Program Files").
Conseil de programmation : Si vous devez manipuler / modifier des fichiers ou des répertoires, sans avoir besoin de privilèges administrateur, il est conseillé :
  • de ne pas écrire dans le répertoire de Windows ou dans le répertoire "Program Files",
  • d'utiliser le répertoire système correspondant à l'application (connu par la fonction SysRep par exemple avec la constante srAppDataCommun).
Remarque : Sous Windows Vista (et supérieur), le mécanisme de la virtualisation permet de rendre les applications compatible Vista. Si le fichier est créé dans un répertoire système sans avoir les droits nécessaires, ce fichier sera réellement créé dans un autre répertoire (C:\Users\<LOGIN>AppData\Local\VirtualStore\Windows\). Dans ce cas, le fichier ne pourra pas être partagé entre plusieurs applications.

Retour chariot à la fin d'une ligne

La fonction fEcritLigne permet d'insérer automatiquement un retour chariot (RC) à la fin de la ligne ajoutée. Pour insérer un retour chariot (RC) avec fEcrit, il suffit d'utiliser la constante RC.
Par exemple :
ResEcriture = fEcrit(IDFichier, "Compte-rendu" + RC + "Ventes de mars 2021")

Position dans le fichier

A l'ouverture d'un fichier, la position en cours correspond :
  • au premier octet du fichier (par défaut),
  • au dernier octet du fichier si le fichier est ouvert en "ajout" (constante foAjout).
Cette position peut être modifiée par la fonction fPositionne.
La fonction fEcrit écrit les éléments spécifiés à partir de la position en cours. Après l'exécution de fEcrit, la position en cours correspond au dernier octet écrit.
Remarque : Pour lire toujours le début de la zone, il faut donc faire appel à la fonction fPositionne puis à la fonction fLit.
Liste des exemples associés :
Manipulation de fichiers texte Exemples unitaires (WINDEV) : Manipulation de fichiers texte
[ + ] Manipulation des fichiers "texte" avec WINDEV :
- Créer un fichier texte
- Ecrire dans un fichier texte
- Lire dans un fichier texte
Manipulation de fichiers texte Exemples unitaires (WEBDEV) : Manipulation de fichiers texte
[ + ] Manipulation des fichiers "non HFSQL" avec WEBDEV (création d'un fichier texte, écriture et lecture)
Manipulation de fichiers texte Exemples unitaires (WINDEV Mobile) : Manipulation de fichiers texte
[ + ] Manipulation des fichiers externes de type "texte" :
- Créer un fichier texte
- Ecrire dans un fichier texte
- Lire dans un fichier texte
Classification Métier / UI : Code métier
Composante : wd290std.dll
Version minimum requise
  • Version 9
Documentation également disponible pour…
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire

Dernière modification : 21/11/2023

Signaler une erreur ou faire une suggestion | Aide en ligne locale