Comment faire pour qu'un EXE soit lisible "partout" ?

Flit - 2 mai 2001 à 17:35
 Flit - 4 mai 2001 à 21:04
Je m'explique : la plupart des progs que je fais utilise des images ou des TXT, pour les ouvrir j'indique donc au programme la place ou ils se trouvent sur mon Disque Dur... Mais le probleme c'est que si je veut essayer ce prog chez quelqu'un d'autres il faudra que je garde exactement la meme arborescence de fichier... Et c'est pas toujours possible (ou sinon ca fait chier :). Est-il possible d'integrer tous les fichiers "Annexe" dans l'EXE ??? Si oui comment faire ou sinon merci de m'expliquer comment resoudre mon "Probleme"...

8 réponses

le problème n'est pas la lisibilité de ton application mais le fait que tu "HardCode" le chemin d'accès à cet applic. Il faut pour éviter cela utiliser l'objet "App". cet objet contient une propriété appelée "Path" et renvoi le chemin d'accès de ton application quelque soit l'endroit d'où elle a été lancée.
Exemple : (lancement de l'application à partir de c:\windows
dim strPath as String
strPath = App.Path
MsgBox strPath
Cet exemple affichera le chemin lancement de ton application
=> C:\windows
0
Euh j'ai pas tout tout pigé... Si par exemple mon appli est située dans le dossier C:\Program Files\Mon Appli\ avec deux sous dossiers C:\Program Files\Mon Appli\Images et C:\Program Files\Mon Appli\Textes par exemple faudrait que je fasse quoi concretement ???
0
Tout simple, comme t'as dit ton collège (et ce que je vais essayé de dire maintenant), la propriété App.Path renvoit le chemin d'accès d'ou a été lancé ton fichier exe.
Re-exemple : lancement de ton fichier C:\Program Files\Mon Appli\myapp.exe
Si tu as tout compris (et ca doit etre le cas), le App.Path vaut C:\Program Files\Mon Appli
Donc, pour tes images, tu utiliseras le chemin d'accès :
App.Path & "\images\monImageRienKaMoi.gif"
De meme, nous aurons donc un petit :
App.Path & "\textes\monTexteRienKaMoi.txt"
Voilou, A+

Julien (s_a_)
0
Okay là j'ai pigé... Mais maintenant on complique les chose (hé hé désolé mais je fais pas expres) : Si le "lien" vers une image est inclue dans un TXT, comment faire ????
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
App.Path te donne le chemin d'accès à l'applic (ici : C:\Program Files\Mon Appli). Par contre, pour les sous-répertoires, il n'y a pas de secret... tu dois "Hardcoder" ceux-ci et donc quelque soit le répertoire de départ, la structure doit être la même :
App.Path & "\Images"
et App.Path & "\Textes"
Je m'explique... le chemin de départ est C:\Program Files\Mon Appli donc les autres répertoires doivent être sous C:\Program Files\Mon Appli\Images et C:\Program Files\Mon Appli\Textes
Si tu modifie le chemin de départ C:\Program Files\Ici les autres répertoires doivent être C:\Program Files\Ici\Images et C:\Program Files\Ici\textes
Si cette structure ne te conviens pas il reste la possibilité d'utiliser un fichier de type INI pour indiquer le chemin d'accès aux autres répertoires
exemple :
[Path]
Images=C:\Program Files\Ici\Images
Textes=C:\Program Files\Ici\Textes
Attention que la difficulté reste la même pour ce fichier INI... Il doit être dans le même répertoire que dans ton code. Le plus simple est de le mettre avec ton application et d'utiliser App.Path & "\Fichier.Ini"

J'espère avoir été plus clair ;-)

A+
0
Désolé s_a_ je ne cherche pas à faire de l'ombre mais je crois que nos réponses se croisent... ;-)

Pour cette question ci :

1) Ouvrir le fichier texte
2) Lire l'information
3) Utiliser cette information

Maintenant, si l'info est éronnée.. là... je sèche ;-)

A+
0
a ce moment la, soit tu veux la jouer hard, et dans ce cas (ca peut etre + interessant) tu programmes TA fonction qui lis le fichier, récupère la valeur (avec des lignes du style monTexte = win.txt) et la renvoie, soit, (et ca peut aussi etre interessant), tu utilise un API de Windows GetPrivateProfileString (il doit y avoir un exemple dans le coin) qui va tout seul te renvoyer la valeur. Apres, tu imagines la suite ...
Bon, d'ac, j'imagine avec toi :

App.Path & "\textes" & GetPrivateProfileString("j'ai pu les args en tete", "monTexte") & ".txt"
ATTENTION : le ".txt" a la fin n'est mis la que s'il n'est pasprésent dans le fichier texte

A+, et heureux de t'aider !

Julien (s_a_)
0
Merci d'avoir repondu j'ai reussi a integrer ca dans mes programmmes (grace a App.path). Merci encore!!!!!!!!
0
Rejoignez-nous