Récupérer un Link dans une vue...

Forum destiné aux questions sur le développement : Formules, LotusScript, Java ...

Récupérer un Link dans une vue...

Messagepar Ahamay » 25 Nov 2009 à 14:16

Hello,

Le défi du jour : 8)

On a un Form (appelons le "FrMaster") qui contient un champ ("Comment") de type RicheText.

Dans ce champ on peut avoir tout et n'importe quoi... du texte mis en forme principalement... et (parfois) un link Notes (dbLink, viewLink, DocLink en général).

Objectif : Dans une vue, basée sur ce Form, on souhaite afficher une icone dans une colonne... ladite icone représentant (on s'en doute) le link du champ RT "Comment". Et bien sur, si on clique dessus....... ;)


Ca inspire qqun ?


* si nécessaire, je peux me permettre d'ajouter un champ dans le form de mainière à isoler le link .... c'est tout de suiste beaucoup plus simple non ??? lol
Si haut que l'on soit placé, on n'est jamais assis que sur son cul (Montaigne) 8)
Avatar de l’utilisateur
Ahamay
Posteur expérimenté
Posteur expérimenté
 
Message(s) : 368
Inscrit(e) le : 27 Nov 2007 à 09:30
Localisation : Completement à l'ouest

Messagepar Michael DELIQUE » 25 Nov 2009 à 14:20

salut

client lourd ou web ?

le fait de vouloir traiter un richtext pour en récupéré les link , j'ai déjà vu/lu ça quelque part

je crois que c'est sur le site... tu as fait une petite recherche ?
Cordialement

Michael (SMS-Phobique)
----------------------------
"La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi."
Albert EINSTEIN
Avatar de l’utilisateur
Michael DELIQUE
Administrateur
Administrateur
 
Message(s) : 12183
Inscrit(e) le : 16 Déc 2004 à 10:36
Localisation : Paris/Cergy

Messagepar Ahamay » 25 Nov 2009 à 14:25

Hello Michael....

Pas besoin de faire une recherche.... le précédent post sur le sujet c'est moi qui l'avais pondu lol .... mais le but était de récupérer un path dans un champ text, et de l'utiliser via la propriété "InViewEdit".

Là c'est différent, faut jouer avec le link dans le RT


Et.... client Lourd ;)
Si haut que l'on soit placé, on n'est jamais assis que sur son cul (Montaigne) 8)
Avatar de l’utilisateur
Ahamay
Posteur expérimenté
Posteur expérimenté
 
Message(s) : 368
Inscrit(e) le : 27 Nov 2007 à 09:30
Localisation : Completement à l'ouest

Messagepar Michael DELIQUE » 25 Nov 2009 à 14:30

Cordialement

Michael (SMS-Phobique)
----------------------------
"La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi."
Albert EINSTEIN
Avatar de l’utilisateur
Michael DELIQUE
Administrateur
Administrateur
 
Message(s) : 12183
Inscrit(e) le : 16 Déc 2004 à 10:36
Localisation : Paris/Cergy

Messagepar Ahamay » 25 Nov 2009 à 14:44

J'éais en train de creuser du coté de "NotesRichTextNavigator"... et je me suis rendu compte d'un truc étrange :

Dans mon form j'ai plusieurs champs RichText, or, si j'affiche les propriétés des documents, dans certains cas, un des mes RT (celui qui m'interesse en l'occurence) apparait Vide, alors que si j'ouvre mon doc, il contient bien qqchose !

Lotus, depuis la nuit des temps déconseille de mettre plusieurs champs RT dans le même masque, ceci expliquerait il cela ???
Si haut que l'on soit placé, on n'est jamais assis que sur son cul (Montaigne) 8)
Avatar de l’utilisateur
Ahamay
Posteur expérimenté
Posteur expérimenté
 
Message(s) : 368
Inscrit(e) le : 27 Nov 2007 à 09:30
Localisation : Completement à l'ouest

Messagepar Michael DELIQUE » 25 Nov 2009 à 14:47

je sais que en fonction du contenu de ton richtext, notes va ane générer plusieur "systeme"
Cordialement

Michael (SMS-Phobique)
----------------------------
"La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi."
Albert EINSTEIN
Avatar de l’utilisateur
Michael DELIQUE
Administrateur
Administrateur
 
Message(s) : 12183
Inscrit(e) le : 16 Déc 2004 à 10:36
Localisation : Paris/Cergy

Messagepar Ahamay » 25 Nov 2009 à 15:04

Ouai Michael, je confirme...

Je suis en train de m'amuser avec NotesRichTextNavigator class

