realbasic-nug.fr
[Top] [All Lists]

lien dans un EditField

To: REALbasic NUG French <realbasic-nug dot fr at lists dot realsoftware dot com>
Subject: lien dans un EditField
From: Jean-Baptiste Barnoud <jbb at icom2i dot info>
Date: Fri, 12 Oct 2007 14:55:24 +0400
Delivered-to: listarchive at realsoftware dot com
Delivered-to: realbasic-nug dot fr at lists dot realsoftware dot com
References: <F0FAF5D1-B8A7-4B44-9A49-3DD18FBD913F at wanadoo dot fr> <470F2180 dot 309 at icom2i dot info>
Bonjour à tous,

J'essaye de faire un truc à priori assez bateau, mais qui me pose un sérieux problème. Je voudrais créer un traitement de texte rudimentaire : un editfield dans lequel l'utilisateur aurait la possibilité de mettre en gras ou en italique le texte qu'il saisit et d'insérer des liens hypertextes. Ensuite, bien sûr je veux pouvoir sauvegarder le tout (dans une base de données en l'occurrence).

Pour la mise en forme (gras et italique), pas de problème : j'enregistre la chaine de caractères d'un côté (EditField.Text) et le style d'un autre (EditField.TextStyleData). Pour réafficher le tout j'utilise EditField.SetTextAndStyle texte, style.

Par contre, pour le lien je ne vois pas. A la rigueur, ce serait possible si le texte du lien correspondait à l'adresse vers laquelle il pointe (je lui met un style, genre bleu souligné, et au survol de l'EditField, je repère ce style et je fais pointer vers l'adresse correspondant au texte concerné à l'aide d'un ShowURL). C'est pas forcément très simple mais c'est faisable. Mais si le texte du lien est différent de l'adresse pointée, là je sèche. Il faudrait pouvoir associer du texte "invisible" à une portion de texte de l'EditField (à la manière d'un style). On enregistrerait l'adresse du lien dans ce texte invisible.

Le plus gros problème réside dans le fait que le contenu de l'EditField est changeant. Dans le cas contraire on aurait pu compter les caractères et décréter que la portion de texte comprise entre les caractères tant et tant correspond à un lien pointant vers telle adresse. Mais si on modifie le texte précédent le lien ou, pire, si on déplace ce lien avec un couper/coller, la numérotation des caractères se trouve chamboulée et ça ne marche plus.

Quelqu'un a une solution ? Ou même une simple idée ?

JB


<Prev in Thread] Current Thread [Next in Thread>