Domino 9 und frühere Versionen > Entwicklung
Array füllen über eine Function-Prozedur
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