par Droad » 26 Jan 2004 à 11:52
Un moyen (pas terrible): vérifier pérodiquement la taille du texte à l'aide d'un NoteTimer.Ex: 1) Un champ 'Texte' (Declaration):Dim LengthCheckTimer As NotesTimerConst MAX_LEN = 20Entering:LengthCheckTimer.Enabled = TrueExiting:LengthCheckTimer.Enabled = FalseInitialize:Set LengthCheckTimer = New NotesTimer(1)LengthCheckTimer.Enabled = FalseOn Event Alarm From LengthCheckTimer Call CheckLengthA coller:Sub CheckLength(Source As NotesTimer) Dim ws As New NotesUIWorkspace, uidoc As NotesUIDocument Dim t As String, lg As Integer Set uidoc = ws.CurrentDocument Set doc = uidoc.Document t = uidoc.FieldGetText("Texte") lg = Len(t) If (lg>MAX_LEN ) Then Msgbox "Text trop long ( caractères " & MAX_LEN & "max.)" Call uidoc.FieldSetText("Texte", Left(t,MAX_LEN )) lg = MAX_LEN End If Call uidoc.FieldSetText("LongueurTexte", lg & "")End Sub2) Un champ 'LongueurTexte', numérique, éditable, décocher l'option 'afficher les délimiteur', par défaut : 0, conversion d'entrée: @Length(Texte)Entering:Dim ws As New NotesUIWorkspaceCall ws.CurrentDocument.GotoPrevField()[%sig%]