DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

Aide / WLangage / Fonctions WLangage / Fonctions standard / Fonctions de gestion de Windows / Fonctions diverses WINDEV
  • Lecture des valeurs persistantes
  • Divers
  • Windows Vista (et supérieur)
WINDEV
WindowsLinuxJavaEtats et RequêtesCode Utilisateur (MCU)
WEBDEV
WindowsLinuxPHPWEBDEV - Code Navigateur
WINDEV Mobile
AndroidWidget AndroidiPhone/iPadWidget IOSApple WatchMac Catalyst
Autres
Procédures stockées
Lit le contenu d'un fichier INI (ou structuré comme un fichier .INI). Il est possible d'obtenir :
  • la valeur d'un mot-clé présent dans une section spécifique,
  • la liste des mots-clés d'une section,
  • la liste des sections du fichier.
Exemple de fichier .INI
[Exemples WD]
Nom1 = Wdinstall
Nom2 = WDBench
[Description du projet WDInstall]
Libellé = Utilisez le panneau de configuration de Windows
LST = 43
Page = 12
WINDEVWEBDEV - Code ServeurEtats et RequêtesCode Utilisateur (MCU)PHPAjax
// Lecture dans la section [Exemples WD]
INILit("Exemples WD", "Nom2", "", "C:\Temp\ExemplesLST.INI")
// Choix par défaut lu dans le .INI
nProduit est un entier = Val(INILit("USER", ...
	"LastProd", "", fRepExe() + "\Port.INI"))
SI nProduit > 0 ALORS ListeSelectPlus(LISTE_Produit, nProduit)
Syntaxe
<Résultat> = INILit(<Section> [, <Mot-clé> [, <Non trouvé> [, <Fichier>]]])
<Résultat> : Chaîne de caractères
  • Texte recherché ou liste des mots-clés de la section (chaque mot-clé est séparé par RC),
  • Liste des sections du fichier (chaque section est séparée par RC).
  • Contenu du paramètre <Non trouvé> dans les cas suivants :
    • la chaîne correspondant au mot-clé est vide,
    • le mot-clé n'est pas trouvé,
    • le fichier n'est pas trouvé.
  • Chaîne vide (si <Non trouvé> n'est pas précisé ou est égal à une chaîne vide) dans les cas suivants :
    • la chaîne correspondant au mot-clé est vide,
    • le mot-clé n'est pas trouvé,
    • le fichier n'est pas trouvé.
<Section> : Chaîne de caractères
Nom de la section à lire dans le fichier INI.
Si ce paramètre ainsi que le paramètre <Mot clé> correspondent à une chaîne vide, <Résultat> contient la liste des sections présentes dans le fichier, séparées par des RC.

Remarque : Ce nom ne peut pas contenir le caractère "-".
iPhone/iPadWidget IOSMac Catalyst Ce paramètre est obligatoire.
<Mot-clé> : Chaîne de caractères optionnelle
Nom du mot-clé contenant les informations à lire.
Si ce paramètre est une chaîne vide, <Résultat> contient la liste des mots clé de la section <Section>, séparés par des RC.
iPhone/iPadWidget IOSMac Catalyst Ce paramètre est obligatoire.
<Non trouvé> : Chaîne de caractères optionnelle ou entier optionnel
Texte ou entier à renvoyer si la lecture du mot-clé demandé n'a pas été effectuée. Par défaut, ce paramètre correspond à une chaîne vide.
AndroidWidget AndroidJavaPHP Ce paramètre correspond uniquement à une chaîne de caractères.
iPhone/iPadWidget IOSMac Catalyst Ce paramètre est obligatoire.
<Fichier> : Chaîne de caractères optionnelle
Nom complet du fichier à lire (avec son extension).
  • Si ce paramètre n'est pas précisé, le fichier considéré est le fichier WIN.INI.
  • Si seul le nom du fichier est précisé, le fichier indiqué sera recherché dans le répertoire de Windows.
Java Nom complet du fichier à lire (avec son extension).
  • Si ce paramètre n'est pas précisé, le fichier utilisé sera celui portant le nom du projet et se situant dans le répertoire d'exécution de l'application.
  • Si le fichier n'existe pas, il sera créé.
  • Si seul le chemin n'est pas précisé, le fichier indiqué sera recherché dans le répertoire d'exécution de l'application.
AndroidWidget Android Nom complet du fichier à lire (avec son extension). Ce paramètre peut correspondre à un chemin complet ou relatif par rapport au répertoire en cours (connu avec la fonction fRepEnCours). Ce paramètre est sensible à la casse.
  • Si ce paramètre n'est pas précisé, le fichier utilisé sera celui portant le nom du projet et se situant dans le répertoire d'exécution de l'application (répertoire en cours). Si le fichier n'existe pas, il sera créé.
  • Si seul le chemin n'est pas précisé, le fichier indiqué sera recherché dans le répertoire d'exécution de l'application (répertoire en cours).
Rappel : Sous Android, sur l'appareil comme sur l'émulateur, le système de fichiers est en lecture seule. Une application a uniquement le droit d'écrire dans son répertoire d'installation ou dans un de ses sous-répertoires, ainsi que sur la mémoire externe (SDCard).
PHP Nom complet du fichier à lire (avec son extension). Si ce paramètre n'est pas précisé, le fichier considéré est le fichier PHP.INI. Si seul le chemin n'est pas précisé, le fichier indiqué sera recherché dans le répertoire courant.
Linux Nom complet du fichier à lire (avec son extension). Si ce paramètre n'est pas précisé, le fichier considéré est le fichier .PCS.conf (ce fichier doit se trouver dans le répertoire home de l'utilisateur). Si seul le chemin n'est pas précisé, le fichier indiqué sera recherché dans le répertoire de home de l'utilisateur.
iPhone/iPadWidget IOSMac Catalyst Ce paramètre est obligatoire. Ce paramètre peut correspondre à un chemin complet ou relatif par rapport au répertoire en cours (connu avec la fonction fRepEnCours). Ce paramètre est sensible à la casse.
Rappel : Sous les iPhone/iPad, une application a uniquement le droit d'écrire dans son répertoire d'installation ou dans un de ses sous-répertoires.
Remarques

