Autor Thema: Abfrage ob Feld = RTF  (Gelesen 2166 mal)

Offline bob

  • Aktives Mitglied
  • ***
  • Beiträge: 166
  • Geschlecht: Männlich
  • R5
Abfrage ob Feld = RTF
« am: 04.07.03 - 22:25:21 »
Hi,

um abzufragen, ob das Feld, in dem sich der Cursor befindet ein RTF-Feld ist, nutze ich untenstehende Formel (über Abfrage ob Attachment angehängt werden kann).
Ist ja als Workaround soweit brauchbar, auch wenn nicht gerade elegant.

In dem Beispiel soll per Klick ein Dok-Link eingefügt werden; wenn der Cursor nicht in einem Richtext-Feld ist soll die Fehlermeldung kommen.

Klappt leider nicht ganz, die Fehlermeldung kommt erst nachdem der User in der Picklist ein Dok ausgewählt hat.
Liegt bestimmt daran, dass wohl @Command([EditInsertFileAttachment]) immer zum Schluss ausgeführt wird!?

Hat vielleicht jemand eine saubere Lösung?

bye,
Bob



_unid := @PickList([Custom]:[Single];"":"";"(DokLink_Picklist)"; "Auswahl";"Wählen Sie das Dokument aus";5);

@If(
   @IsError(
         @Command([EditInsertFileAttachment]));
         @Prompt([OK];"Fehler";"Um einen Dokument-Link einzufügen muss sich" +@Char(13)+ "der Cursor in einem Richtext-Feld befinden!");
      @Command([FileOpenDatabase];"":"";"(DokLink_unid)";_unid;"1";"1")
      + @Command([EditMakeDocLink])
      + @Command([FileCloseWindow])
      +@PostedCommand([EditPaste])         
)

Offline Meff

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.095
  • Geschlecht: Männlich
  • Das Denken der Zukunft muß Kriege unmöglich machen
    • apparet id etiam caeco
Re:Abfrage ob Feld = RTF
« Antwort #1 am: 04.07.03 - 23:03:28 »
Hast Du schonmal mit @PostedCommand gearbeitet? Diese Kommandos werden erst Nach Verarbeitung der restlichen Commands verarbeitet.

Meff
"Zwei Dinge sind zu unserer Arbeit nötig: Unermüdliche Ausdauer und die Bereitschaft, etwas, in das man viel Zeit und Arbeit gesteckt hat, wieder wegzuwerfen."
Albert Einstein

Offline bob

  • Aktives Mitglied
  • ***
  • Beiträge: 166
  • Geschlecht: Männlich
  • R5
Re:Abfrage ob Feld = RTF
« Antwort #2 am: 04.07.03 - 23:15:31 »
Hi Meff,

danke, ja kenn ich.
Leider ist wohl der Befehl "FileAttach" so 'extrem' spät, dass dieser erst nach allem anderen ausgeführt wird, also auch nach den @PostedCommands....

D.h. auch wenn ich die @Commands durch @Posted's ersetze kommt trotzdem erst danach meine @Prompt-Meldung  >:(

bye,
Bob

Offline Meff

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.095
  • Geschlecht: Männlich
  • Das Denken der Zukunft muß Kriege unmöglich machen
    • apparet id etiam caeco
Re:Abfrage ob Feld = RTF
« Antwort #3 am: 04.07.03 - 23:26:00 »
Hast Du das ganze schonmal probiert in Script zu realisieren?

Meff
"Zwei Dinge sind zu unserer Arbeit nötig: Unermüdliche Ausdauer und die Bereitschaft, etwas, in das man viel Zeit und Arbeit gesteckt hat, wieder wegzuwerfen."
Albert Einstein

Offline bob

  • Aktives Mitglied
  • ***
  • Beiträge: 166
  • Geschlecht: Männlich
  • R5
Re:Abfrage ob Feld = RTF
« Antwort #4 am: 04.07.03 - 23:32:11 »
Hi Meff,

 :)

Das traue ich mir noch nicht zu  :-\

Ich hab zwar gewisse Basiskenntnisse in Script (gelernt via Designer-Hilfe und Threads hier im Board) aber über eine Picklist einen Dok-Link einzufügen und die Abfrage ob aktuelles Feld = RTF ist mir leider noch zu heftig....

Script ist ja eigentlich simpel (logisch aufgebaut), aber z.B. bei Picklist bin ich jetzt noch überfragt.

Daher eben meine versuchte Lösung via Formelsprache  ;)

Bob

Offline ata

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 5.092
  • Geschlecht: Männlich
  • drenaiondrufflos
    • Anton Tauscher Privat
Re:Abfrage ob Feld = RTF
« Antwort #5 am: 05.07.03 - 00:02:40 »
... mit LS ist das gar nicht so schwer...

Dim ws As New NotesUIWorkspace
Dim docThis As NotesDocument
Dim RTitem As NotesRichTextitem

Set docThis = ws.CurrentDocument.Document
Set RTitem = docThis.GetFirstItem( "Name_des_Richtextfeldes" )
If Not RTitem is Nothing Then
   If RTitem.Type = 1 Then
      MsgBox "... es ist ein Richtextfeld"
   End If
End If

ata
Grüßle Toni :)

