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)
  • Position dans le fichier
  • Gestion ANSI / UNICODE
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 une ligne dans un fichier externe. Les caractères nécessaires à un passage à la ligne suivante sont automatiquement insérés à la fin de la ligne ajoutée.
Etats et Requêtes
// Ouverture d'un fichier externe
IDFichier est un entier
ResEcriture est un booléen
IDFichier = fOuvre("C:\MesRépertoires\Fichier.txt", foLectureEcriture)
SI IDFichier <> -1 ALORS
// Écriture d'une ligne dans ce fichier
ResEcriture = fEcritLigne(IDFichier, "Compte-rendu de la réunion")
SI ResEcriture = Faux ALORS
...
FIN
FIN
Etats et Requêtes
// Ouverture d'un fichier externe
MonFichierTxt est un FichierDisque
ResEcriture est un booléen
SI fOuvre(MonFichierTxt, "C:\MesRépertoires\Fichier.txt", foLectureEcriture) = Vrai ALORS
// Écriture d'une ligne dans ce fichier
ResEcriture = fEcritLigne(MonFichierTxt, "Compte-rendu de la réunion")
SI ResEcriture = Faux ALORS
...
FIN
FIN
Syntaxe

Écrire une ligne dans un fichier externe Masquer les détails

<Résultat> = fEcritLigne(<Fichier manipulé> , <Ligne à écrire>)
<Résultat> : Booléen
  • Vrai si l'écriture dans le fichier spécifié a été effectuée,
  • Faux 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
<Ligne à écrire> : Chaîne de caractères
Ligne à écrire dans le fichier (2 Go maximum).
Etats et Requêtes

Écrire une ligne d'une longueur fixe dans un fichier externe (accélère l'écriture) Masquer les détails

<Résultat> = fEcritLigne(<Fichier manipulé> , <Adresse de la ligne à écrire> , <Taille à écrire>)
<Résultat> : Booléen
  • Vrai si l'écriture dans le fichier spécifié a été effectuée,
  • Faux 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 ligne à écrire> : Adresse
Adresse de la ligne à écrire dans le fichier.
<Taille à écrire> : Entier
Taille en octets (caractères) de la ligne à écrire (2 Go maximum).
Ce paramètre doit être inférieur ou égal à la taille réelle de la ligne écrite dans le fichier externe. Par exemple, si la ligne à écrire est de 100 octets, le paramètre <Taille à écrire> doit être inférieur ou égal à 100 octets.
Si ce paramètre est inférieur à la taille réelle de la ligne écrite, seul le nombre d'octets spécifié sera écrit dans le fichier texte. La ligne sera donc tronquée.
Remarques

Gestion des erreurs

La fonction fEcritLigne 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.
Attention : La fonction fEcritLigne ne peut être utilisée que sur des fichiers texte. Cette fonction ne gère pas les 0 binaires (l'écriture est arrêtée).
Etats et Requêtes

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.

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 fEcritLigne écrit les éléments spécifiés à partir de la position en cours. Après l'exécution de fEcritLigne, la position en cours correspond au dernier octet écrit.

Gestion ANSI / UNICODE

La fonction fEcritLigne permet d'écrire :
  • une chaîne de type Unicode dans un fichier Unicode.
  • une chaîne de type Ansi dans un fichier Ansi.
Le fichier a été créé ou ouvert avec les fonctions fCrée/fOuvre en précisant le type du fichier.
Remarques :
  • La taille à écrire dans un fichier Unicode doit être multipliée par deux par rapport à un fichier ANSI.
  • Si une chaîne de caractères ANSI est écrite dans un fichier UNICODE (et inversement), la conversion sera implicitement réalisée.
    Format de la chaîne passée en paramètre
    Fichier externe
    au format ANSI
    (fonction fOuvre ou fCrée avec la constante foAnsi)
    Fichier externe
    au format UNICODE
    (fonction fOuvre ou fCrée avec la constante foUnicode)
    Fonction fEcritLigneANSIAucune conversion n'est nécessaire avant l'écritureConversion automatique de la chaîne avant l'écriture
    UNICODEConversion automatique de la chaîne avant l'écritureAucune conversion n'est nécessaire avant l'écriture
Dans les projets WINDEV et WEBDEV, si l'option "Utiliser les chaînes ANSI en exécution" est cochée dans la description de la configuration de projet, le mode d'ouverture utilisé par défaut est foAnsi (1ère colonne).
Dans les projets WINDEV et WEBDEV, si l'option "Utiliser les chaîne UNICODE en exécution" est cochée dans la description de la configuration de projet, le mode d'ouverture par défaut est foUnicode (seconde colonne).
Dans les projets WINDEV Mobile, quels que soient la version et le mode, le mode d'ouverture par défaut est foUnicode (seconde colonne).
Pour plus de détails, consultez Gestion de l'UNICODE
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
Les fonctions TableVers Exemples unitaires (WINDEV) : Les fonctions TableVers
[ + ] Export des données d'une table avec les fonctions WLangage.
Dans cet exemple, nous abordons les principaux thèmes suivants :
1/ l'interfaçage avec Word et Excel
2/ l'envoi de données vers le presse-papiers
3/ la génération d'un fichier texte

Cet exemple montre comment exporter le contenu d'une table vers un document Word, un classeur Excel, le presse-papiers ou vers un fichier texte grâce aux ordres très clairs du WLangage : TableVersWord, TableVersExcel, VersPressePapier, TableVersTexte.
Classification Métier / UI : Code métier
Composante : wd300std.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