DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

Aide / WLangage / Fonctions WLangage / Fonctions standard / Fonctions de gestion des fichiers externes
  • Assistant de génération
  • Cas particulier : Extraction d'une base de données
  • Cas particulier : fichier ".WDD" (description de l'analyse)
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
Extrait une ressource de l'application dans un emplacement physique de l'appareil.
Remarques :
  • Universal Windows 10 AppAndroidWidget AndroidiPhone/iPadWidget IOSMac Catalyst La ressource à extraire doit avoir été incluse dans l'application générée via l'assistant de génération (voir Remarques).
  • WindowsLinux Dans les applications WINDEV ou dans les sites WEBDEV, la ressource à extraire doit être présente à la fois :
    • dans la catégorie "Autres" du volet Explorateur de projet,
    • dans la bibliothèque principale de l'application (fichier WDL).
  • AndroidWidget Android Cette fonction est utilisable dans le simulateur Android.
Attention : Pour empêcher le piratage des sources, les éléments WINDEV, WEBDEV et WINDEV Mobile (états, fenêtre, etc.) ne peuvent pas être extraits en exécution.
Exemple
Android
// Lit le contenu du fichier texte readme.txt inclus dans les ressources de l'application
SI fExtraitRessource("readme.txt", "/sdcard/extraction.txt") = Vrai ALORS
SAI_Texte = fChargeTexte("/sdcard/extraction.txt") 
FIN
Android
// Permet de localiser précisément ses données HFSQL sur le Smartphone Android
sCheminDonnées est une chaîne = SysRepCarteStockage() + fSep() + "Test clients"  + fSep()
SI PAS fRépertoireExiste(sCheminDonnées) ALORS fRepCrée(sCheminDonnées)
 
fExtraitRessource("Produit.fic", sCheminDonnées + "Produit.fic")
fExtraitRessource("Produit.ndx", sCheminDonnées + "Produit.ndx")
fExtraitRessource("Produit.mmo", sCheminDonnées + "Produit.mmo")
 
SI PAS HChangeRep(Produit, sCheminDonnées) ALORS
Erreur(HErreurInfo())
FIN
Android
// Extrait toutes les images au format PNG
fExtraitRessource("*.png", ComplèteRep(SysRepCarteStockage()) + "images")
Syntaxe
<Résultat> = fExtraitRessource(<Nom de la ressource> [, <Destination>])
<Résultat> : Booléen
  • Vrai si la ressource a été extraite,
  • Faux dans le cas contraire. En cas d'erreur, la variable ErreurDétectée est à Vrai. Pour plus de détails sur l'erreur, utilisez la fonction ErreurInfo.
<Nom de la ressource> : Chaîne de caractères
Nom de la ressource à extraire (nom du fichier avec son extension).
AndroidWidget AndroidiPhone/iPadWidget IOSMac Catalyst Les caractères joker (* et ?) sont autorisés. Il est ainsi possible d'extraire plusieurs ressources en un seul appel. Dans ce cas, le paramètre <Destination> doit correspondre à un répertoire (existant ou non).
WindowsLinux La ressource à extraire doit être présente dans la bibliothèque principale de l'application (fichier WDL). La bibliothèque ne soit pas avoir été chargée avec la fonction ChargeWDL.
<Destination> : Chaîne de caractères optionnelle
AndroidWidget Android Chemin (complet ou relatif) du fichier de destination. Ce chemin peut être relatif au répertoire en cours (connu avec la fonction fRepEnCours). Ce paramètre est sensible à la casse.
Si le répertoire existe, la ressource est directement extraite dans ce répertoire.
Si le répertoire n'existe pas, il est créé.
Si ce paramètre n'est pas spécifié ou vaut chaîne vide (""), la ressource sera extraite dans le répertoire courant de l'application dans un fichier portant le même nom que la ressource.
Si le fichier destination existe déjà avant l'extraction, il sera écrasé.
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).
iPhone/iPadWidget IOSMac Catalyst Chemin complet du fichier destination. Ce paramètre est sensible à la casse.
Si le répertoire existe, la ressource est directement extraite dans ce répertoire.
Si le répertoire n'existe pas, il est créé.
Si ce paramètre n'est pas spécifié ou vaut chaîne vide (""), la ressource sera extraite dans le répertoire "Documents" de l'application dans un fichier portant le même nom que la ressource.
Si le fichier destination existe déjà avant l'extraction, il sera écrasé.
WindowsLinux Chemin complet du fichier de destination.
Si le répertoire existe, la ressource est directement extraite dans ce répertoire.
Si le répertoire n'existe pas, il est créé.
Si ce paramètre n'est pas spécifié ou vaut chaîne vide (""), la ressource sera extraite dans le répertoire des données de l'application (connu avec la fonction fRepDonnées) dans un fichier portant le même nom que la ressource.
Si le fichier destination existe déjà avant l'extraction, il sera écrasé.
Remarques
Universal Windows 10 AppAndroidWidget AndroidiPhone/iPadWidget IOSMac Catalyst

Assistant de génération

L'assistant de génération d'applications Android, Universal Windows 10 app ou iPhone/iPad permet d'indiquer si des fichiers et des librairies doivent être intégrés à l'application.
Dans une application Android, il est par exemple possible d'intégrer :
  • des ressources spécifiques.
  • des archives Java spécifiques.
Ces fichiers pourront ensuite :
  • soit être utilisés directement (fichiers à lire par exemple : fichiers son, image, ...).
  • soit être extraits grâce à la fonction fExtraitRessource (fichiers à modifier par l'application par exemple).
Si une image est intégrée à l'application, elle pourra être affectée directement à un champ en indiquant uniquement son nom. Par exemple :
IMG_Image = image1
AndroidWidget AndroidiPhone/iPadWidget IOSMac Catalyst Il est possible de lister les fichiers intégrés dans l'application grâce à la fonction fListeRessource.
Pour plus de détails sur l'assistant de génération des applications, consultez :
AndroidWidget Android

Cas particulier : Extraction d'une base de données

Si le fichier à extraire est une base de données SQLite, pour l'extraire dans le répertoire des données de l'application (répertoire "databases"), utilisez la fonction fRepDonnées.

Exemple :
fExtraitRessource(<Nom de la base>.db, ComplèteRep(fRepDonnées()) + <Nom de la base>.db)
Pour se connecter à cette base de données, il suffit de spécifier <Nom de la base>.db comme source de la connexion SQLite. Pour plus de détails, consultez Application Android : Utilisation d'une base de données.

Cas particulier : fichier ".WDD" (description de l'analyse)

La description de l'analyse (fichier ".WDD") intégrée à la bibliothèque d'une application ne peut pas être extraite.
Pour extraire un fichier d'une bibliothèque qui ne peut pas être extrait par la fonction fExtraitRessource, il est possible d'utiliser un fichier de données HFSQL intégré à la bibliothèque.
Pour plus de détails sur cette technique, consultez le billet suivant du blog du Support Technique : Comment extraire un fichier d'un exécutable WINDEV ?.
Composante : wd290vm.dll
Version minimum requise
  • Version 16
Documentation également disponible pour…
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire

Dernière modification : 24/10/2022

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