pictogram Auteur: Patrick Biker
Date: 18 mars 2006
Maj : 21 Mars 2015

Exemples évolués

Chaque exemple montre une utilisation pratique de la fonction du WLangage.

Quand plusieurs syntaxes sont possibles, chacune est illustrée indépendamment.

Revenir à la page des exemples évolués


Le code suivant permet de récupérer la position en cours dans un fichier externe après lecture d'un bloc d'octets. Le fichier texte est ouvert en mode lecture/écriture. Le nom et le chemin du fichier texte sont sélectionnés avec la fonction fSélecteur .



// Déclaration des variables
NomCheminFichier est une chaîne
IdFichier est un entier
ResLecture est une chaîne
ResPosition est un entier
ResFermeFichier est un entier
// Sélection du nom et du chemin du fichier
NomCheminFichier = fSélecteur("", "", "Sélection d'un fichier externe",...
                "Fichier externe"+ TAB +"*.txt", "txt", fselCrée )
// Ouverture du fichier
IdFichier = fOuvre(NomCheminFichier, foLectureEcriture )
// Affichage du message d'erreur si l'ouverture n'a pas été effectuée
SI IdFichier = -1 ALORS
    Erreur(ErreurInfo( errMESSAGE ))
SINON
    // Lecture des 1000 premiers octets dans le fichier
    ResLecture = fLit(IdFichier, 1000)
    // Affichage du message d'erreur si la lecture n'a pas été effectuée
    SI ResLecture = "" ALORS
       Erreur(ErreurInfo( errMESSAGE ))
    SINON
       // Position en cours ?
       
ResPosition = fPositionne (IdFichier, 0, fpCourant )
       // Affichage de la position du pointeur
      
SI ResPosition <> -1 ALORS
          Info("La position en cours est : "+ResPosition)
       SINON
          // Affichage du message d'erreur en cas de problème sur fPositionne
     
    Erreur(ErreurInfo( errMESSAGE ))
       FIN
    FIN
    // Fermeture du fichier
   
 ResFermeFichier = fFerme(IdFichier)
    SI ResFermeFichier = -1 ALORS
       // Affichage du message d'erreur si la fermeture n'a pas été effectuée
 
      Erreur(ErreurInfo( errMESSAGE ))
    FIN
FIN


Le code suivant permet de commencer l'écriture d'une chaîne de caractères à partir de la position en cours. Le fichier texte est ouvert en mode lecture/écriture. Le nom et le chemin du fichier texte sont sélectionnés avec la fonction fSélecteur .



// Déclaration des variables
NomCheminFichier est une chaîne
IdFichier est un entier
ResPosition est un entier
TailleEcrit est un entier
ResFermeFichier est un entier
// Sélection du nom et du chemin du fichier
NomCheminFichier = fSélecteur("", "", "Sélection d'un fichier externe",...
             "Fichier externe"+ TAB +"*.txt", "txt", fselCrée )
// Ouverture du fichier
IdFichier = fOuvre(NomCheminFichier, foLectureEcriture )
// Affichage du message d'erreur si l'ouverture n'a pas été effectuée
SI IdFichier = -1 ALORS
    Erreur(ErreurInfo( errMESSAGE ))
SINON
   // Positionnement sur l'octet 150
   ResPosition = fPositionne (IdFichier, 150, fpDébut )
   SI ResPosition = -1 ALORS
      // Affichage du message d'erreur si le positionnement n'a pas été effectué
      Erreur(ErreurInfo( errMESSAGE ))
   SINON
     // Écriture de la chaîne de caractères à partir de la position en cours
     TailleEcrit = fEcrit(IdFichier, "Évolution des ventes")
     // Affichage du message d'erreur si l'écriture n'a pas été effectuée
     SI TailleEcrit = -1 ALORS Erreur(ErreurInfo( errMESSAGE ))
   FIN
   // Fermeture du fichier
   ResFermeFichier = fFerme(IdFichier)
   SI ResFermeFichier = -1 ALORS
      // Affichage du message d'erreur si la fermeture n'a pas été effectuée
      Erreur(ErreurInfo( errMESSAGE ))
   FIN
FIN


Le code suivant permet de se positionner sur l'octet N°100 d'un fichier en le parcourant depuis la fin.



// Déclaration des variables
PositionFic est un entier // Position en cours dans le fichier
NomFic est une chaîne     // Nom du fichier de test
NumFic est un entier = 0  // identifiant de manipulation du fichier de test

