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.
Le code suivant permet de bloquer et de débloquer plusieurs blocs d'octets de taille identique (50 octets) dans un fichier texte. Le fichier texte est ouvert en mode lecture/écriture. Le fichier bloqué sera accessible en lecture et en écriture uniquement par l'application qui bloque ce fichier.
|
||
// Déclaration et initialisation des variables
NomCheminFichier est une chaîne IdFichier est un entier IndiceDébut est un entier =0 // Premier octet du bloc d'octets à bloquer NbOctet est un entier ResBlocage est un booléen = Vrai ResDéblocage est un booléen = Vrai 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 // Nombre d'octets dans le fichier ? NbOctet = fPositionne(IdFichier, 0, fpFin ) // Fin du fichier ? Erreur de blocage ? Erreur de déblocage ? TANTQUE (IndiceDébut + 50) < NbOctet ET ResBlocage = Vrai ET ResDéblocage = Vrai // Blocage d'un bloc de 50 octets ResBlocage = fBloque(IdFichier, IndiceDébut, 49) // Traitements dans le bloc d'octets bloqué ... // Fin des traitements dans le bloc d'octets bloqué // Déblocage du bloc d'octets ResDéblocage = fDébloque (IdFichier, IndiceDébut, 49) IndiceDébut = IndiceDébut + 50 FIN // Affichage du message d'erreur si le blocage ou si le déblocage n'a pas été effectué SI ResBlocage = Faux OU ResDéblocage = Faux 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 bloquer et de débloquer la totalité d'un fichier texte. Le fichier est ouvert en mode lecture/écriture. Le fichier bloqué sera accessible en lecture et en écriture uniquement par l'application qui bloque ce fichier.
|
||
// Déclaration des variables
NomCheminFichier est une chaîne IdFichier est un entier ResBlocage est un booléen ResDéblocage est un booléen 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 // Blocage du fichier ResBlocage = fBloque(IdFichier) // Affichage du message d'erreur si le blocage n'a pas été effectué SI ResBlocage = Faux ALORS Erreur(ErreurInfo( errMESSAGE )) SINON // Traitements dans le fichier bloqué … // Fin des traitements dans le fichier bloqué FIN // Déblocage du fichier // Rappel : ce déblocage n'est pas obligatoire car la fermeture du fichier // débloquera automatiquement le fichier ResDéblocage = fDébloque (IdFichier) // Affichage du message d'erreur si le déblocage n'a pas été effectué SI ResDéblocage = Faux ALORS Erreur(ErreurInfo( errMESSAGE )) // 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
|