DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

Aide / WLangage / Fonctions WLangage / Fonctions standard / Fonctions de gestion des fichiers externes
  • Le déblocage n'a pas été effectué
  • Dé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/iPadWidget IOSApple WatchMac CatalystUniversal Windows 10 App
Autres
Procédures stockées
Débloque entièrement ou partiellement un fichier externe. Le fichier a été préalablement bloqué par la fonction fBloque.
Attention : Le déblocage peut être effectué uniquement si la partie à débloquer correspond à la partie bloquée.
// Ouverture d'un fichier externe
IDFichier est un entier
ResDébloque est un booléen
IDFichier = fOuvre("C:\MesRépertoires\Fichier.txt", foLectureEcriture)
SI IDFichier <> -1 ALORS
// Blocage du fichier
ResBloque = fBloque(IDFichier)
...
// Déblocage du fichier externe
ResDébloque = fDébloque(IDFichier)
FIN
// Ouverture d'un fichier externe
MonFichierTxt est un FichierDisque
ResDébloque est un booléen
MonFichierTxt = fOuvre("C:\MesRépertoires\Fichier.txt", foLectureEcriture)
SI PAS ErreurDétectée ALORS
// Blocage du fichier
ResBloque = fBloque(MonFichierTxt)
...
// Déblocage du fichier externe
ResDébloque = fDébloque(MonFichierTxt)
FIN
Syntaxe
<Résultat> = fDébloque(<Fichier manipulé> [, <Premier octet à débloquer> [, <Nombre d'octets à débloquer>]])
<Résultat> : Booléen
  • Vrai si le déblocage a été effectué,
  • Faux dans le cas contraire.
<Fichier manipulé> : Entier ou variable de type FichierDisque
<Premier octet à débloquer> : Entier optionnel
Position du premier octet (caractère) à débloquer (0 correspond au premier octet du fichier).
<Nombre d'octets à débloquer> : Entier optionnel
Nombre d'octets (de caractères) à débloquer.
Remarques

Le déblocage n'a pas été effectué

La fonction fDébloque renvoie Faux si le déblocage n'a pas été effectué. Le déblocage peut être effectué uniquement si :
  • le fichier externe est ouvert.
  • l'identifiant du fichier est valide.
  • le fichier ou les octets à débloquer sont bloqués à l'identique. Par exemple, si seule une partie du fichier a été bloquée, cette même partie doit être débloquée. Si le fichier a été bloqué en totalité, il n'est pas possible de débloquer uniquement une partie du fichier.
  • le fichier ou les octets à débloquer ont été bloqués par la même application et depuis le même poste.

Déblocage d'un fichier

  • Le fichier est débloqué dans sa totalité si les paramètres <Premier octet à débloquer> et <Nombre d'octets à débloquer> ne sont pas précisés.
  • Le fichier est débloqué du premier octet à débloquer (paramètre <Premier octet à débloquer>) jusqu'à la fin si le paramètre <Nombre d'octets à débloquer> n'est pas précisé.
  • Un fichier bloqué (ou partiellement bloqué) sera automatiquement débloqué lors de sa fermeture.
Linux Cas particulier :
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 :
  • soit au premier octet du fichier (par défaut),
  • soit 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 position en cours n'est pas modifiée par l'exécution de la fonction fDébloque.
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è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).
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 : 06/09/2023

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