Html - LoadFromFile [Résolu]

Messages postés
1529
Date d'inscription
samedi 12 juin 2004
Dernière intervention
5 juillet 2010
- 4 mars 2005 à 15:39 - Dernière réponse :
Messages postés
1529
Date d'inscription
samedi 12 juin 2004
Dernière intervention
5 juillet 2010
- 5 mars 2005 à 15:32
Bonjour,
Cela fait déjà un petit moment que je cherche comment importer un fichier html dans une variable TStrings. LoadFromFile provoque des erreurs lors de la conversion des caractères accentués etc...

Avez-vous une autre solution ?
Merci d'avance.


@+
Bonne Prog'
Nico
Afficher la suite 

Votre réponse

10 réponses

Meilleure réponse
Messages postés
199
Date d'inscription
dimanche 2 mars 2003
Dernière intervention
10 octobre 2006
- 5 mars 2005 à 11:24
3
Merci
un "é" devient un "é" parce que le format est l'UTF8 pour ces chaines... Il faut donc pour chaques lignes utiliser la syntaxe suivante :
Strings[Index] := UTF8Decode(Strings[Index]);

si tu ne veux pas faire 2 passes il faudra que tu fasses le LoadFromFile à la main :)

Tout problème a sa solution... Mais en général, c'est jamais la bonne...

Merci Emandhal 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 87 internautes ce mois-ci

Commenter la réponse de Emandhal
Meilleure réponse
Messages postés
199
Date d'inscription
dimanche 2 mars 2003
Dernière intervention
10 octobre 2006
- 5 mars 2005 à 11:25
3
Merci
oops UTF8Decode renvoie un WideString... Enfin bref, je pense que tu as deja un bonen piste

Tout problème a sa solution... Mais en général, c'est jamais la bonne...

Merci Emandhal 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 87 internautes ce mois-ci

Commenter la réponse de Emandhal
Meilleure réponse
Messages postés
1799
Date d'inscription
vendredi 27 décembre 2002
Dernière intervention
19 juillet 2018
- 5 mars 2005 à 15:26
3
Merci
Ok, ni69, je crois que j'ai compris. Je suis un peu long à la détente parfois.

J'avais posté un code à ce sujet ici :



[code.aspx?id=27193 CONVERTIR LES CARACTÈRES SPÉCIAUX EN CODE HTML]



Ce code convertit les caractères accentués en leur code html strict (pas symbolique, quoi).



Bonne prog'

Merci japee 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 87 internautes ce mois-ci

Commenter la réponse de japee
Messages postés
1232
Date d'inscription
lundi 4 février 2002
Dernière intervention
4 octobre 2006
- 4 mars 2005 à 16:37
0
Merci
Hello Ni69,



Ecoute je viens de faire ca comme test
procedure TForm1.Button2Click(Sender: TObject);



var

Files : TStringList;



begin

Files := TStringList.Create;



Try

Files.LoadFromFile(ExtractFilePath(Application.exeName) + 'Test.html');

Memo1.Lines := Files;

Finally

Files.Free;

end;

end;



Et je n'ai eu aucun message d'erreur et il m'a bien afficher les ligne dans le memo.


Bonne prog,
JMP77.

N'oubliez pas de cliquer sur réponse acceptée.
Commenter la réponse de jmp77
Messages postés
1529
Date d'inscription
samedi 12 juin 2004
Dernière intervention
5 juillet 2010
- 4 mars 2005 à 20:43
0
Merci
En fait, quand je parle d'erreur, il ne s'agit pas de messages d'ereur, mais d'erreurs dans le texte chargé : par exemple, un "é" devient un "é"... ce qui est assez embêtant...


@+
Bonne Prog'
Nico
Commenter la réponse de ni69
Messages postés
1232
Date d'inscription
lundi 4 février 2002
Dernière intervention
4 octobre 2006
- 4 mars 2005 à 21:35
0
Merci
Lol effectivement ca peut etre embettant.



Je regarde ca des que je peux. Mais je n'ai pas d'idée la comme ca.

Bonne prog,
JMP77.

N'oubliez pas de cliquer sur réponse acceptée.
Commenter la réponse de jmp77
Messages postés
1529
Date d'inscription
samedi 12 juin 2004
Dernière intervention
5 juillet 2010
- 4 mars 2005 à 22:33
0
Merci
merci...


@+
Bonne Prog'
Nico
Commenter la réponse de ni69
Messages postés
1799
Date d'inscription
vendredi 27 décembre 2002
Dernière intervention
19 juillet 2018
- 4 mars 2005 à 23:51
0
Merci
Bizarre autant qu'étrange, ni69...



J'ai essayé pour en avoir le coeur web...
euh net, chez moi les ç (ç), é (é), à
(à), etc... apparaissent bien tels qu'ils sont codés dans la page html.




Ou alors, je n'ai pas tout compris. En particulier comment un "é" devient un "é" ???



Voici juste pour info le code que j'ai utilisé, bien que j'imagine que ça ne soit pas ce qui te pose problème.



procedure TForm1.Button1Click(Sender: TObject);

var TS: TStrings;

begin

if OpenDialog1.Execute then

begin

TS := TStringList.Create;

try

TS.LoadFromFile(OpenDialog1.FileName);

ListBox1.Clear;

ListBox1.Items.Assign(TS);

finally

TS.Free;

end;

end;

end;



Bonne prog'
Commenter la réponse de japee
Messages postés
1529
Date d'inscription
samedi 12 juin 2004
Dernière intervention
5 juillet 2010
- 5 mars 2005 à 13:38
0
Merci
Japee >> mon problème est qu'il ne charge pas correctement les caractères "é", "è", "à", etc... pas leurs équivalenbts html "&eacute", etc...
Mon projet est un convertisseur de caractères accentués en leur équivalent html... donc au départ, j'ai des "é"... dans le fichier html.
Emandhal >> merci je n'y avait pas pensé

Merci à vous tous !

PS : En chargeant le texte dans un RichEdit, le problème est aussi résolu


@+
Bonne Prog'
Nico



<HR>
N'oubliez pas de cliquer sur Réponse acceptée lorsque la réponse vous convient !
Commenter la réponse de ni69
Messages postés
1529
Date d'inscription
samedi 12 juin 2004
Dernière intervention
5 juillet 2010
- 5 mars 2005 à 15:32
0
Merci
Merci japee j'avais déjà vu ce code, mais j'avais un problème pour ouvrir le fichier html, après, ça allait tout seul, mais il fallait avoir les bons caractères au départ, sinon ça convertissait rien du tout !


@+
Bonne Prog'
Nico



<HR>
N'oubliez pas de cliquer sur Réponse acceptée lorsque la réponse vous convient !
Commenter la réponse de ni69

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.