Changement des é, è, ô etc

Résolu
Also know as Messages postés 259 Date d'inscription samedi 13 décembre 2003 Statut Membre Dernière intervention 22 novembre 2010 - 30 oct. 2004 à 14:30
Also know as Messages postés 259 Date d'inscription samedi 13 décembre 2003 Statut Membre Dernière intervention 22 novembre 2010 - 31 oct. 2004 à 19:17
[font= Comic Sans MS]Bonjour,

Je crée mon site Internet en utilisant UltraEdit-32.
Pour cela aucun problème.
Mais il y a une tâche qui m'énerve quelques peu c'est de remplacer à chaque fois dans les fichier cela "e" par un "é".

J'aimerais automatiser une tâche pour qu'un programme en Delphi m'automatise automatiquement cette tâche.

Par exemple, une fois mon fichier fini en ayant laissé mes é, è, etc.
Je prend mon programe Delphi, j'ouvre mon fichier, et je clique par exemple sur le bouton "Appliquer" pour qu'il me change automatiquement tous mes é, è, etc par le code correct.

Je suis débutant dans ce language, donc si vous avez une solution, s'il vous plaît faite que ce soit clair, car sinon je vais rien comprendre !

J'ai bien chercher moi même, en faisant à ma manière :
- J'ai crée deux mémo, l'un avec le fichier original et l'autre avec les caractères modifié, normalement.
- Pas de rpoblème pour ouvrir mon fichier dans le memo1 et j'utilise ceci :
 procedure  TForm1.Memo1Change(Sender: TObject);
begin
  Memo2.Text: =Memo1.Text
end;


- Par la suite en cherchant un peu j'ai vu que je pouvais utiliser la fonction key, mais je n'arrive pas à l'utiliser pour juste transformer les "é" par exemple et les remplacer par des é dans le memo2.

Je vous remercie d'avance !
/font

4 réponses

jinh68 Messages postés 215 Date d'inscription mardi 29 juillet 2003 Statut Membre Dernière intervention 1 septembre 2006
30 oct. 2004 à 15:06
Il me semble qu'en changeant uniquement le charset dans toutes tes pages (UTF-8, etc...) tu peux pallier au problème des accents.

Donc si tu veux faire un programme Delphi, il te suffira de changer la première de chaque fichier html.

J'avais eu ce souci avec du Xml et j'avais suivi cette démarche.

j!nH
0
Also know as Messages postés 259 Date d'inscription samedi 13 décembre 2003 Statut Membre Dernière intervention 22 novembre 2010 2
30 oct. 2004 à 16:24
Je sais !
Mais justement je ne veux pas changé mon doctype.
J'utilise le doctype transisionnel :

<!doctype html public "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/html4/transitional.dtd">


C'est pour cela que je vous demande comment je peux faire pour créer un programme tout bête qui remplace cela automatiquement.

On m'a aussi parlé de cela :

procedure TForm1.ModifFichier(sFichierSource, sFichierDest: String)
var
fSrc, fDest: TextFile;
sBuffer: String;
begin
AssignFile(fSrc, sFichierSource);
AssignFile(fDest, sFichierDest);
Reset(fSrc);
Rewrite(fDest);
While not eof(fSrc) do begin
Readln(fSrc, sBuffer);
AnsiReplaceStr(sBuffer, 'é', 'eacute;');
AnsiReplaceStr(sBuffer, 'è', 'eagrave;');
AnsiReplaceStr(sBuffer, 'à', 'agrave;');
...
Writeln(fDest, sBuffer);
End;
CloseFile(fSrc);
CloseFile(fDest);
end;


Mais je n'ai rien compris....
Je suis débutant !
0
jinh68 Messages postés 215 Date d'inscription mardi 29 juillet 2003 Statut Membre Dernière intervention 1 septembre 2006
30 oct. 2004 à 17:04
Re,

Bon je crois pouvoir texpliquer :

sFichierSource représente ton doc html non modifié
sFichierDest représente ton doc html modifié

procedure TForm1.ModifFichier(sFichierSource, sFichierDest: String);
var
fSrc, fDest: TextFile;
sBuffer: String;
begin
AssignFile(fSrc, sFichierSource);
AssignFile(fDest, sFichierDest);
Reset(fSrc);//se place au debut du fichier source
Rewrite(fDest);//Réécrit le fichier destination
While not eof(fSrc) do begin//Tant qu'on est pas à la fin du fichier
Readln(fSrc, sBuffer);//Lire la ligne et la stocker dans sBuffer
AnsiReplaceStr(sBuffer, 'é', 'eacute;');//eacture; eagrave; sont des identifiants html pour les voyelles accentuées.
AnsiReplaceStr(sBuffer, 'è', 'eagrave;');//AnsiReplaceStr remplace les accents par les identifiants
AnsiReplaceStr(sBuffer, 'à', 'agrave;');
...
Writeln(fDest, sBuffer);//on écrit la ligne modifiée dans le fichier de destination
End;
CloseFile(fSrc);
CloseFile(fDest);
end;



j!nH
0
Also know as Messages postés 259 Date d'inscription samedi 13 décembre 2003 Statut Membre Dernière intervention 22 novembre 2010 2
31 oct. 2004 à 19:17
Merci beaucoup opur ce code qui est très bien est qui n'a guèrebesoin d'être changé sauf par les extremiste du code ASCII, je parle de ceux qui veulent à tout prit changer en é. Pour ma part cela est parfait !! Merci beaucoup en tout cas !
0
Rejoignez-nous