Page 1 sur 2
utiliser un fichier inclu dans l'exe
Publié : mar. 03/oct./2006 19:15
par graph100
c'est possibled'utiliser un fichier inclu dans l'exe avec includebinary et ensuite de le copier sur a l'endroit qu'on veut ?
comme un setup en un seul fichier
Publié : mar. 03/oct./2006 20:05
par Droopy
Code : Tout sélectionner
DataSection
StartFile1:
IncludeBinary "C:\windows\regedit.exe"
EndFile1:
EndDataSection
Size=?EndFile1-?StartFile1
CreateFile(0,"c:\regedit.exe")
WriteData(?StartFile1,Size)
CloseFile(0)
Publié : mar. 03/oct./2006 20:09
par Flype
oui facilement.
Code : Tout sélectionner
Procedure.l BinToFile(FileName.s, *BinStart, *BinEnd)
Protected id.l = CreateFile(#PB_Any, FileName)
If id
WriteData(id, *BinStart, *BinEnd - *BinStart)
CloseFile(id)
EndIf
EndProcedure
BinToFile("c:\bin1.exe", ?BIN_START1, ?BIN_END1)
BinToFile("c:\bin2.exe", ?BIN_START2, ?BIN_END2)
DataSection
BIN_START1: IncludeBinary "TEST1.EXE" : BIN_END1:
BIN_START2: IncludeBinary "TEST2.EXE" : BIN_END2:
EndDataSection
[EDIT]
trop tard.

Publié : mar. 03/oct./2006 22:09
par Backup
je prefere la methode a Droopy

plus simple

Publié : mer. 04/oct./2006 6:55
par Flype
@dobro, t'es mignon mais c'est exactement la meme méthode... (???)
(mis à part que le code de droopy est PB3.94)
Publié : mer. 04/oct./2006 9:41
par lionel_om
Flype a écrit :@dobro, t'es mignon mais c'est exactement la meme méthode... (???)
(mis à part que le code de droopy est PB3.94)
Oui et que Flype utilise #PB_Any au lieu d'une constante (ce que je préfère...) c'est plus sûr.
Publié : mer. 04/oct./2006 10:22
par Backup
passer par une procedure, en utilisant des pointeurs , tu trouva ça plus simple ?
il y a longtemps, que tu ne t'es pas retrouvé "Debutant"
ps : Note que je n'ai pas dit que le code de Flype, etait hors sujet, juste qu'il n'etait pas "simple" a comprendre, car il fait appel a des concepts plus compliqués a comprendre, j'ai souvent remarqué que les reponses en section debutant etaient remplis de ce genre de choses, apres tout
pourquoi faire simple quand on peut faire compliqué
les gars comme Flype qui ont un haut niveau de competence, ont du mal a se mettre au niveau d'un "débutant", ce qui est simple pour Flype, ne l'es pas pour Bernard13

Publié : mer. 04/oct./2006 14:21
par Flype
@dobro
Dans les 2 cas (droopy et moi) il s'agit juste d'un exemple. D'une piste de départ. Après chacun fait ce qu'il veut du code (amélioration, extension, réduction, optimisation, encapsulation, poubelle, ...).
par ailleurs dans les 2 cas (encore) ben oui on manipule des pointeurs, désolé mais il n'y a pas d'autre solution à moins de se faire des macros de ouf et comme çà le code sera encore plus indigeste.
enfin bon l'important c'est que `graph100` est sa réponse et qu'il la comprenne et que s'il ne la comprends pas - qu'il pose la question ici - preuve que ya du monde pour répondre...
Publié : mer. 04/oct./2006 14:57
par graph100
oula !
doucement !
j'ai parfaitement compris les deux exemples : je ne connaissait pas writedata, mais c'est tres bien d'avoir plusieurs exemple de la meme chose
en fait je m'été focaliser sur le fait qu'il n'existe pas de commande catchfile(numero.l, adresse.l)
genre catchimage
tient justement comment Catchimage() trouve la fin de l'image ?
encore merci pour vos reponses

Publié : mer. 04/oct./2006 17:03
par Flype
graph100 a écrit :tient justement comment Catchimage() trouve la fin de l'image ?
en fait catchimage() trouve la fin de l'image car la fonction analyse le 'header' (entete) du fichier en fonction de son format (bmp, jpg, ...).
d'ailleurs si l'image est corrompue la fonction plante...
Encore plus dur
Publié : jeu. 05/oct./2006 5:19
par Kwai chang caine
Bonjour à tous
Et si l'on voudrait inclure un répertoire entier et tous ses sous répertoires qu'il soit vides ou plein ?????
Utiliseriez vous les mêmes codes ?????
Bonne journée
Publié : jeu. 05/oct./2006 8:41
par Droopy
Moi j'inclurais un zip ( à dézipper ensuite )
Publié : jeu. 05/oct./2006 8:45
par Kwai chang caine
Bonjour droopy
C'est une bonne idée, mais c'est vrai que pour creer un SETUP, ça fait pas trop pro......
En plus ça nécéssite deux appli.
Bonne journée
Publié : jeu. 05/oct./2006 9:09
par Backup
il existe une lib qui sait Deziper , il me semble
dans ce cas , tu "Désinclue" et une autre partie de ton prg , Dezipe les fichier obtenu apres "désincluage"
comme ça pas besoin de 2 prg

Publié : jeu. 05/oct./2006 9:32
par Flype
Comme le dit dobro, à mon avis dans ce cas le mieux est encore d'utiliser une lib pour faire des packs.
Il me semble que la meilleure est celle ci - mais celle présentée par Dobro peut aussi suffir :
DBin disponible dans le package PBOSL.
http://ts-soft.eu/dl/dbin_packer.zip
http://pbosl.purearea.net/index.php?site=Libs