Offline Axel_Janssen

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 769
Re:Abfrage ob Feld = RTF
« Antwort #6 am: 05.07.03 - 00:02:52 »
ist nicht so schwierig.

Hints:
a) NotesUiWorkspace hat eine PickListStrings-Methode (allerdings mit unübersichtlich vielen Parametern)

b) Klasse NotesUiDocument hat Property CurrentField

c) Klasse NotesItem hat Property Type

d) Klasse NotesRichTextItem hat die Methode EmbedObject


Erst b, dann damit etwa so (ist nicht so ganz einsichtig, hängt damit zusammen das NotesRichTextItem extends NotesItem:)

Dim nrti as NotesRichTextItem
[...]
set nrti = doc.getFirstItem(herausgefunden_in_b)
if (nrti.Type!= RICHTEXT) then
 msgbox "fehler"
else
    do a
     do d
end if

... design patterns are abstract designs that help identify the structure and elements involved in a specific design solution. From this, a concrete implementation can be produced.
Kyle Brown

Offline Axel_Janssen

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 769
Re:Abfrage ob Feld = RTF
« Antwort #7 am: 05.07.03 - 00:29:14 »
bob,

verstehe etwas anderes nicht.

Zitat
In dem Beispiel soll per Klick ein Dok-Link eingefügt werden; wenn der Cursor nicht in einem Richtext-Feld ist soll die Fehlermeldung kommen.
Dir ist klar, das das event onClick bei Feldern ein JavaScript-Event ist??

Im LotusScript Event-Model haben nur Buttons und Aktionsschaltflächen ein LS-click-Event.
Wenn der User aber auf den Button klickt, ist der Cursor logischerweise nicht mehr im Feld !

Oder habe ich jetzt was übersehen?

Axel
... design patterns are abstract designs that help identify the structure and elements involved in a specific design solution. From this, a concrete implementation can be produced.
Kyle Brown

Offline bob

  • Aktives Mitglied
  • ***
  • Beiträge: 166
  • Geschlecht: Männlich
  • R5
Re:Abfrage ob Feld = RTF
« Antwort #8 am: 05.07.03 - 00:35:03 »
Hi Axel,

vielleicht hab ich mich auch unklar ausgedrückt.

OK, hier mal'n anderes Beispiel von mir:


@If(
   @IsError(
         @Command([EditInsertFileAttachment]));
         @Command([EditGotoField]; "A_Body")
         +@Command([EditInsertFileAttachment]);
@Success)


Die Formel ist als Hotspot in der Maske. Wenn Fehler (also kein RTF-Feld), geht der Cursor zum Feld A_Body.
Das klappt wirklich auch wunderbar.

Bob

Offline bob

  • Aktives Mitglied
  • ***
  • Beiträge: 166
  • Geschlecht: Männlich
  • R5
Re:Abfrage ob Feld = RTF
« Antwort #9 am: 05.07.03 - 00:50:25 »
Hi,

danke Euch für die Script - Unterstützung.

Allerdings:

Die Prüfung ob RTF ist dank Script von Ata plausibel und klappt bestimmt.

Die Picklist dank der Hinweise von Axel hab ich auch mal getestet, leider ohne Erfolg.


Mittlerweile bin ich schon soweit dass ich Prioritäten setze:
Klar ist es prima, dass der Anwender VOR Auswahl eines Doks schon eine Fehlermeldung bekommt, wenn Feld nicht RTF, allerdings hält mich das ganze Thema jetzt sehr auf, was andere noch zu implementierende Funktionalitäten in die DB ausbremst.

Fazit: Danke Euch für die Lösungen, aber mangels Zeit und weiterer offener Umsetzzungen werde ich diesen hier geposteten Komfort für Anwender bis auf weiteres jetzt nicht im Script umsetzen.
Höchstens per [ToolsRunMacro] und dann Ata's Code aufrufen, aber dann hab ich bestimmt auch wieder Probleme mit der Reihenfolge. Oder ich lagere den ganzen Code in Agenten aus, aber dann ist es super unübersichtlich.....

Na ja, mal schaun.

Bob

Offline Meff

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.095
  • Geschlecht: Männlich
  • Das Denken der Zukunft muß Kriege unmöglich machen
    • apparet id etiam caeco
Re:Abfrage ob Feld = RTF
« Antwort #10 am: 05.07.03 - 12:12:34 »
Noch ne Idee: Warum gehst Du nicht einfach in das RichTextFeld um anschliessend das Ding zu erstellen?

Meff
"Zwei Dinge sind zu unserer Arbeit nötig: Unermüdliche Ausdauer und die Bereitschaft, etwas, in das man viel Zeit und Arbeit gesteckt hat, wieder wegzuwerfen."
Albert Einstein

Offline bob

  • Aktives Mitglied
  • ***
  • Beiträge: 166
  • Geschlecht: Männlich
  • R5
Re:Abfrage ob Feld = RTF
« Antwort #11 am: 05.07.03 - 16:28:33 »
Zitat
Noch ne Idee: Warum gehst Du nicht einfach in das RichTextFeld um anschliessend das Ding zu erstellen?

Weil es leider mehrere RTF gibt, wo diese Funktion gehen soll...

Bob

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz