PC SOFT

DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE


  • Le blocage n'a pas été effectué
  • Blocage d'un fichier
  • Position dans le fichier
  • Fonctionnement sous Windows Vista (et supérieur)
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaEtats et RequêtesCode Utilisateur (MCU)
WEBDEV
WindowsLinuxPHPWEBDEV - Code Navigateur
WINDEV Mobile
AndroidWidget AndroidiPhone/iPadApple WatchUniversal Windows 10 AppWindows Mobile
Autres
Procédures stockées
Bloque entièrement ou partiellement un fichier externe. Le fichier sera débloqué :
  • à l'aide de la fonction fDébloque,
  • à la fermeture du fichier.
L'application ayant bloqué le fichier peut lire et écrire dans ce fichier. Par contre, les autres applications ne pourront ni lire, ni écrire dans ce fichier.
Versions 18 et supérieures
Universal Windows 10 App Cette fonction est désormais disponible en mode Windows Store apps.
Nouveauté 18
Universal Windows 10 App Cette fonction est désormais disponible en mode Windows Store apps.
Universal Windows 10 App Cette fonction est désormais disponible en mode Windows Store apps.
Versions 21 et supérieures
Universal Windows 10 App Cette fonction est désormais disponible en mode Universal Windows 10 App.
Nouveauté 21
Universal Windows 10 App Cette fonction est désormais disponible en mode Universal Windows 10 App.
Universal Windows 10 App Cette fonction est désormais disponible en mode Universal Windows 10 App.
// Ouverture d'un fichier externe
IDFichier = fOuvre("C:\MesRépertoires\Fichier.txt", foLectureEcriture)
SI IDFichier <> -1 ALORS
...
// Blocage du fichier externe
ResBloque = fBloque(IDFichier)
...
FIN
Syntaxe
<Résultat> = fBloque(<Identifiant du fichier> [, <Premier octet à bloquer> [, <Nombre d'octets à bloquer>]])
<Résultat> : Booléen
  • Vrai si le fichier a été bloqué,
  • Faux dans le cas contraire.
<Identifiant du fichier> : Entier
Identifiant du fichier à bloquer, défini avec la fonction fOuvre ou fCrée.
<Premier octet à bloquer> : Entier optionnel
Position du premier octet à bloquer (0 correspond au premier octet du fichier).
<Nombre d'octets à bloquer> : Entier optionnel ou constante optionnelle
  • Nombre d'octets à bloquer dans le fichier.
  • Constante :
    fBloqueFichierVideLa fonction fBloque a le même comportement que le fichier soit vide ou non (voir notes).
Remarques

Le blocage n'a pas été effectué

La fonction fBloque renvoie Faux si le fichier n'a pas été bloqué. Le blocage peut être effectué uniquement si :
  • le fichier externe est ouvert,
  • l'identifiant du fichier est valide,
  • le fichier ou les octets à bloquer ne sont pas déjà bloqués par un autre poste ou par une autre application.

Blocage d'un fichier

  • Le fichier est bloqué dans sa totalité si les paramètres <Premier octet à bloquer> et <Nombre d'octets à bloquer> ne sont pas précisés.
  • Le fichier est bloqué à partir du premier octet à bloquer (paramètre <Premier octet à bloquer>) jusqu'à la fin si le paramètre <Nombre d'octets à bloquer> n'est pas précisé.
  • Lors de la manipulation d'un fichier vide, la fonction fBloque ne bloque par défaut aucun octet. Dans ce cas, plusieurs applications peuvent "bloquer" avec succès un fichier vide. Mais il n'est pas possible d'écraser le fichier tant que le blocage est réalisé.
Pour avoir le même fonctionnement que le fichier soit vide ou non, il suffit d'utiliser la constante fBloqueFichierVide.
Linux Le blocage n'est effectif que entre 2 sites ou 2 contextes différents. Contrairement à Windows, un traitement ne peut pas bloquer un fichier qu'il a bloqué précédemment.

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 mode "ajout" (constante foAjout).
Cette position peut être modifiée par la fonction fPositionne.
La position en cours n'est pas modifiée par l'utilisation de la fonction fBloque.
WINDEVWEBDEV - Code ServeurEtats et RequêtesCode Utilisateur (MCU)

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èmes (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).
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)
Composante : wd240std.dll
Version minimum requise
  • Version 9
Documentation également disponible pour…
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire