Problème de conversion dû à l'encodage
Bonjour,
Je suis un petit utilisateur de Lazarus sous Linux depuis un certain temps et j'utilise Lazarus surtout pour la gestion de données avec sqlite3.
J'ai développé plusieurs petites applications de gestion financière dans lesquelles j'importe des fichiers de relevés bancaires au format CVS, XLS jusqu'ici sans problème.
Voiàa suite à un relevé d'une nouvelle banque les fichiers au format CSV ou XLS me donnent des données étranges quand je lis les fichiers de la manière suivante :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| Openchoix.InitialDir:=MCHEMIN+'releveCE'+MSEPARATEUR;
MEXTENSION:=Copy(OpenChoix.FileName,Length(OpenChoix.FileName)-2,3);
if (OpenChoix.FileName<>'') and (MEXTENSION='csv') then
begin
AssignFile(FICHIER, OpenChoix.FileName);{ Fichier dans la boite}
MFICHIER:=OpenChoix.FileName;
Reset(FICHIER); // on se positionne sur le premier enregistrement du fichier
TAMPON:='';
XTAB:=1;
while not eof(FICHIER) do // on charge un tableau avec chaque ligne lue
begin
Readln(FICHIER,XTAMPON);
TAB[XTAB]:=XTAMPON;
Inc(XTAB);
end;
CloseFile(FICHIER);
DebutTraitement;
end
else
begin
MessageDLG ('Erreur, pas de fichier sélectionné', mtError, [mbCancel],0);
end; |
Je pense qu'il y a un problème de codage mais voilà je ne sais pas comment résoudre mon problème, je pense qu'il faudrait trouver le codage du fichier téléchargé et le convertir avant de le lire avec les composants de l'unité LazUtl8 mais les explications sont en anglais et le projet exemple donné ne veut pas se compiler chez moi.
Alors une petite prise en main me serait utile.
Merci d'avance