Autor Thema: Buttons  (Gelesen 1659 mal)

Offline muR

  • Junior Mitglied
  • **
  • Beiträge: 63
  • Geschlecht: Männlich
  • Rock my life
Buttons
« am: 05.08.04 - 12:38:44 »
Hallo,

ich hab' da ein Problem mit den Buttons.
Ich möchte Notes Script den Name des Button auslesen welches von User gedrückt worden ist. Ich wollte das über das Click event machen. Da wird zwar ein tolle Source als Variable reingeschrieben welche ab gänzlich leer ist. Wie bekommt man das auf die Reihe.

Danke für Euere Hilfe.
Gruß

Offline Tode

  • Moderatoren
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 6.885
  • Geschlecht: Männlich
  • Geht nicht, gibt's (fast) nicht... *g*
Re:Buttons
« Antwort #1 am: 05.08.04 - 17:01:00 »
gar nicht..... aber ich verstehe auch nicht wozu...

Hast Du vielleicht eine Script- Library, die von jedem Button aus aufgerufen wird, und wo das, was getan wird, vom Button abhängig ist !?

Dann übergib der Funktion einen Parameter und schreib in Deinen Button-Code:

Call DeineFunktion( "NameDesButtons" )

HTH
Tode
Gruss
Torsten (Tode)

P.S.: Da mein Nickname immer mal wieder für Verwirrung sorgt: Tode hat NICHTS mit Tod zu tun. So klingt es einfach, wenn ein 2- Jähriger versucht "Torsten" zu sagen... das klingt dann so: "Tooode" (langes O, das r, s und n werden verschluckt, das t wird zum badischen d)

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re:Buttons
« Antwort #2 am: 05.08.04 - 23:58:18 »
Ich kann mich Tode hier nur vollkommen anschliessen: Sicherlich kann man da einiges machen (nur nicht so, wie Du Dir das momentan vorstellst), nur müssen wir wissen, was Du eigentlich erreichen willst. Schreib' das mal sauber auf und vertraue dann auf die Community dieses Forums  ;)

Bernhard

Offline muR

  • Junior Mitglied
  • **
  • Beiträge: 63
  • Geschlecht: Männlich
  • Rock my life
Re:Buttons
« Antwort #3 am: 06.08.04 - 08:08:47 »
Also ich habe eine Adressdatenbank mit einer Maske die eine eingebette Ansicht besitzt. Über die Buttons soll die ANsicht selektiert werden. Die Buttons haben die Namen A...Z somit werden jeweils die Adressen mit A, B...Z angezeigt.
Mein jetziger Code ist im Clickevent der Buttons.
Sub Click(Source As Button)
   
   Dim uiws As New NotesUIWorkspace
   Dim uidoc As NotesUIDocument    
   
   Set uidoc = uiws.CurrentDocument
   Set doc = uidoc.Document
   
   doc.ABCsort = "D"  
'Hier soll der Buttonname rein
   Call uidoc.Refresh
End Sub

Nur möchte ich einen einheitlichen Code haben und nicht jedesmal den Buchstaben im Code hinterlegen, sondern den Namen des Buttons (de ja der Buchstabe ist) im Code benutzen.

Gruß
mur

Offline umi

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.062
  • Geschlecht: Männlich
  • one notes to rule'em all, one notes to find'em....
    • Belsoft AG
Re:Buttons
« Antwort #4 am: 06.08.04 - 08:16:23 »
Du kannst doch im Form eine globale Funktion definieren z.B.
wechsleABCSort('D')
dann brauchst du pro button nur 1 Funktion aufzurufen und hast einen einheitlichen Code, ausserdem wird dann nicht jedesmal der uiws initialisert....
Gruss

Urs

<:~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Jegliche Schreibfehler sind unpeabischigt
http://www.belsoft.ch
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:>

Offline Tode

  • Moderatoren
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 6.885
  • Geschlecht: Männlich
  • Geht nicht, gibt's (fast) nicht... *g*
Re:Buttons
« Antwort #5 am: 06.08.04 - 08:52:52 »
das mit der Funktion ist schon mal gut...

