PC SOFT

FOROS PROFESIONALES
WINDEVWEBDEV y WINDEV Mobile

Inicio → WINDEV 2025 → Emplacement du dossier des données
Emplacement du dossier des données
Iniciado por rastam57, 23,sep. 2010 13:48 - 12 respuestas
Publicado el 23,septiembre 2010 - 13:48
Bonjour,

Pour le moment, l'exécutable et les fichiers de données de mon application se trouvent dans le même dossier.
Est-il possible de mettre les fichiers de données dans un dossier et l'exécutable et tous les autres fichiers dans un autre ?
Je voudrais pouvoir indiquer cela uniquement dans le raccourci de l'exécutable, sans avoir à recompiler à chaque fois.

Merci par avance
Publicado el 23,septiembre 2010 - 15:50
Bonjour,

Passer par Menu Projet et onglet Fichiers

Cordialement
Publicado el 23,septiembre 2010 - 16:43
Bonjour,

Vous avez la fonction

HSubstRep()

Cdt
Albert


rastam écrit dans son message <c2a3474d177369c20a9304c1c9366fb6@news.pcsoft>:
Bonjour,

Pour le moment, l'exécutable et les fichiers de données de mon application se trouvent dans le même dossier.
Est-il possible de mettre les fichiers de données dans un dossier et l'exécutable et tous les autres fichiers dans un autre ?
Je voudrais pouvoir indiquer cela uniquement dans le raccourci de l'exécutable, sans avoir à recompiler à chaque fois.

Merci par avance
Publicado el 23,septiembre 2010 - 18:07
rastam a exprimé avec précision :
Bonjour,

Pour le moment, l'exécutable et les fichiers de données de mon application se
trouvent dans le même dossier. Est-il possible de mettre les fichiers de
données dans un dossier et l'exécutable et tous les autres fichiers dans un
autre ? Je voudrais pouvoir indiquer cela uniquement dans le raccourci de
l'exécutable, sans avoir à recompiler à chaque fois.

Merci par avance


oui voir :
lignecommande : pour récupérer le chemin des fichiers
hsubstrep : pour rélocaliser les fichiers à l'init du projet avant
l'ouverture/création de ces derniers

--
Cordialement JeAn-PhI
Publicado el 23,septiembre 2010 - 18:30
Bonjour

Merci lanoecl,

Mais cela oblige à retoucher le programme et le recompiler à chaque fois.

En fait, ce que je voudrais, c'est que, une fois que je crée l'exécutable, je puisse créer, sur plusieurs PC, un raccourci en indiquant, dans ses propriétés :

Cible : le chemin de l'exécutable
Démarrer dans : chemin des fichiers de données
en sachant que les données ne sont pas forcément au même endroit (selon les PC)

Chaque PC peut avoir son propre "chemin de l'exécutable" et son propre "chemin des fichiers de données"

NB : le répertoire des données n'est pas commun aux PC. Chacun travaille sur ses propres données, mais installés sur des chemins différents.

Est-ce possible à mettre au point ?
Merci encore



(avec les données à part dans un dossier sur un serveur, une clé USB, un disque dur Externe ou un autre répertoire, ...)


lanoecl a écrit dans le message de news <2fb5f8c0364fc19fdcb9403c7adbf8de@news.pcsoft> :
Bonjour,

Passer par Menu Projet et onglet Fichiers

Cordialement
Publicado el 23,septiembre 2010 - 19:27
Salut,

En fait, ce que je voudrais, c'est que, une fois que je crée l'exécutable, je puisse créer, sur plusieurs PC, un raccourci en indiquant, dans ses propriétés :

Cible : le chemin de l'exécutable
Démarrer dans : chemin des fichiers de données
en sachant que les données ne sont pas forcément au même endroit (selon les PC)


fRepEnCours() pourrait convenir.

Bon dev...
Erick
Publicado el 23,septiembre 2010 - 19:27
Rastam,

