PC SOFT

GRUPOS DE DISCUSSÃO PROFISSIONAL
WINDEVWEBDEV e WINDEV Mobile

Inicio → WINDEV 2024 → PB Lecture fichier Unicode
PB Lecture fichier Unicode
Iniciado por guest, jun., 17 2005 12:23 PM - 2 respostas
Publicado em junho, 17 2005 - 12:23 PM
Bonjour j'utilise la fonction flitligne() pour lire un fichier unicode et j'ai quelque souci voici mon code:

recup_fichier est une chaîne
recup_fichier = INILit("commande", "fichier", "", ".\param.ini")
nIdFic est un entier
sMaChaîne est une chaîne UNICODE


// Ouverture du fichier
nIdFic = fOuvre(recup_fichier, foLecture+foUnicode)
SI nIdFic=-1 ALORS
Erreur("L'ouverture du fichier a échoué", ErreurInfo())
SINON
// Première ligne
sMaChaîne = fLitLigne(nIdFic)

TANTQUE sMaChaîne<>(EOT)
// Traitement de la ligne lue
Trace(sMaChaîne)

// Ligne suivante
sMaChaîne = fLitLigne(nIdFic)
FIN

// Fermeture du fichier
fFerme(nIdFic)
FIN

Le Compilateur me dit que EOT et sMaChaîne sont de type imcompatible. Comment faire pour lire un fichier UNICODE alors? J'ai essayer de convertir sMaChaîne en ANSI voici le code :

recup_fichier est une chaîne
recup_fichier = INILit("commande", "fichier", "", ".\param.ini")
nIdFic est un entier
sMaChaîneunicode est une chaîne UNICODE


// Ouverture du fichier
nIdFic = fOuvre(recup_fichier, foLecture+foUnicode)
SI nIdFic=-1 ALORS
Erreur("L'ouverture du fichier a échoué", ErreurInfo())
SINON
// Première ligne
sMaChaîneunicode = fLitLigne(nIdFic)
sMaChaîne=UnicodeVersAnsi(sMaChaîneunicode)

TANTQUE sMaChaîne<>(EOT)
// Traitement de la ligne lue
Trace(sMaChaîne)

// Ligne suivante
sMaChaîneunicode = fLitLigne(nIdFic)
sMaChaîne=UnicodeVersAnsi(sMaChaîneunicode)
FIN

// Fermeture du fichier
fFerme(nIdFic)
FIN

Mais là mon programme reste bouclé, je n'ai jamais la valeur EOT renvoyé par ma chaine unicode convertie en ANSI!
Comment je peux faire?
Publicado em junho, 17 2005 - 1:53 PM
sMaChaîneunicode non plus ne prend jamais la valeur EOT ?
Publicado em junho, 19 2005 - 1:44 AM
J'avais a peu prés le même probleme et je l'ai résolu en défénissant mes variables autrement
a la place de est une chaine // est un buffer