PC SOFT

DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE


  • Lecture des valeurs persistantes
  • Divers
  • 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
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.
Versions 15 et supérieures
Android Cette fonction est désormais disponible pour les applications Android.
Nouveauté 15
Android Cette fonction est désormais disponible pour les applications Android.
Android Cette fonction est désormais disponible pour les applications Android.
Versions 16 et supérieures
Universal Windows 10 App Cette fonction est désormais disponible pour les applications Windows Phone.
Nouveauté 16
Universal Windows 10 App Cette fonction est désormais disponible pour les applications Windows Phone.
Universal Windows 10 App Cette fonction est désormais disponible pour les applications Windows Phone.
Versions 17 et supérieures
iPhone/iPad Cette fonction est désormais disponible pour les applications iPhone/iPad.
Nouveauté 17
iPhone/iPad Cette fonction est désormais disponible pour les applications iPhone/iPad.
iPhone/iPad Cette fonction est désormais disponible pour les applications iPhone/iPad.
Versions 18 et supérieures
Widget Android Cette fonction est désormais disponible en mode Widget Android.
Universal Windows 10 App Cette fonction est désormais disponible en mode Windows Store apps.
Nouveauté 18
Widget Android Cette fonction est désormais disponible en mode Widget Android.
Universal Windows 10 App Cette fonction est désormais disponible en mode Windows Store apps.
Widget Android Cette fonction est désormais disponible en mode Widget Android.
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.
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êtesWindows MobilePHPAjaxCode Utilisateur (MCU)
// 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 (avec guillemets)
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 "-".
Versions 17 et supérieures
iPhone/iPad Ce paramètre est obligatoire.
Nouveauté 17
iPhone/iPad Ce paramètre est obligatoire.
iPhone/iPad Ce paramètre est obligatoire.
<Mot-clé> : Chaîne de caractères optionnelle (avec guillemets)
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.
Versions 17 et supérieures
iPhone/iPad Ce paramètre est obligatoire.
Nouveauté 17
iPhone/iPad Ce paramètre est obligatoire.
iPhone/iPad Ce paramètre est obligatoire.
<Non trouvé> : Chaîne de caractères optionnelle (avec guillemets)
Texte à 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.
Versions 17 et supérieures
iPhone/iPad Ce paramètre est obligatoire.
Nouveauté 17
iPhone/iPad Ce paramètre est obligatoire.
iPhone/iPad Ce paramètre est obligatoire.
<Fichier> : Chaîne de caractères optionnelle (avec guillemets)
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.
Windows Mobile Nom et chemin complet du fichier à lire (avec son extension).
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.
Versions 15 et supérieures
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).
Nouveauté 15
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).
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).
Versions 16 et supérieures
Universal Windows 10 App Windows Phone : Nom complet du fichier à lire (avec son extension). Le chemin du fichier correspond à un chemin relatif par rapport au répertoire en cours. Le répertoire en cours correspond au répertoire des données de l'application.
  • 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 des données). 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 des données).
Rappel : Sous Windows Phone, seuls les fichiers présents dans le répertoire des données associé à l'application peuvent être manipulés.
Nouveauté 16
Universal Windows 10 App Windows Phone : Nom complet du fichier à lire (avec son extension). Le chemin du fichier correspond à un chemin relatif par rapport au répertoire en cours. Le répertoire en cours correspond au répertoire des données de l'application.
  • 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 des données). 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 des données).
Rappel : Sous Windows Phone, seuls les fichiers présents dans le répertoire des données associé à l'application peuvent être manipulés.
Universal Windows 10 App Windows Phone : Nom complet du fichier à lire (avec son extension). Le chemin du fichier correspond à un chemin relatif par rapport au répertoire en cours. Le répertoire en cours correspond au répertoire des données de l'application.
  • 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 des données). 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 des données).
Rappel : Sous Windows Phone, seuls les fichiers présents dans le répertoire des données associé à l'application peuvent être manipulés.
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.
Versions 17 et supérieures
iPhone/iPad 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.
Nouveauté 17
iPhone/iPad 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.
iPhone/iPad 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 (sous Windows 98).
  • TSE : La fonction INILit utilise par défaut le répertoire Windows de l'utilisateur.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).
Composante : wd240std.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