Autor Thema: Schreibweise Script - Aufbau  (Gelesen 2946 mal)

Offline skywook

  • Senior Mitglied
  • ****
  • Beiträge: 445
  • Ich liebe dieses Forum!
Schreibweise Script - Aufbau
« am: 24.02.04 - 10:45:09 »
Hallo,
habe dieses Script geschrieben (auch mit Hilfe von euch). Es öffnet eine Maske und zeigt in einer Messagebox den Inhalt des Feldes Vorgabe an.

Bin noch ein Neuling, aber würdet Ihr dieses Script vom Aufbau her anderst schreiben bzw aufbauen?
Gibt es irgendwelche Standards, damit auch andere die Scripte ohne grossen Aufwand lesen können?

Sub Click(Source As Navigator)
     Dim session As New NotesSession
     Dim ws As New NotesUIWorkspace
     Dim uidoc As notesuidocument
     Dim dbThis As NotesDatabase
     Dim doc As NotesDocument
     
     Set dbThis = session.CurrentDatabase
     Set doc = dbThis.CreateDocument
     doc.Form = "Maske1"
     Call ws.EditDocument( True , doc )
     
     Set ws = New notesuiworkspace
     Set uidoc = ws.currentDocument
     
     a2 = uidoc.FieldGetText( "Vorgabe" )
     Messagebox a2
End Sub

Offline TMC

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.660
  • Geschlecht: Männlich
  • meden agan
Re:Schreibweise Script - Aufbau
« Antwort #1 am: 24.02.04 - 11:03:09 »
Skywook, das Thema Notation hatten wir schon anderweitig öfter mal diskuitiert.
U.a. wird öfter die "Hungarian Notation" verwendet, hier eine Aufstellung von koehlerbv (Bernhard):

Zitat
Ohne Anspruch auf Vollständigkeit und "That's it!" hier ein schneller Auszug:
i              Integer
l              Long
sng          Single
dft            Double
crr            Currency
sz            String
v              Variant
a              Array
lst            List


b   Boolean      In Wirklichkeit Integer - nur genutzt für "True" und "False"
t   Type      Dim tPersonRecord as PersonRecord
C   Class
m_   Member variable   (of a class)
g_   Global variable prefix


ws   NotesUIWorkspace
uidoc   NotesUIDocument
session   NotesSession
dbd    NotesDbDirectory
db   NotesDatabase
log   NotesLog
dt   NotesDateTime
nl   NotesNewsLetter
dc   NotesDocumentCollection
doc   NotesDocument
view   NotesView
viewcol   NotesViewColumn
agent   NotesAgent
acl   NotesACL
acle   NotesACLEntry
itm   NotesItem
name   NotesName
rti   NotesRichTextItem
eo   NotesEmbeddedObject
dt   NotesDateTime

Zu Deinem jetzigen Script:
Bitte setze unbedingt "Option Declare" ein. Und deklariere Deine Strings etc.

D.h. Deine letzten 2 Zeilen würden sauberer so aussehen:

Dim szAusgabe as String
szAusgabe = uidoc.FieldGetText( "Vorgabe" )
Messagebox szAusgabe

Statt "sz" als String nehmen viele auch "str" her, ist wohl auch Geschmackssache.


Matthias
Matthias

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


Offline ata

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 5.092
  • Geschlecht: Männlich
  • drenaiondrufflos
    • Anton Tauscher Privat
Re:Schreibweise Script - Aufbau
« Antwort #2 am: 24.02.04 - 16:03:42 »
... ich nehme für Strings nur ein "s" - also

Dim sValue As String

Bei Dokumenten und Datenbanken mach ich noch den Unterschied, ob es das aktuelle Objekt ist, daß ich als Backend habe oder nicht

Dim ws As New NotesUIWorkspace
Dim uidoc As NotesUIDocument
Dim docThis As NotesDocument
Dim dbThis As NotesDatabase

Set uidoc = ws.CurrentDocument
Set docThis = uidoc.Document
Set dbThis = docThis.Parentdatabase

...

ata
Grüßle Toni :)

Offline TMC

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.660
  • Geschlecht: Männlich
  • meden agan
Re:Schreibweise Script - Aufbau
« Antwort #3 am: 24.02.04 - 20:17:55 »
Ata, die Unterscheidung macht imho auch Sinn, gerade wenn man mit verschiedenen DBs oder Dokumenten zu tun hat, also z.B. von A nach B kopiert, da versuche ich auch das sinnvoll abzubilden:

Dim docThis As NotesDocument
Dim dbThis As NotesDatabase
Dim docNew As NotesDocument
Dim dbNew As NotesDatabase
Dim dbMail As NotesDatabase
Dim docMail As NotesDocument
etc.

Wenn ich im einen Script nur mit einem Backend-doc oder nur einer DB zu tun habe, dann lasse ich es meistens.

Wie schon erwähnt: Das wichtigste ist m.E. Option Declare, lässt sich im 6er Designer ja eh per Default einstellen.

"s" nehmen (leider) manche auch als "NotesSession" her, daher nehme ich persönlich sz oder str

Matthias
« Letzte Änderung: 24.02.04 - 20:19:12 von TMC »
Matthias

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


Offline ata

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 5.092
  • Geschlecht: Männlich
  • drenaiondrufflos
    • Anton Tauscher Privat
Re:Schreibweise Script - Aufbau
« Antwort #4 am: 25.02.04 - 18:24:01 »
... bei der NotesSession mach ich mir noch das Leben schwer und verwende

Dim session As New NotesSession

ata  8)
Grüßle Toni :)

Offline Daniel

  • Senior Mitglied
  • ****
  • Beiträge: 263
  • Geschlecht: Männlich
  • Schlagzeugtrommelfell
    • My personal Website
Re:Schreibweise Script - Aufbau
« Antwort #5 am: 26.02.04 - 09:16:34 »
WAs hat es mit dem Open Declare auf sich?

SG

Daniel

klaussal

  • Gast
Re:Schreibweise Script - Aufbau
« Antwort #6 am: 26.02.04 - 09:47:30 »
open muss wohl OPTION heissen,

das heisst, das jede variable declariert sein muss. wenn mann/frau diese option weglässt, legt LoNo automatisch nicht deklarierte variablen an als variant.

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re:Schreibweise Script - Aufbau
« Antwort #7 am: 26.02.04 - 09:48:13 »
Hi,

das heißt Option Declare und nicht Open Declare.

Das bewirkt, dass man die Variablen deklarieren muß. Man kann nicht einfach eine Variable mit einem Wert belegen und dann nutzen.

Also immer zuerst mit Dim deklarieren und dann nutzen.

Beisp.:
...
Dim intVariable As Integer

intVariable = 1
...

Axel




Ohne Computer wären wir noch lange nicht hinterm Mond!

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz