Supprimer des offsets au début d'un fichier

Résolu
cs_SoZI Messages postés 6 Date d'inscription vendredi 28 mai 2004 Statut Membre Dernière intervention 16 octobre 2007 - 9 oct. 2007 à 19:18
cs_SoZI Messages postés 6 Date d'inscription vendredi 28 mai 2004 Statut Membre Dernière intervention 16 octobre 2007 - 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)

4 réponses

GEDDi Messages postés 206 Date d'inscription lundi 22 novembre 1999 Statut Membre Dernière intervention 3 juillet 2008
10 oct. 2007 à 14:48
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
3
ShareVB Messages postés 2676 Date d'inscription vendredi 28 juin 2002 Statut Membre Dernière intervention 13 janvier 2016 25
16 oct. 2007 à 11:58
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
3
cs_SoZI Messages postés 6 Date d'inscription vendredi 28 mai 2004 Statut Membre Dernière intervention 16 octobre 2007
9 oct. 2007 à 19:26
ah oui sinon j'utilise visual studio express 2005

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

--(sZ)
0
Rejoignez-nous