-> Ci dessous, un petit bout de code rigolot (amélioré depuis tout a l'heure ) A placer dans un HotSpot Bouton par exemple :)

-> Dans un 1er temps ça parcours un champ texte riche, renvois toutes les infos possibles (Nb d'objets, de paragraphes, de link...etc)
-> Ensuite, pour chaque docLink trouvé il affichera (la bb cible, l'id de réplique, le nom de la base... etc)



--------------------------------------------------------
Sub Click(Source As Button)

Dim session As NotesSession
Dim db As NotesDatabase
Dim dc As NotesDocumentCollection
Dim rti As NotesRichTextItem
Dim rtnav As NotesRichTextNavigator
Dim uidoc As NotesUIDocument
Dim doc As NotesDocument
Dim rtrange As NotesRichTextRange
Dim rtlink As NotesRichTextDocLink
Dim workspace As New NotesUIWorkspace

Set session = New NotesSession
Set db = session.CurrentDatabase
Set uidoc = workspace.CurrentDocument
Set doc=uidoc.Document
Set rti = doc.GetFirstItem("Body")
Set rtnav = rti.CreateNavigator

'Affiche les informations générales pour ce champ (nb d'objets, de tableaux, paragraphe liens.....)
Messagebox "Alors, dans ce champ RT (" & rti.Name &") nous trouvons : "_
& Chr(13) & Chr(13) & Chr(13) &"Number of doc links = " & GetCount(rtnav, RTELEM_TYPE_DOCLINK) _
& Chr(13) & _
"Number of file attachments = " & GetCount(rtnav, RTELEM_TYPE_FILEATTACHMENT) _
& Chr(13) & _
"Number of OLE objects = " & GetCount(rtnav, RTELEM_TYPE_OLE) _
& Chr(13) & _
"Number of sections = " & GetCount(rtnav, RTELEM_TYPE_SECTION) _
& Chr(13) & _
"Number of tables = " & GetCount(rtnav, RTELEM_TYPE_TABLE) _
& Chr(13) & _
"Number of table cells = " & GetCount(rtnav, RTELEM_TYPE_TABLECELL) _
& Chr(13) & _
"Number of text paragraphs = " & GetCount(rtnav, RTELEM_TYPE_TEXTPARAGRAPH) _
& Chr(13) & _
"Number of text runs = " & GetCount(rtnav, RTELEM_TYPE_TEXTRUN),, _
"Elements in Body item"

Set rtnav = rti.CreateNavigator

If rtnav.FindFirstElement(RTELEM_TYPE_DOCLINK) Then
Set rtrange = rti.CreateRange()
count% = 0

'Affiche les infos (Db, view, Id, replique......) de tous les DocLink du document

Do
Set rtlink = rtnav.GetElement
count% = count% + 1
msg$ = rtlink.DisplayComment & Chr(13) & Chr(13) & " - Replica ID = " & rtlink.DbReplicaID

If rtlink.ViewUNID <> String$(32, "0") Then
msg$ = msg$ & Chr(13) & " - View UNID = " & rtlink.ViewUNID
End If

If rtlink.DocUNID <> String$(32, "0") Then
msg$ = msg$ & Chr(13) & " - Doc UNID = " & rtlink.DocUNID
End If

Messagebox msg$ & Chr(13) & " - Serveur : " &rtlink.ServerHint ,, "Infos pour le DocLink N°"& count%

Loop While rtnav.FindNextElement( RTELEM_TYPE_DOCLINK)
End If

End Sub

-----------------------------------------------------------------

Function GetCount( rtnav As NotesRichTextNavigator, elementType As Integer) As Integer
GetCount = 0
If rtnav.FindFirstElement(elementType) Then
Do
GetCount = GetCount + 1
Print GetCount
Loop While rtnav.FindNextElement(elementType)
End If
End Function

------------------------------------------------------------------------


J'sais pas si ça pourra servir a qqun en tout cas j'me suis bien amusé avec ces classes :)
Si haut que l'on soit placé, on n'est jamais assis que sur son cul (Montaigne) 8)
Avatar de l’utilisateur
Ahamay
Posteur expérimenté
Posteur expérimenté
 
Message(s) : 368
Inscrit(e) le : 27 Nov 2007 à 09:30
Localisation : Completement à l'ouest

Messagepar Ahamay » 26 Nov 2009 à 17:42

:lol:

Yessss, j'ai réussi à coller mon docLink dans ma vue. 8)

Je nettoie un peu mon code et je TIPs ça dès demain :)
Si haut que l'on soit placé, on n'est jamais assis que sur son cul (Montaigne) 8)
Avatar de l’utilisateur
Ahamay
Posteur expérimenté
Posteur expérimenté
 
Message(s) : 368
Inscrit(e) le : 27 Nov 2007 à 09:30
Localisation : Completement à l'ouest

Messagepar Jérome Deniau » 26 Nov 2009 à 23:24

Consulter les slides LotuSphere 2007, il ya un code qui le fait ;-)
Je me demande même si ce n'était pas en 2005.....
Jérome Deniau
 


Retour vers Développement

cron