Abgesehen davon:
in der Zeit, in der Du hier im Forum auf die Antwort gewartet hast, hättest DU auch schon den Button 26x kopiert und die Buchstaben eingetragen... ;)

Ich würde Dir aber trotzdem raten, das in eine Funktion auszulagern. Was bringt es Dir, wenn der Buchstabe aus dem Button-Lable berechnet wird, und Du später merkst, dass in Deinem Code eine Zeile Fehlt / Code- Optimierungen vorgenommen werden könnten...

Also:

in jeden Button reinschreiben Call wieauchimmer( "A" )

und dann in Deine Funktion den Code... wenn sich dann was ändert, dann musst DU nur an einer Stelle code wälzen, nicht an 26.

HTH
Tode
Gruss
Torsten (Tode)

P.S.: Da mein Nickname immer mal wieder für Verwirrung sorgt: Tode hat NICHTS mit Tod zu tun. So klingt es einfach, wenn ein 2- Jähriger versucht "Torsten" zu sagen... das klingt dann so: "Tooode" (langes O, das r, s und n werden verschluckt, das t wird zum badischen d)

Offline TMC

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.660
  • Geschlecht: Männlich
  • meden agan
Re:Buttons
« Antwort #6 am: 07.08.04 - 22:53:48 »
Ich würde Dir aber trotzdem raten, das in eine Funktion auszulagern.

Sehe ich auch so.
Wenn Du allerdings mit "Shared Actions" und einer ScriptLibrary arbeitest, können unter Umständen Probleme auftauchen.

Siehe Kapitel 9.4.1 des BP-Artikels Agenten in Notes/Domino
Zitat
9.4.1 Shared Actions – Gemeinsame Aktionen

Es gibt vermehrt Probleme beim Einsatz von Shared Actions – wenn diese in Lotus Script geschrieben sind. Das Script wird nicht immer wie vorgesehen ausgeführt. Die Probleme treten noch häufiger auf, wenn im Code auf Script Libraries zurückgegriffen wird. Als Abhilfe lagert man das Script in einen Agenten aus (Trigger: None / Run once (@Commands may be used)). In die Shared Action schreibt man den Formelsprachebefehl @Command([ToolsRunMacro]; Agent ) und ruft damit den erzeugten Agenten auf. Mit dieser Vorgehensweise lassen sich Shared Actions zuverlässig verwenden.

Das ist mein Weg bei der Verwendung von Script in Verbindung mit Shared Actions. Im Agenten steht dann im Initialze i.d.R. nur 1 Zeile:
Call SubBlaBla(...)
« Letzte Änderung: 07.08.04 - 22:54:14 von TMC »
Matthias

A good programmer is someone who looks both ways before crossing a one-way street.


Offline Tode

  • Moderatoren
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 6.885
  • Geschlecht: Männlich
  • Geht nicht, gibt's (fast) nicht... *g*
Re:Buttons
« Antwort #7 am: 09.08.04 - 08:19:12 »
Vielleicht sollte man noch dazu sagen, wie das Haupt-Problem aussieht, das mit Shared Actions & Script provoziert wird:

Denn das ist eine Geschichte, auf die man alleine NIE kommen würde:

Benutzt man shared Actions mit Script-Libraries oder einfach direkt codiertem Script, dann kommt es zu dem seltsamen verhalten, dass NotesDatabase.UnprocessedDocuments nur jedes ZWEITE Mal die komplette Collection zurückliefert. Die anderen male wird immer nur das Dokument, das aktuell den Focus hat, zurückgeliefert, egal wie viele man markiert hat..

Ist der Debugger eingeschaltet zeigt sich das ganze wieder anders, ich meine, dass es da immer funktioniert (was die Fehlersuche nicht unbedingt erleichtert), aber das ist schon so lange her, dass ich mir nicht mehr sicher bin...

Gruß
Tode
Gruss
Torsten (Tode)

P.S.: Da mein Nickname immer mal wieder für Verwirrung sorgt: Tode hat NICHTS mit Tod zu tun. So klingt es einfach, wenn ein 2- Jähriger versucht "Torsten" zu sagen... das klingt dann so: "Tooode" (langes O, das r, s und n werden verschluckt, das t wird zum badischen d)

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz