PC SOFT

GRUPOS DE DISCUSSÃO PROFISSIONAL
WINDEVWEBDEV e WINDEV Mobile

Inicio → WINDEV (versões anteriores) → changement de répertoire des données
changement de répertoire des données
Iniciado por Chernet Marc, ago., 18 2017 3:28 PM - Sem resposta
Publicado em agosto, 18 2017 - 3:28 PM
les fichiers de mon application sont dans le répertoire par défaut suivant :

C:\Users\mcher\Dropbox\Cyberex\Base de données cyberex

mcher est mon nom d'user

comme l'application doit être utilisée sur Dropbox, je dois spécifier un chemin de fichier qui intègre le nom de l'utilisateur.

a cette fin, j'utilise le code suivant :

//récupération du nom utilisateur
//nécessité d'extraire une partie seulement de a chaîne parce que le retour est "USERNAME=mcher"
Nom_user est une chaîne= SysEnvironnement("USERNAME")
taille est un entier=taille(Nom_user)
Nom_user=Milieu(Nom_user,10,taille)

ensuite, je tente de changer le répertoire d'accès courant par ce code :

//changement de répertoire d'accès aux données
résultat est un booléen=HSubstRep("C:\Users\mcher\Dropbox\Cyberex\Base de données cyberex","C:\Users\"+Nom_user+"\Dropbox\Cyberex\Base de données cyberex")
// code dans lequel le nom d'user courant est substitué au mien

// je teste ensuite le résultat
SI HOuvre("*")=Vrai ALORS
Info("les fichiers ont été ouverts")
SINON
Info("les fichiers n'ont pas été ouverts")
FIN

au lancement des sources cela fonctionne; j'obtiens bien "les fichiers ont été ouverts",

ça se dégrade ensuite, car les deux messages suivants sont faux !

Info("le chemin des données utilisateur est "+fRepDonnéesUtilisateur())
Ce message me donne "C:\users\mcher

Info("le chemin des données est "+fRepDonnées())\appdate\roamins etc.... !
et le deuxième :
C:\6 Projets Windev\Application cyberex\ .... qui est l'ancien chemin d'accès aux données !

ça fonctionne sur les sources, je vais tenter une install, mais j'aime bien comprendre !

la distinction entre Hcn=hangerep et hsubctituerep n'est pas très claire !

je précise que ce code est dans l'initialisation de l'application.