utiliser un fichier inclu dans l'exe

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
Avatar de l’utilisateur
graph100
Messages : 1318
Inscription : sam. 21/mai/2005 17:50

utiliser un fichier inclu dans l'exe

Message 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
Avatar de l’utilisateur
Droopy
Messages : 1151
Inscription : lun. 19/juil./2004 22:31

Message 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)
Avatar de l’utilisateur
Flype
Messages : 2431
Inscription : jeu. 29/janv./2004 0:26
Localisation : Nantes

Message 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. :P
Dernière modification par Flype le mer. 04/oct./2006 10:47, modifié 1 fois.
Image
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message par Backup »

je prefere la methode a Droopy :lol:
plus simple :D
Avatar de l’utilisateur
Flype
Messages : 2431
Inscription : jeu. 29/janv./2004 0:26
Localisation : Nantes

Message par Flype »

@dobro, t'es mignon mais c'est exactement la meme méthode... (???)

(mis à part que le code de droopy est PB3.94)
Image
lionel_om
Messages : 1500
Inscription : jeu. 25/mars/2004 11:23
Localisation : Sophia Antipolis (Nice)
Contact :

Message 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.
Webmestre de Basic-univers
Participez à son extension: ajouter vos programmes et partagez vos codes !
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message 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" :lol: :lol:

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é :D

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 :lol:
Avatar de l’utilisateur
Flype
Messages : 2431
Inscription : jeu. 29/janv./2004 0:26
Localisation : Nantes

Message 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...
Image
Avatar de l’utilisateur
graph100
Messages : 1318
Inscription : sam. 21/mai/2005 17:50

Message 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 :D
Avatar de l’utilisateur
Flype
Messages : 2431
Inscription : jeu. 29/janv./2004 0:26
Localisation : Nantes

Message 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...
Image
Avatar de l’utilisateur
Kwai chang caine
Messages : 6989
Inscription : sam. 23/sept./2006 18:32
Localisation : Isere

Encore plus dur

Message 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
ImageLe bonheur est une route...
Pas une destination

PureBasic Forum Officiel - Site PureBasic
Avatar de l’utilisateur
Droopy
Messages : 1151
Inscription : lun. 19/juil./2004 22:31

Message par Droopy »

Moi j'inclurais un zip ( à dézipper ensuite )
Avatar de l’utilisateur
Kwai chang caine
Messages : 6989
Inscription : sam. 23/sept./2006 18:32
Localisation : Isere

Message 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
ImageLe bonheur est une route...
Pas une destination

PureBasic Forum Officiel - Site PureBasic
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message 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" :D

comme ça pas besoin de 2 prg :D
Avatar de l’utilisateur
Flype
Messages : 2431
Inscription : jeu. 29/janv./2004 0:26
Localisation : Nantes

Message 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
Image
Répondre