// Sélection du nom et du chemin du fichier
NomFic = fSélecteur("", "", "Sélection d'un fichier externe",...
           "Fichier externe"+ TAB +"*.txt", "txt", fselCrée )
// Ouverture du fichier en lecture
NumFic = fOuvre(NomFic, foLecture )
// Vérification de l'ouverture du fichier de test
SI NumFic = -1 ALORS
   // Une erreur a été détectée pendant l'ouverture du fichier
  
Erreur("Erreur d'ouverture du fichier "+...
            NomFic,ErreurInfo())
   RETOUR
SINON
   // Positionnement depuis la fin
  
PositionFic = fPositionne(NumFic,-100, fpFin )
   SI PositionFic <> -1 ALORS
      // Lecture des 20 caractères à partir de la position en cours
     
Info(fLit(NumFic,20))
   SINON
      Info(ErreurInfo())
   FIN
   // Fermeture du fichier
  
fFerme(NumFic)
FIN


Le code suivant permet de récupérer la position en cours dans un fichier externe après lecture d'un bloc d'octets. Le fichier texte est ouvert en mode lecture/écriture.



// Déclaration des variables
NomCheminFichier est une chaîne
IdFichier est un entier
ResLecture est une chaîne
ResPosition est un entier
ResFermeFichier est un entier
// Sélection du nom et du chemin du fichier
NomCheminFichier = "C:\MesRépertoires\Fichier.txt"
// Ouverture du fichier
IdFichier = fOuvre(NomCheminFichier, foLectureEcriture )
// Affichage du message d'erreur si l'ouverture n'a pas été effectuée
SI IdFichier = -1 ALORS
   Erreur(ErreurInfo( errMESSAGE ))
SINON
   // Lecture des 1000 premiers octets dans le fichier
  
ResLecture = fLit(IdFichier, 1000)
   // Affichage du message d'erreur si la lecture n'a pas été effectuée
  
SI ResLecture = "" ALORS
      Erreur(ErreurInfo( errMESSAGE ))
   SINON
      // Position en cours ?
     
ResPosition = fPositionne (IdFichier, 0, fpCourant )
     // Affichage de la position du pointeur
    
SI ResPosition <> -1 ALORS
        Info("La position en cours est : "+ResPosition)
     SINON
        // Affichage du message d'erreur en cas de problème sur fPositionne
       
Erreur(ErreurInfo( errMESSAGE ))
     FIN
   FIN
   // Fermeture du fichier
  
ResFermeFichier = fFerme(IdFichier)
   SI ResFermeFichier = -1 ALORS
      // Affichage du message d'erreur si la fermeture n'a pas été effectuée
     
Erreur(ErreurInfo( errMESSAGE ))
   FIN
FIN


Le code suivant permet de commencer l'écriture d'une chaîne de caractères à partir de la position en cours. Le fichier texte est ouvert en mode lecture/écriture.



// Déclaration des variables
NomCheminFichier est une chaîne
IdFichier est un entier
ResPosition est un entier
TailleEcrit est un entier
ResFermeFichier est un entier
// Sélection du nom et du chemin du fichier
NomCheminFichier = "C:\MesRépertoires\Fichier.txt"
// Ouverture du fichier
IdFichier = fOuvre(NomCheminFichier, foLectureEcriture )
// Affichage du message d'erreur si l'ouverture n'a pas été effectuée
SI IdFichier = -1 ALORS
   Erreur(ErreurInfo( errMESSAGE ))
SINON
   // Positionnement sur l'octet 150
  
ResPosition = fPositionne (IdFichier, 150, fpDébut )
   SI ResPosition = -1 ALORS
      // Affichage du message d'erreur si le positionnement n'a pas été effectué
     
Erreur(ErreurInfo( errMESSAGE ))
   SINON
      // Écriture de la chaîne de caractères à partir de la position en cours
     
TailleEcrit = fEcrit(IdFichier, "Évolution des ventes")
      // Affichage du message d'erreur si l'écriture n'a pas été effectuée
     
SI TailleEcrit = -1 ALORS Erreur(ErreurInfo( errMESSAGE ))
   FIN
   // Fermeture du fichier
  
ResFermeFichier = fFerme(IdFichier)
   SI ResFermeFichier = -1 ALORS
      // Affichage du message d'erreur si la fermeture n'a pas été effectuée
     
Erreur(ErreurInfo( errMESSAGE ))
   FIN
FIN