Bonjour !
Le type Cardinal doit exister sous BP7... Seulement, pas comme on pourrait l'espérer ! En effet, Integer et Cardinal sont des types spécifiques au compilateur, c'est à dire qu'ils sont codés sur un nombre de bits correspondant à la version du compilateur utilisé. Pour Delphi 2 et supérieur, il s'agit d'un compilateur 32 bits. Donc le type Integer est sur 32 bits, ainsi que le Cardinal, qui est donc un type entier sur 32 bits, non signé.
Mais sous BP7, nous sommes en 16 bits ! Donc le Cardinal est ici équivalent à un Word. Il est normal que vous trouviez des résultats étranges avec un Longint, car celui-ci est signé, et non le Cardinal. Il faut voir s'il n'est pas possible de réduire la résolution du nombre à sortir, ou alors le couper en deux Word(s).
L'Int64 n'a évidemment pas d'équivalent. On pourrait éventuellement le coder avec 4 Word(s).
En ce qui concerne TFileStream, détrompez-vous ! Il existe aussi sous BP7 des flux pour gérer les fichiers, en-dehors de Assign, etc... Ils s'appellent TDosStream et TBufStream, présents dans l'unité Objects. Je vous conseille personnellement le dernier, qui utilise un tampon pour accélérer les accès.
Pour TStringStream, on peut au besoin ce reporter sur TStringCollection. Mais la gestion risque d'être plus légère.
Si vous avez d'autres problèmes, n'hésitez pas à deemander !
A+
Partager