Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Est-ce qu'un fichier est inclus dans l'application ? Dim 13 Mai 2018 - 10:24 | |
| Panoramic_Editor sait très bien intégrer certains fichiers dans un EXE, par le menu Fichiers/Application. Lors de l'exécution, en ouvrant un fichier, Panoramic regarde d'abord s'il est présent dans l'exécutable, puis dans le dossier de l'exécutable, puis suit la chaîne normale de recherche. C'est très bien - on peut embarquer des fichiers, les ouvrir et utliser dans se soucier de leur emplacement. En prime, c'est rapide. Mais j'aimerais pouvoir savoir si un fichier particulier est présent dans l'exécutable (sous forme de ressource dans RCDATA, probablement) ou non. Actuellement, il n'y a aucun moyen en Panoramic de faire cela. Je peux le faire den Delphi, via KGF.dll. Mais j'aimerais avoir une fonction du genre - Code:
-
if APPLICATION_FILE_EXISTS(F$)=1 then... qui retourne 1 si le fichier existe dans l'EXE sous forme de ressource, et 0 sinon, selon le modèle de la fonction FILE_EXISTS(F$). En Delphi (KGF.dll), je fais comme ça: - Code:
-
function IsResourcePresent(nom: pstring):integer; stdcall; export; var ResourceName: string; begin result := -1; try ResourceName := nom^; if (FindResource(hInstance, PChar(ResourceName), RT_RCDATA) <> 0) then result := 1 else result := 0; except end; end; exports IsResourcePresent; | |
|
Fredisland
Nombre de messages : 261 Date d'inscription : 30/03/2018
| Sujet: Re: Est-ce qu'un fichier est inclus dans l'application ? Lun 14 Mai 2018 - 13:10 | |
| Il me semblait que seuls les fichiers BMP JPG et TXT pouvaient etre inclus dans. l'application ? | |
|
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Est-ce qu'un fichier est inclus dans l'application ? Lun 14 Mai 2018 - 13:26 | |
| Oui. C'est pourquoi j'ai publié une solution 100 % Panoramic pour cela - regarde ici. L'idée est de créer, pour chaque fichier autre que TXT, BMP et JPG, un fichier TXT contenant un dump hexa du fichier en question. Ce dump hexa est un simple fichier texte et pourra donc être inclus automatiquement dans l'application. Et dans le fil de discussion ci-dessus, j'ai donné les sources suivants: - l'outil hexify.bas pour produire un tel fichier (extension *.TXT !) - un programme de démo contenant le code pour reconstituer les fichiers en question - un programme permettant d'analyser un fichier EXE pour récupérer la liste de tous les fichiers embarqués (si tu veux l'appliquer sur le programme en cours, sache que la ligne - Code:
-
prog$ = param_value$(0) retourne le nom et le chemin vers l'exécutable du programme en cours... | |
|
Fredisland
Nombre de messages : 261 Date d'inscription : 30/03/2018
| Sujet: Re: Est-ce qu'un fichier est inclus dans l'application ? Lun 14 Mai 2018 - 20:00 | |
| J'ai fait une expérience interessante. J'ai renommé l'extension de la dll en txt. Avec l'éditeur de PANORAMIC, la DLL est toujours reconnue. Quand je créé une application, le kgf.txt est bien intégré, mais il n'est plus reconnu comme une DLL - Code:
-
dim res% list 1 dll_on "KGF.txt" res% = dll_call1("GetActualTheme",handle(1)) | |
|
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Est-ce qu'un fichier est inclus dans l'application ? Lun 14 Mai 2018 - 22:12 | |
| Oui. Ce qui se passe, c''est que l'intégration de KGF.dll renommée en TXT s'arrète au premier caractère "non-texte", ou au plus tard au premier octet zéro binaire, ce qui arrive très vite. Le résultat est donc inexploitable. C'est pour cette raison que j'ai créé l'utilitaire hexify.bas. Il permet de "dumper" KGF.dll (ou n'importe quel fichier, d'ailleurs) en un fichier texte du même nom avec l'extension TXT. Et en indiquant tous les fichiers héxifiés dans le petit fichier index documenté dans le source du programme de démo, un programme Panoramic peut ensuite facilement extaire ces fichiers héxifiés et les reconvertir en fichier binaire d'origine. | |
|
Fredisland
Nombre de messages : 261 Date d'inscription : 30/03/2018
| Sujet: Re: Est-ce qu'un fichier est inclus dans l'application ? Mar 15 Mai 2018 - 1:53 | |
| C'est astucieux et ça ouvre de jolies perspectives intéressantes sur l'utilisation de Panoramic. | |
|
Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Mar 15 Mai 2018 - 12:04 | |
| @ Klaus,
Je suis pour cet commande/fonction. | |
|
Contenu sponsorisé
| Sujet: Re: Est-ce qu'un fichier est inclus dans l'application ? | |
| |
|