Regarde les réponses ci-dessus, passe en paramètre les valeurs de tes chemins ...
( Pour passer paramètres à en exécutable regarde sur ce forum ou dans l'aide, le sujet à déjà été traité )

Cordialement

Christian
Publicado el 23,septiembre 2010 - 20:00
rastam a exposé le 23/09/2010 :
Bonjour,

Pour le moment, l'exécutable et les fichiers de données de mon application se
trouvent dans le même dossier. Est-il possible de mettre les fichiers de
données dans un dossier et l'exécutable et tous les autres fichiers dans un
autre ? Je voudrais pouvoir indiquer cela uniquement dans le raccourci de
l'exécutable, sans avoir à recompiler à chaque fois.

Merci par avance


Bonjour

Pour récupérer la ligne de commande, il faut utiliser LigneCommande() à
l'ouverture du programme.

Ensuite il faut modifier le chemin d'accès au fichier de données en
utilisant HChangeRep() ou HSubstRep()

Perso j'utilise un fichier ini dans lequel se trouve les différents
dossiers et les chemins des données.
Ensuite j'utilise HChangeRep()

Bon dev
Laurent
Publicado el 24,septiembre 2010 - 00:39
Bonjour,

Un fichier ini ou xml ou fichier HyperFile dans le repertoire de l'exe, avec description dedans des chemins relatifs ou absolus, puis hSubstRep ou HChangeRep par fichier localisé.
Publicado el 24,septiembre 2010 - 12:24
Bonjour et merci à tous,

Plus simplement : comment récupérer le chemin qui est indiqué dans la zone "Démarrer dans : " d'un raccourci ?

En fait, ce sont les infos contenues dans le raccourci qui doivent déterminer où se trouve l'exécutable d'une part et les données d'autre part.
Il peut y avoir plusieurs chemins pour les fichiers de données (donc plusieurs raccourcis) sur le même PC.

Merci encore et désolé si ce n'est pas très clair

Bon dev à tous
rastam
Publicado el 24,septiembre 2010 - 13:20
1)fRepExe permettra a l'execution de connaitre le repertoire ou est situe l'executable

2)CréeRaccourci permet de creer un raccourci (y compris en indiquant le repertoire de base) - maintenant je ne sais pas s'il y a quelque chose permettant de recuperer ce repertoire de base indique dans le raccourci (en tout cas pas par LigneCommande a l'execution), ni s'il est possible de savoir quel raccourci a servi a lancer l'appli...
La reponse m'interesse aussi dans ce 2eme cas.

Gilbert
Publicado el 24,septiembre 2010 - 15:55
Dans son message précédent, rastam a écrit :
Bonjour et merci à tous,

Plus simplement : comment récupérer le chemin qui est indiqué dans la zone
"Démarrer dans : " d'un raccourci ?

En fait, ce sont les infos contenues dans le raccourci qui doivent déterminer
où se trouve l'exécutable d'une part et les données d'autre part. Il peut y
avoir plusieurs chemins pour les fichiers de données (donc plusieurs
raccourcis) sur le même PC.

Merci encore et désolé si ce n'est pas très clair

Bon dev à tous
rastam


faire comme ceci :

dans le champ cible du raccourci :

"C:\Program Files\MonProg\MonEXE.exe" -pathHF="C:\MonCheminFichierHF"
=> syntaxe à vérifier pour tenir compte des espaces dans les chemins et
entre la cible (exe) et le paramètre


dans l'init du projet :

szPathBDD est chaine

szPathBDD = LigneCommande(pathHF)

HSubstRep("?",szPathBDD)
HCréationSiInexistant("*",hOuvertureDifférée)

--
Cordialement JeAn-PhI
Publicado el 26,septiembre 2020 - 18:15
Bonjour

Cadeau
Lancer une appli extérieure depuis un programme windev en connaissant juste le nom du fichier du raccourci de l'application *.LNK.

sListeRépertoire est une chaîne
sRep est une chaîne

//Attention les chemin sont en anglais et pas en français "C:\ProgramData\Microsoft\Windows\Start Menu\Programs\"
// "C:\ProgramData\Microsoft\Windows\Menu Démarrer\Programmes\"
sListeRépertoire = fListeRépertoire("C:\ProgramData\Microsoft\Windows\Start Menu\Programs\")
sMonRépertoireRecherche est une chaîne

POUR TOUTE CHAÎNE sRep DE sListeRépertoire SEPAREE PAR RC

// Recherche du fichier "C:\MonRépertoire\MonFichier.doc"
ResRecherche est une chaîne = fRep( sRep + "\LibreOffice Writer.lnk")

SI ResRecherche = "LibreOffice Writer.lnk" ALORS
sMonRépertoireRecherche = sRep

shell est un objet Automation "WScript.Shell"
Fichier est un objet Automation dynamique
Fichier = shell>>CreateShortCut(sMonRépertoireRecherche + "\LibreOffice Writer.lnk")
//Nom du lien existant avec l'extension .lnk
CheminRecup est une chaîne = Fichier>>TargetPath

Chemin est une chaîne = (Gauche(CheminRecup,16) + Milieu(CheminRecup,23))

Chemin = """" + Chemin + """"

SI LanceAppli("""" + CheminRecup + """",exeActif,exeNonBloquant,"c:\Données") = Faux ET LanceAppli(Chemin,exeActif,exeNonBloquant,"c:\Données") = Faux ALORS
Erreur(ErreurInfo())
FIN
FIN

FIN


bon dev....