Bonjour,
J'ai créer un type qui est la structure exacte de ce qu'il y a dans mon fichier.
Donc avec un TFileStream, je tente de récupérer les données :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 type THeaderFile = record Header : string[2]; Type1 : String[1]; Type2 : string[1]; Pays : string[1]; Tel : string[1]; Val : string[6]; Val2 : string[1]; Blank : string[3]; end;
Le problème c'est que les 3 premiers octects sont bon (hHeader.Header, et hHeader.Type1) mais après ca devient n'importe quoi.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28 procedure TForm1.BitBtn1Click(Sender: TObject); var fFile : TFileStream; hHeader : THeaderFile; begin if OpenDialog1.Execute then begin fFile := TFileStream.Create(OpenDialog1.FileName,fmOpenRead); With fFile do try seek(0, soFromBeginning); // Debut du fichier Position := 106; // position 106 du fichier ReadBuffer(hHeader,Sizeof(hHeader)); Memo1.Lines.Add('Header : ' + IntToStr(Ord(hHeader.Header[1])) + IntToStr(Ord(hHeader.Header[2]))); Memo1.Lines.Add('Type 1 :' + IntToStr(Ord(hHeader.Type1[1]))); Memo1.Lines.Add('type 2 :' +IntToStr(Ord(hHeader.Type2[1]))); Memo1.Lines.Add('Pays :' + IntToStr(Ord(hHeader.Pays[1]))); Memo1.Lines.Add('Tel :' + IntToStr(Ord(hHeader.Tel[1]))); Memo1.Lines.Add('Val :' + hHeader.Val); Memo1.Lines.Add('Val2 :' + hHeader.Val2); Memo1.Lines.Add('Blank :' + hHeader.Blank); finally fFile.Free; end; end; end;
Si quelqu'un voit d'où vient le problème.
Pour info la structure du fichier :
[106c]
[Header 2c][Type1 1c][Type2 1c][Pays 1c][Tel 1c][Val 6c][Val2 1c][Blank 3c][Nombre de caractère = Type1 + Type2 + Pays + Tel + Val2]
[Header 2c][Type1 1c][Type2 1c][Pays 1c][Tel 1c][Val 6c][Val2 1c][Blank 3c][Nombre de caractère = Type1 + Type2 + Pays + Tel + Val2]
[Header 2c][Type1 1c][Type2 1c][Pays 1c][Tel 1c][Val 6c][Val2 1c][Blank 3c][Nombre de caractère = Type1 + Type2 + Pays + Tel + Val2]
etc ...
Partager