Bonjour à tous,
Bon, aujourd'hui je m'attaque à un gros morceau (enfin pour moi).
Le contexte :
Je travaille avec des fichiers séquentiels contenant des champs strings, des booleans, des integers, et de floats.
Le but:
Lire le début du fichier mais de façon brute caractères par caractères, sans avoir à me soucier si ce que je lis est un string, un boolean ...
Ce que j'ai fait :
Lire les tutos sur les fichiers de Bodman et Frédéric Beaulieu et notamment la partie fichier binaire qui me semble répondre à la problématique
Mais, il en ressort des signes assez kabbalistiques
Je suis parti du code suivant de chez bodman:
J'ai lu les 10 premiers caractères
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 procedure TForm1.Button1Click(Sender: TObject); var F:file; Buf: array[1..1] of Char; lus : integer; begin Button2.Tag:=0; Button3.Tag:=0; memo1.Clear; if opendialog1.execute then assignfile(f,opendialog1.filename); reset(F,1); repeat BlockRead(F, Buf, SizeOf(Buf),lus); memo1.lines.text := memo1.lines.text + buf+' '; Repeat Application.ProcessMessages; Until Button2.Tag=1; // Button2 me permet d'avancer pas à pas (le clic sur ce bouton ne fait que mettre Button2.tag:=1) Button2.Tag:=0; until (lus =0) or (Button3.Tag=1); // Button3 me permet de mettre fin à la procédure closefile(F); end;
et je sorts ça sur le memo1 :
alors qu'en consultant le fichier avec le bloc note j'ai ça
Qu'est ce que j'ai mal fait et pas compris ?
Partager