@DomDA91
Merci pour toutes ces informations.
Je confirme que l'usage de real48 paraît résoudre le problème. Voici un premier essai de lecture du fichier de mouvements :
Résultat avec real :
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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64 program lecture_fichier_mouvements; {$MODE TP} {$DEFINE USE_REAL48} const lib_long = 15; type mvt = record dop, dval: word; montant: {$IFDEF USE_REAL48}real48{$ELSE}real{$ENDIF}; cdeb, ccred: byte; libelle: string[lib_long]; cb, point: char; end; cpt = record libelle: string[lib_long]; soldop: {$IFDEF USE_REAL48}real48{$ELSE}real{$ENDIF}; retard: integer; end; const chemin: string = '.\percom\'; nommvt: string = 'cmvt.fce'; maxmvt = 2000; maxcpt = 40; var fichmvt: file of mvt; erreurG: boolean; journal: array[1..maxmvt] of mvt; procedure Lis_Journal; var i: word; begin {$I-} assign(fichmvt, chemin + nommvt); reset(fichmvt); erreurG := (IOresult <> 0); {$I+} if erreurG then begin writeln('LE FICHIER ', nommvt, ' N''EXISTE PAS DANS ', chemin); end else begin i := 0; while not eof(fichmvt) do begin inc(i); read(fichmvt, journal[i]); writeln(journal[i].libelle); end; close(fichmvt); end; end; begin Lis_Journal; readln; end.
Code X : 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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58 M V Ê-Ò-å├§(\ Ë-Ò-åàÙQ©T P È-Ò-äffffF È-Ë-ç 4 y P V Ï-Ò-ê Ç ┘-┘-âñp= u P P ┌-Ò-ç █-Ò-àÜÖÖÖ 4 P P ▀-Ì-ç ß-Ò-å ÎúpS P Ô-Ò-êÎúp²= Ô-Ò-å\Å┬§S o P P õ-õ-ë g õ-ý-ê«Gß║X SFr elecom V P Õ-Õ-è z µ-.à«Gßz leclerc + TCL TOM V V ¾-¾-ê ÷-÷-âñp= ** è z * ï EDF ** è z * è (VACANCE DEP COM ** S ** ä @ * è z LIVRE-D ** à * ï z SALAIRE CIAUX ** * ì @ BANQUE ; CEPARGNE ** S ** è z * ï zINVESTI ** ç H * Ä @ TRACEA L ** * ç(73│ DETTES **
Avec real48 :
Code X : 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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67 TCL TOM Leclerc THIRIET Fr elecom leclerc TCL TOM LOGEMENT BOUFFE VOITURE EDF VETEMENTS 0 CADEAUX VACANCES DEP COM SORTIES BON (ST) LIVRE-DISQUE FRAIS FINANC IMPOTS DIVERS SALAIRE PROD. FINANC ORG.SOCIAUX BANQUE CEPARGNE ACTIONS LCL INVESTISSEME LEL MAISON PRETS TRACEA ASS VIE CAPITAL EMPRUNTS DETTES
Plutôt que de modifier le programme, je pense qu'il sera plus simple d'écrire un petit programme séparé qui convertira le fichier.
Partager