je ne suis pas surre pour le ' je me rappel qu'il faut doubler l'apostrophe si on veut on mettre réelement une c'est ce que j'ai fait.... corriger moi si c'est faux
merci
cs_intik
Messages postés33Date d'inscriptiondimanche 6 juillet 2003StatutMembreDernière intervention12 septembre 2007 27 avril 2007 à 17:20
cool excéllent 10/10
tres utile !!!!!!!!
jbanety
Messages postés30Date d'inscriptionmardi 24 décembre 2002StatutMembreDernière intervention30 juin 2011 6 avril 2005 à 20:20
Nan en fait, je n'ai rien dit ;)
Oh làlàlàà j'ai dit n'importe quoi :)
En fait ce n'est pas les '#' qui sont retraduis mais les '&'.
Je suis pas réveillé moi :)
jbanety
Messages postés30Date d'inscriptionmardi 24 décembre 2002StatutMembreDernière intervention30 juin 2011 6 avril 2005 à 20:18
J'ai oublié une précision, c'est vrai que j'ai rajouté '#' dans la variable modif. Donc tu n'y avais pas pensé.
Enfin bon c'est histoire de mettre un petit commentaire sur ton code.
@++
jbanety
Messages postés30Date d'inscriptionmardi 24 décembre 2002StatutMembreDernière intervention30 juin 2011 6 avril 2005 à 20:16
Excelent code japee !
Mais il y a un seul problème qui n'est pas très grave, mais si la fonction est appliquée une fois, ça marche nikel, mais si on recommence, la fonction traduit les '#' présents.
Enfin voilà ;)
Aussi non, pas mal ;)
cs_Delphiprog
Messages postés4297Date d'inscriptionsamedi 19 janvier 2002StatutMembreDernière intervention 9 janvier 201332 12 nov. 2004 à 14:55
Ok Nerolph, je comprends ainsi mieux ce que tu voulais dire.
Nerolph
Messages postés58Date d'inscriptionvendredi 24 octobre 2003StatutMembreDernière intervention 4 septembre 2012 12 nov. 2004 à 13:56
PS: l'histoire de MacOS était un exemple si on voulait utiliser le fichier HTML sous Mac.
Nerolph
Messages postés58Date d'inscriptionvendredi 24 octobre 2003StatutMembreDernière intervention 4 septembre 2012 12 nov. 2004 à 13:47
Je parlais principalement du caractère 233 (par exemple) : 'é' en Windows, 'Ú' en DOS par exemple. Ce que je veux dire, c'est que les caractères dont le code ASCII est supérieur à 127 dépendent du système d'exploitation sur lequel on les utilise. D'où l'intérêt de coder les caractères spéciaux en entités en HTML : on ne sait pas forcément ce que représente é alors que é est plus clair.
Le suis-je assez ?
cs_Delphiprog
Messages postés4297Date d'inscriptionsamedi 19 janvier 2002StatutMembreDernière intervention 9 janvier 201332 9 nov. 2004 à 23:13
Japee, ne serait-ce pas plutôt la norme ISO-8859-1 ?
Nerolph: le jeu de caractères HTML n'est pas propre à Windows. Se référer à la source sur http://www.w3.org/Math/characters/bycodes.html pour plus de précisions.
Comme dit Japee, un fichier .html est lu par les navigateurs disponibles sous Macintosh. Il n'y a donc effectivement aucun rapport avec Delphi. Et qu'en sera-til sous Unix, puis sous BeOs, etc ? lol
Que ce soit un fichier de données ou un fichier programme, dans les deux cas il s'agit d'un fichier et le risque de perte est identique.
Après on peut toujours débattre de savoir s'il vaut mieux sauvegarder sur son disque dur ou sur un cd-rom...
japee
Messages postés1727Date d'inscriptionvendredi 27 décembre 2002StatutModérateurDernière intervention 6 novembre 20218 9 nov. 2004 à 22:20
Je me réfère à la norme ISO 5589-1.
Je suis étonné qu'elle ne soit pas interprétée par les navigateurs sous Linux, mais faute d'avoir testé, je veux bien admettre.
Pour MacOs, je ne vois pas tout à fait le rapport avec un code écrit en Delphi...
Je n'ai pas compris ce que venait faire dans le débat cette angoisse éprouvée par certains à l'idée de perdre un fichier. Moi, je sauvegarde.
Nerolph
Messages postés58Date d'inscriptionvendredi 24 octobre 2003StatutMembreDernière intervention 4 septembre 2012 9 nov. 2004 à 13:51
J'ai un problème : j'utilise Kylix et la conversion ne me donne pas ce que je veux.
Ça doit venir du fait que é et é ne sont équivalent QUE sous Windows. Et donc ça ne marchera pas non plus sous MacOS.
D'où l'intérêt d'utiliser le fichier .ini que l'on peut perdre aussi bien que ton programme d'ailleurs.
Cela dit, il y a un truc de pas très juste dans ce fichier .ini : l'équivalent de TM en entité HTML est ™.
cs_grandvizir
Messages postés1106Date d'inscriptionsamedi 8 novembre 2003StatutMembreDernière intervention 3 septembre 200622 2 nov. 2004 à 21:53
Pour améliorer ce qui se fait, rien n'est meilleur que des commentaires. J'ai dit ce que j'avais à dire, vous tous aussi et puis c'est tout !
cs_Delphiprog
Messages postés4297Date d'inscriptionsamedi 19 janvier 2002StatutMembreDernière intervention 9 janvier 201332 2 nov. 2004 à 21:49
J'affirme haut et fort que le code de Japee est excellent.
Aucun risque :
- d'erreur de saisie
- de perdre le fichier
Comme l'a écrit JulioDelphi, qu'est-ce que ça change que l'on écrive é ou é ?
Eh bien rien. Les navigateurs savent interpréter les deux. Alors gardons nos énergies pour des causes moins futiles.
Dans le souci constant d'améliorer le code, je suggère de passer le paramètre Ch en paramètre Const pour éviter qu'une copie locale soit faite. C'est pour le cas où la chaîne à traduire serait longue, longue...
L'utilisation de la fonction Concat est suffisamment rare pour mentionner sa présence ici. Toutefois, Borland indique dans l'aide en ligne que l'utilisation de l'opérateur d'addition est plus efficace que l'appel à la fonction Concat. Comme la concaténation ici est réalisée au sein d'une boucle, il est judicieux de mettre en pratique ce conseil pour gagner encore quelques millisecondes.
Bravo Japee pour la rapidité de réaction et l'efficacité "suite à la question sur le forum".
cs_grandvizir
Messages postés1106Date d'inscriptionsamedi 8 novembre 2003StatutMembreDernière intervention 3 septembre 200622 2 nov. 2004 à 21:07
Ca veut dire quoi ça ? :)
japee
Messages postés1727Date d'inscriptionvendredi 27 décembre 2002StatutModérateurDernière intervention 6 novembre 20218 2 nov. 2004 à 16:46
Merci, Inekman.
Je constate avec plaisir que tu as bien compris l'esprit de ce code.
Simplicité à la base, adaptabilité à ses besoins.
Le résultat étant l'efficacité.
Laissons les esprits chagrins à leurs tourments ;)
Inekman
Messages postés291Date d'inscriptiondimanche 2 février 2003StatutMembreDernière intervention30 juin 2006 2 nov. 2004 à 15:58
excellent code Japee, c'est exactement ce qu'il me fallait :-P
Simplicité, modularité. Bravo.
Inekman.10/10.
cs_grandvizir
Messages postés1106Date d'inscriptionsamedi 8 novembre 2003StatutMembreDernière intervention 3 septembre 200622 1 nov. 2004 à 11:21
Je rajouterai une chose. Pourquoi s'embêter à faire un tableau [A,B,C], puis [a,b,c] et enfin [1è]+[2è]. Autant faire une chaîne du type
Const CaracSpes : string[PréciserLaLongeur] = ''ABCDEFabcdef";
Après on fait une vérification du type
if Pos(Ch[i],CaracSpes)<>0 then
C'est pareil, et sûrement plus léger pour la mémoire.
Avec mon idée de tableau, il aurait fallu mettre une boucle FOR, donc ça aurait été plus long en code.
cs_grandvizir
Messages postés1106Date d'inscriptionsamedi 8 novembre 2003StatutMembreDernière intervention 3 septembre 200622 31 oct. 2004 à 18:22
... ou pour la même.
Mon INI date de plus de 3 ans. Encore heureux qu'il n'ait pas été bouffé par de nombreuses erreurs de disque.
JulioDelphi
Messages postés2226Date d'inscriptiondimanche 5 octobre 2003StatutMembreDernière intervention18 novembre 201014 31 oct. 2004 à 18:14
le ´ est 10000 fois mieux, c'est clair, mais personne ne va le voir :)
puis on ne risque pas de perdre le .ini :D
il faut ici juste convertir pour une page html, les surfeurs ne verront ke le résultats (c a dire la meme chose pour eux)
perso je prefere encore la conversion :) mais tes conversions sont tres utiles et tres compréhensible GrandVizir :) a garder pour d'autres sources :)
cs_grandvizir
Messages postés1106Date d'inscriptionsamedi 8 novembre 2003StatutMembreDernière intervention 3 septembre 200622 31 oct. 2004 à 18:04
Je crois qu'il y a "malcompréhension". Je vois très bien ce que tu veux dire...
Si l'INI est correct (ce qui est le cas), il n'y a pas de raison pour qu'il y ait des erreurs. J'essaie juste de montrer que mon idée de faire un tableau est bien plus judicieux. Lorsqu'on visualise le résultat, honnêtement, qu'est ce qui est le plus explicite "´" ou "é" ?
Il est certain qu'il n'y aura pas d'erreurs avec é, mais s'il y en a dans le tableau de référence, elles seront de toute manière tout de suite visibles...
JulioDelphi
Messages postés2226Date d'inscriptiondimanche 5 octobre 2003StatutMembreDernière intervention18 novembre 201014 31 oct. 2004 à 17:56
dans ce cas tu es hors sujet, car ici on utilise delphi pour convertir, une fois l'exe compilé, la personne pourras utiliser le prog sans delphi ni notepad...
ses caracteres seront convertis correctement par la machine, et donc je repete, pas d'erreur de saisi de l'humain
cs_grandvizir
Messages postés1106Date d'inscriptionsamedi 8 novembre 2003StatutMembreDernière intervention 3 septembre 200622 31 oct. 2004 à 17:49
Evidemment... mais si t'es fauché et que tu n'as que notepad...
JulioDelphi
Messages postés2226Date d'inscriptiondimanche 5 octobre 2003StatutMembreDernière intervention18 novembre 201014 31 oct. 2004 à 17:46
oui mais le 236 n'est pas saisi par l'humain, donc pas de risque d'erreur ! c delphi qui converti. tu vois ce que je veux dire ?
cs_grandvizir
Messages postés1106Date d'inscriptionsamedi 8 novembre 2003StatutMembreDernière intervention 3 septembre 200622 31 oct. 2004 à 17:32
Je ne dis pas que c'est nul, c'est juste qu'on peut aussi faire autrement, tout en restant propre. Je n'ai pas pris le Zip, l'extrait dans cette page suffit largement à connaître l'astuce. L'erreur humaine n'existe pas avec un éditeur html tout automatisé, à l'image d'un code source utilisant un tableau de référence.
Sinon, l'idée "é" n'est pas plus astucieuse que la mienne. Juliodelphi vient de m'y faire penser. En effet, si on se trompe dans le 233 (on met 236), le caractère sera nécessairement affiché puisque 236 est correspond à un caractère ASCII. Mais si on se trompe dans "´" (on met "&acote;") alors on obtient un truc pas beau à l'écran qui montre pertinemment qu'il ya eu erreur de frappe, ce qui n'est pas flagrant avec le 236.
En tout cas, mon INI pourra toujours servir...
japee
Messages postés1727Date d'inscriptionvendredi 27 décembre 2002StatutModérateurDernière intervention 6 novembre 20218 31 oct. 2004 à 17:17
As-tu bien regardé mon code, grandvizir ?
A quel endroit est-il nécessaire de savoir à quel caractère correspond quel code ?
De plus, ce code est tout à fait adaptable et évolutif, comme je le précise, il suffit de rajouter les caractères spéciaux que l'on désire traduire en code html.
Bonne fin de dimanche ;)
japee
JulioDelphi
Messages postés2226Date d'inscriptiondimanche 5 octobre 2003StatutMembreDernière intervention18 novembre 201014 31 oct. 2004 à 17:16
perso je prefere le code de japee qui vite les erreurs car moins de saisie humaine (l'erreur l'est) et qui evite de perdre ce beau fichier .ini
cs_grandvizir
Messages postés1106Date d'inscriptionsamedi 8 novembre 2003StatutMembreDernière intervention 3 septembre 200622 31 oct. 2004 à 17:05
Encore faut-il savoir quel nombre correspond à quelle lettre...
japee
Messages postés1727Date d'inscriptionvendredi 27 décembre 2002StatutModérateurDernière intervention 6 novembre 20218 31 oct. 2004 à 16:35
Je ne vois pas en quoi il est "trop facile" de coder "é" plutôt que "é" qui n'en est jamais que la forme symbolique (donc plus facile à mémoriser par l'humain) ?
cs_grandvizir
Messages postés1106Date d'inscriptionsamedi 8 novembre 2003StatutMembreDernière intervention 3 septembre 200622 31 oct. 2004 à 15:41
cs_grandvizir
Messages postés1106Date d'inscriptionsamedi 8 novembre 2003StatutMembreDernière intervention 3 septembre 200622 31 oct. 2004 à 15:40
Mettre par exemple "-" est trop facile. Ce qu'il faut faire, c'est plutôt un bel ARRAY OF STRING avec les vraies données HTML, où alors un fichier INI.
8 oct. 2007 à 17:22
10/10
27 avril 2007 à 17:41
_______________________________________________________
Autres =
['!', '§', ':', '/', ';', '.', ',', '?', '<', '>', '²', '&', '~', '"', '#', '''', '{', '(', '[', '-', '|', '`', '_', '\', '^', '@', ')', ']', '=', '}', '+', '°', '¨', '$', '£', '¤', '*', 'ù', '%', 'µ'];
Modif = MinusculesAccentuees + MajusculesAccentuees + Autres;
_______________________________________________________
je ne suis pas surre pour le ' je me rappel qu'il faut doubler l'apostrophe si on veut on mettre réelement une c'est ce que j'ai fait.... corriger moi si c'est faux
merci
27 avril 2007 à 17:20
tres utile !!!!!!!!
6 avril 2005 à 20:20
Oh làlàlàà j'ai dit n'importe quoi :)
En fait ce n'est pas les '#' qui sont retraduis mais les '&'.
Je suis pas réveillé moi :)
6 avril 2005 à 20:18
Enfin bon c'est histoire de mettre un petit commentaire sur ton code.
@++
6 avril 2005 à 20:16
Mais il y a un seul problème qui n'est pas très grave, mais si la fonction est appliquée une fois, ça marche nikel, mais si on recommence, la fonction traduit les '#' présents.
Enfin voilà ;)
Aussi non, pas mal ;)
12 nov. 2004 à 14:55
12 nov. 2004 à 13:56
12 nov. 2004 à 13:47
Le suis-je assez ?
9 nov. 2004 à 23:13
Nerolph: le jeu de caractères HTML n'est pas propre à Windows. Se référer à la source sur http://www.w3.org/Math/characters/bycodes.html pour plus de précisions.
Comme dit Japee, un fichier .html est lu par les navigateurs disponibles sous Macintosh. Il n'y a donc effectivement aucun rapport avec Delphi. Et qu'en sera-til sous Unix, puis sous BeOs, etc ? lol
Que ce soit un fichier de données ou un fichier programme, dans les deux cas il s'agit d'un fichier et le risque de perte est identique.
Après on peut toujours débattre de savoir s'il vaut mieux sauvegarder sur son disque dur ou sur un cd-rom...
9 nov. 2004 à 22:20
Je suis étonné qu'elle ne soit pas interprétée par les navigateurs sous Linux, mais faute d'avoir testé, je veux bien admettre.
Pour MacOs, je ne vois pas tout à fait le rapport avec un code écrit en Delphi...
Je n'ai pas compris ce que venait faire dans le débat cette angoisse éprouvée par certains à l'idée de perdre un fichier. Moi, je sauvegarde.
9 nov. 2004 à 13:51
Ça doit venir du fait que é et é ne sont équivalent QUE sous Windows. Et donc ça ne marchera pas non plus sous MacOS.
D'où l'intérêt d'utiliser le fichier .ini que l'on peut perdre aussi bien que ton programme d'ailleurs.
Cela dit, il y a un truc de pas très juste dans ce fichier .ini : l'équivalent de TM en entité HTML est ™.
2 nov. 2004 à 21:53
2 nov. 2004 à 21:49
Aucun risque :
- d'erreur de saisie
- de perdre le fichier
Comme l'a écrit JulioDelphi, qu'est-ce que ça change que l'on écrive é ou é ?
Eh bien rien. Les navigateurs savent interpréter les deux. Alors gardons nos énergies pour des causes moins futiles.
Dans le souci constant d'améliorer le code, je suggère de passer le paramètre Ch en paramètre Const pour éviter qu'une copie locale soit faite. C'est pour le cas où la chaîne à traduire serait longue, longue...
L'utilisation de la fonction Concat est suffisamment rare pour mentionner sa présence ici. Toutefois, Borland indique dans l'aide en ligne que l'utilisation de l'opérateur d'addition est plus efficace que l'appel à la fonction Concat. Comme la concaténation ici est réalisée au sein d'une boucle, il est judicieux de mettre en pratique ce conseil pour gagner encore quelques millisecondes.
Bravo Japee pour la rapidité de réaction et l'efficacité "suite à la question sur le forum".
2 nov. 2004 à 21:07
2 nov. 2004 à 16:46
Je constate avec plaisir que tu as bien compris l'esprit de ce code.
Simplicité à la base, adaptabilité à ses besoins.
Le résultat étant l'efficacité.
Laissons les esprits chagrins à leurs tourments ;)
2 nov. 2004 à 15:58
Simplicité, modularité. Bravo.
Inekman.10/10.
1 nov. 2004 à 11:21
Const CaracSpes : string[PréciserLaLongeur] = ''ABCDEFabcdef";
Après on fait une vérification du type
if Pos(Ch[i],CaracSpes)<>0 then
C'est pareil, et sûrement plus léger pour la mémoire.
Avec mon idée de tableau, il aurait fallu mettre une boucle FOR, donc ça aurait été plus long en code.
31 oct. 2004 à 18:22
Mon INI date de plus de 3 ans. Encore heureux qu'il n'ait pas été bouffé par de nombreuses erreurs de disque.
31 oct. 2004 à 18:14
puis on ne risque pas de perdre le .ini :D
il faut ici juste convertir pour une page html, les surfeurs ne verront ke le résultats (c a dire la meme chose pour eux)
perso je prefere encore la conversion :) mais tes conversions sont tres utiles et tres compréhensible GrandVizir :) a garder pour d'autres sources :)
31 oct. 2004 à 18:04
Si l'INI est correct (ce qui est le cas), il n'y a pas de raison pour qu'il y ait des erreurs. J'essaie juste de montrer que mon idée de faire un tableau est bien plus judicieux. Lorsqu'on visualise le résultat, honnêtement, qu'est ce qui est le plus explicite "´" ou "é" ?
Il est certain qu'il n'y aura pas d'erreurs avec é, mais s'il y en a dans le tableau de référence, elles seront de toute manière tout de suite visibles...
31 oct. 2004 à 17:56
ses caracteres seront convertis correctement par la machine, et donc je repete, pas d'erreur de saisi de l'humain
31 oct. 2004 à 17:49
31 oct. 2004 à 17:46
31 oct. 2004 à 17:32
Sinon, l'idée "é" n'est pas plus astucieuse que la mienne. Juliodelphi vient de m'y faire penser. En effet, si on se trompe dans le 233 (on met 236), le caractère sera nécessairement affiché puisque 236 est correspond à un caractère ASCII. Mais si on se trompe dans "´" (on met "&acote;") alors on obtient un truc pas beau à l'écran qui montre pertinemment qu'il ya eu erreur de frappe, ce qui n'est pas flagrant avec le 236.
En tout cas, mon INI pourra toujours servir...
31 oct. 2004 à 17:17
A quel endroit est-il nécessaire de savoir à quel caractère correspond quel code ?
De plus, ce code est tout à fait adaptable et évolutif, comme je le précise, il suffit de rajouter les caractères spéciaux que l'on désire traduire en code html.
Bonne fin de dimanche ;)
japee
31 oct. 2004 à 17:16
31 oct. 2004 à 17:05
31 oct. 2004 à 16:35
31 oct. 2004 à 15:41
<=<
>=>
&=&
"="
=
®=®
©=©
TM=TM
£=£
¢=¢
À=À
Á=Á
Â=Â
Ã=Ã
Ä=Ä
Å=Å
Æ=Æ
Ç=Ç
È=È
É=É
Ê=Ê
Ë=Ë
Ì=Ì
Í=Í
Î=Î
Ï=Ï
Ð=Ð
Ñ=Ñ
Ò=Ò
Ó=Ó
Ô=Ô
Õ=Õ
Ö=Ö
Ø=Ø
Ú=Ú
Ù=Ù
Û=Û
Ü=Ü
Ý=Ý
Þ=Þ
ß=ß
á=á
à=à
â=â
ã=ã
ä=ä
å=å
æ=æ
ç=ç
è=è
é=é
ê=ê
ë=ë
ì=ì
í=í
ï=ï
ð=ð
ñ=ñ
ó=ó
ò=ò
õ=õ
ô=ô
ö=ö
ø=ø
ù=ù
ú=ú
û=û
ü=ü
ý=ý
þ=þ
ÿ=ÿ
¶=¶
Œ=¼
œ=½
Ÿ=¾
¿=¿
¡=¡
¹=¹
²=²
³=³
±=±
°=°
µ=µ
·=·
«=«
»=»
ª=ª
§=§
Š=¦
¥=¥
€=¤
¯=¯
ž=¸
Ž=´
¬=¬
31 oct. 2004 à 15:40
Tiens, je vais filer un INI.