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