Lecture des valeurs persistantes

Pour lire des valeurs persistances dans un fichier INI (sauvées grâce à la fonction SauveParamètre), utilisez la fonction ChargeParamètre.

Divers

  • Pour lire dans la base de registre, utilisez les fonctions spécifiques à la base de registre : RegistreLit, ...
  • Les fichiers de type INI sont limités à 64 Ko.
  • TSE : La fonction INILit utilise par défaut le répertoire Windows.
    Attention : Jusqu'en version 21, la fonction INILit utilisait par défaut le répertoire Windows de l'utilisateur.
    Rappel : En mode TSE, l'accès à un fichier '.INI' avec un nom relatif est déconseillé. Il est recommandé d'utiliser une des solutions suivantes :
  • PHP Les fonctions RegistreXXX ne sont pas disponibles.
  • PHP Si le fichier INI contient des données contenant des espaces, ces données doivent être entre guillemets. Par exemple :
    [MA SECTION]
    mesdonnees = "Mes données avec espace"
WINDEVEtats et RequêtesCode Utilisateur (MCU)

Windows Vista (et supérieur)

Les normes de programmation Windows déconseillent l'écriture :
  • dans le fichier WIN.INI,
  • dans les répertoires systèmes (répertoire de Windows, répertoire "Program Files", ...).
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 des privilèges administrateur pour effectuer ces opérations. Si l'application n'a pas les privilèges administrateur requis, le mécanisme de l'UAC entraînera la redirection des fichiers (appelée virtualisation) vers un répertoire propre à l'utilisateur qui utilise l'application (C:\Users\<LOGIN>AppData\Local\VirtualStore\Windows\). Les fichiers pourront être relus avec la fonction INILit utilisée dans la même application. Ce mécanisme de virtualisation des fichiers est proposé par Windows Vista (et supérieur) uniquement par compatibilité, et n'est pas disponible en 64 bits.
Attention : Si le fichier INI est automatiquement virtualisé par Windows Vista (et supérieur), le fichier INI ne pourra pas être partagé entre plusieurs applications (surtout si ces applications utilisent des privilèges différents).
Conseil de programmation : Pour créer un fichier INI sans avoir besoin de privilèges administrateur, il est conseillé :
  • de ne pas utiliser le fichier WIN.INI (le paramètre <Fichier> doit être précisé)
  • 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 : wd300std.dll
Version minimum requise
  • Version 9
Documentation également disponible pour…
Commentaires
Pour retrouver un fichier .ini lors d'un déploiement sous Androïde
1) Utiliser la fonction fRepDonnées()

cUrl est une chaîne = INILit("intranet", "login", "", fRepDonnées()+["/"]+"apk.ini")

2) Précisé le lieu d'installation du fichier .ini lors du paramétrage de la génération de l'application (Destination application = 'Répertoire BDD')

PS : pour le simulateur (F9), il faudra déposer le fichier .ini de base dans le répertoire 'Exe' du projet.

(WinDev Mobile 24)
Patrick MOIRE
20 sep. 2019

Dernière modification : 23/09/2024

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