Domino 9 und frühere Versionen > Entwicklung

Array füllen über eine Function-Prozedur

<< < (2/3) > >>

TMC:

--- Zitat von: skywook am 11.02.05 - 15:32:12 ---Habe bis jetzt noch nicht mit Array gearbeitet.
--- Ende Zitat ---

Wenn Du das Trial & Error abkürzen willst, empfehle ich, ein Buch über Notes-Entwicklung zu lesen, Arrays werden wohl in jedem Buch behandelt.
Ansonsten kann hier noch hilfreich sein:
 - Redim Preserve <-- mit Bedacht in Schleifen zu verwenden aufgrund Performance
 - ArrayAppend
 - Fulltrim
 - Forall Schleife
(ist alles in der Designerhilfe erklärt).

skywook:
Hallo,
hier die kurze Form des Scripts:
Wird über einen Agenten gestartet.

Sub Initialize
Dim etti1(16) As String
Dim x As Integer   
Dim auswahl As Integer   
Dim session As New NotesSession
Dim ws As New NotesUIWorkspace   
Dim db As NotesDatabase
Dim collection As NotesDocumentCollection
Dim doc As NotesDocument
Dim newdoc As NotesDocument
   
Set db = session.CurrentDatabase
Set collection = db.UnprocessedDocuments
Set doc = collection.GetFirstDocument
   
If collection.Count = 0 Then
   Messagebox "Sie haben kein Dokument markiert!",0 + 16,"Fehler"
   Exit Sub
End If
   
diabox = ws.DialogBox ( "DDruck", True, True, False, True,True, False, "Etikettendruck" )   
If diabox = "False" Then
   Exit Sub
End If
   
While Not(doc Is Nothing)   
.........


Hier sollte die Function aufgerufen werden (mit dem
nachfolgenden Script) um den Array zu füllen.
      
etti1(1) = doc.eapnr(0)
etti1(2) = doc.sachgebiet1(0)
etti1(3) = doc.sachgebiet2(0)
etti1(4) = doc.stichwort1(0)
etti1(5) = doc.stichwort(0)
etti1(6) = doc.stichwort3(0)
etti1(7) = doc.stichwort4(0)
etti1(8) = doc.Bemerkungen1(0)
etti1(9) = doc.Bemerkungen(0)
etti1(10) = doc.Bemerkungen3(0)
etti1(11) = doc.Bemerkungen4(0)
etti1(12) = doc.Ordner1(0)
etti1(13) = doc.Ordner2(0)
etti1(14) = doc.Fachabteilung(0)
etti1(15) = doc.Vernichtungsjahr(0)
etti1(16) = Cstr(doc.Ablagejahr(0))

Thomator:
Hi,

der Funktionsrumpf muss so ausseshen:

function fillArray() as variant

   ... die Operationen mit etti
   
   fillArray = etti
end funktion

allerdings ist die Funktion dann auch in anderem Context eigentlich nicht verwendbar und kann höchstens ein bisschen zur Übersicht beitragen. Wenn Du die auch in anderen Situationen verwenden willst, must Du sie noch generalisieren (Übergabeparameter usw.).

Thomas

skywook:
Danke Thomas,
wie sieht das denn mit den Übergabeparameter aus.

Wie übergebe ich dann den Array als string oder als variant (ist im Script als String definiert)?

Muss ich das doc.Collection auch übergeben?

Thomas Schulte:
Nein musst du nicht, du musst das Doc übergeben und bekommt eine Variant mit allen Einträgen zurück. Aber du solltest dir WIRKLICH mal ein Buch kaufen. Nicht notwendigerweise zu Lotus Script aber zur Programmierung allgemein. Wie man Paramter übergibt und warum ist Basiswissen, das man grundsätzlich kennen sollte.

Navigation

[0] Themen-Index

[#] Nächste Seite

[*] Vorherige Sete

Zur normalen Ansicht wechseln