Supprimer des offsets au début d'un fichier [Résolu]

cs_SoZI 6 Messages postés vendredi 28 mai 2004Date d'inscription 16 octobre 2007 Dernière intervention - 9 oct. 2007 à 19:18 - Dernière réponse : cs_SoZI 6 Messages postés vendredi 28 mai 2004Date d'inscription 16 octobre 2007 Dernière intervention
- 16 oct. 2007 à 15:47
Bonjour à tous, j'aimerai savoir comme supprimer quelques offsets au début d'un fichier par exemple l'offset de 0 à 67, j'espère être clair. Si vous avez une solution car je galère grave je suis débutant.
Merci à tous

--(sZ)
Afficher la suite 

Votre réponse

4 réponses

Meilleure réponse
GEDDi 209 Messages postés lundi 22 novembre 1999Date d'inscription 3 juillet 2008 Dernière intervention - 10 oct. 2007 à 14:48
3
Merci
Bonjour,

Le principe est simple :
- Ouvrir le fichier en mode binaire
- Connaitre la taille du fichier ouvert moins 67 et stocker la valeur obtenue dans une variable entière (exemple iLen )
- Faire un FileSeek du fichier et lui donner la position 68 à compter du debut du fichier.
- Allouer une variable qui contiendra les données de type Byte(iLen) et charger le contenu du fichier à hauteur de iLen octets dedans et le tour est joué :)

En FBSL ça donnerait ceci : ( je n'ai pas VS ici )
#apptype console

Begin Const
  offset  = 67
  theFile = "Test.xml"
End Const

Dim $bufferDim %fp 0, %iLen FileLen(theFile) - offset

fp = FileOpen( theFile, BINARY_INPUT )
FileSeek( fp, offset )
buffer = FileGet( fp, iLen )
FileClose( fp )

Print buffer
Pause

Gérôme GUILLEMIN
Auteur du langage FBSL

Merci GEDDi 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 87 internautes ce mois-ci

Commenter la réponse de GEDDi
Meilleure réponse
ShareVB 2717 Messages postés vendredi 28 juin 2002Date d'inscription 13 janvier 2016 Dernière intervention - 16 oct. 2007 à 11:58
3
Merci
salut,

en vb.net  ca donnerait :
dim inFile as new filestream("fichier_entrée",filemode.open)
dim buff(infile.length - 68 - 1) as byte
infile.position = 68
infile.read(buff,0,buff.length)
infile.close()
infile = new filestream("fichier_sortie",filemode.truncate)
infile.write(buff,0,buff.length)
infile.close()

ShareVB

Merci ShareVB 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 87 internautes ce mois-ci

Commenter la réponse de ShareVB
cs_SoZI 6 Messages postés vendredi 28 mai 2004Date d'inscription 16 octobre 2007 Dernière intervention - 9 oct. 2007 à 19:26
0
Merci
ah oui sinon j'utilise visual studio express 2005

--(sZ)
Commenter la réponse de cs_SoZI
cs_SoZI 6 Messages postés vendredi 28 mai 2004Date d'inscription 16 octobre 2007 Dernière intervention - 16 oct. 2007 à 15:47
0
Merci
Merci pour vos réponse, c'est pilpoil ce que je recherchai depuis un long moment. merci encore.

--(sZ)
Commenter la réponse de cs_SoZI

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.