cs_Sharkiller
Messages postés80Date d'inscriptiondimanche 12 octobre 2003StatutMembreDernière intervention25 avril 2011
-
31 janv. 2006 à 15:32
cs_Sharkiller
Messages postés80Date d'inscriptiondimanche 12 octobre 2003StatutMembreDernière intervention25 avril 2011
-
31 janv. 2006 à 21:27
Bonjour,
Je souhaite savoir s'il est possible d'assigner le contenu d'un fichier (par exemple un exécutable) à une chaîne (pour copier le fichier en quelque sorte)...
D'après moi, le début ressemblerait à cela:
Dim n As Integer
Dim temp,chaine as String
Open filename For Input As #1
Do While Not EOF(1)
n=n+1
Line Input #1,temp
If n=1 then
chaine=temp
Else
chaine=chaine & vbcrlf & temp
End If
Loop
Mais hélas, ça ne me donne pas tout le contenu de l'exécutable... alors qu'avec un fichier texte, ça marche...
econs
Messages postés4030Date d'inscriptionmardi 13 mai 2003StatutMembreDernière intervention23 décembre 200823 31 janv. 2006 à 15:59
Ton code a pourtant l'air bon.
Il peut même être amélioré, sans être modifié fonctionnellement (n ne sert à rien).
Dim temp,chaine as String
chaine=""
Open filename For Input As #1
While Not EOF(1)
Line Input #1,temp
chaine=chaine & temp & vbcrlf
Wend
Par contre, le contenu d'un executable peut donner des résultats
bizarres quand tu éditeras 'chaine', car il peut contenir un tas de
caractères ascii tordus (saut de page, return carriages, ... )
As-tu déjà vu ce que donnait un exécutable ouvert avec Notepad ?
cs_Sharkiller
Messages postés80Date d'inscriptiondimanche 12 octobre 2003StatutMembreDernière intervention25 avril 2011 31 janv. 2006 à 16:28
Oui, en effet, j'ai déja ouvert un exécutable dans le bloc-notes...
Peut-être faudrait-il tout convertir en ASCII, puis reconvertir ensuite lors de l'enregistrement...
Merci à toi pour ta réponse... pourrais-tu me fournir davantage de détails ?
cs_Sharkiller
Messages postés80Date d'inscriptiondimanche 12 octobre 2003StatutMembreDernière intervention25 avril 2011 31 janv. 2006 à 17:23
En effet Gobillot... mais avec la méthode que tu donnes ça me dit que "L'entrée dépasse la fin de fichier" dès que j'ouvre un fichier autre que texte...
Comment faire ?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Gobillot
Messages postés3140Date d'inscriptionvendredi 14 mai 2004StatutMembreDernière intervention11 mars 201934 31 janv. 2006 à 20:47
explique ce que tu veux faire ???
parce que le fichier est bon tel quel
tu peux le réécrire (sous un autre nom par sécurité) en binaire avec Put #1, , temp et même en Output avec Print#1,temp;
quand on connait le format du fichier, on peut aller chercher les
données à l'endroit exact où elles sont et avoir besoin de les
convertir, par exemple un fichier BMP, aller chercher la taille, la
résolution, etc ...
mais pour un fichier quelconque on peut trouver n'importe quoi et je vois pas ce qu'on peut convertir sans connaître.
cs_Sharkiller
Messages postés80Date d'inscriptiondimanche 12 octobre 2003StatutMembreDernière intervention25 avril 2011 31 janv. 2006 à 21:27
Ben c'est pour transférer un fichier d'un ordinateur vers un autres à l'aide du réseau.
J'ai voulu copier le contenu du fichier à envoyer pour le renvoyer à l'ordinateur distant pour que ce soit plus rapide (ce qui devrait être le cas).
Donc en fait je voudrais copier le contenu d'une application par exemple (en connaissant l'extension), de l'envoyer sur l'autre ordinateur et de le reconstituer en le mettant dans un fichier de même extension.
Ainsi, le fichier serait restitué correctement, mais le problème vient de là...