Domino 9 und frühere Versionen > ND8: Entwicklung

...wie erstellt/befüllt man ein Array ?

<< < (2/5) > >>

WildVirus:
Hallo Scotty,

nimm statt

--- Zitat von: Scotty67 am 26.05.10 - 07:03:51 ---Redim Preserve myNames(arrayIndex)
...
arrayIndex = arrayIndex + 1
--- Ende Zitat ---
doch das von Peter vorgeschlagene:

--- Zitat von: Peter Klett am 25.05.10 - 15:28:35 ---Redim Preserve meinarray (Ubound (meinarray) + 1)'-> jetzt noch ein Element mehr, aber dynamisch
--- Ende Zitat ---
denn das kommt mit einer Zeile aus und falls Dein maildoc eine normale Memomaske ist, dann sollte die Übergabe ein

--- Code: ---maildoc.SendTo = myNames
--- Ende Code ---
sein. Es sei denn, Du benötigst das Item nicht mehr im Folgecode.

CU,
Axel

Peter Klett:
Das sieht doch gut aus. Unabhängig davon, ob es nun 20 oder 100 sind, verlängerst Du mit jeder weiteren Adresse myNames mit Redim Preserve. Irgendwann könntest Du allerdings ein Größenproblem des Feldes bekommen (vielleicht > 3000 Adressen?), aber diese Grenze sollte eher theoretisch sein. Da Du die Adressen via Checkbox auswählen willst, sollten es sowieso nicht zuviele sein, sonst würde ich die Checkbox lieber sein lassen.

Sind alle Adressen unterschiedlich oder können die in den zu durchsuchenden Dokumenten doppelt auftreten? Bei Bedarf solltest Du noch dafür sorgen, dass doppelte Adressen nicht in myNames geschrieben werden.

Die Übergabe ist korrekt, alternativ kannst Du auch

maildoc.Empfaenger = myNames

schreiben, das Ergebnis ist identisch.

Peter Klett:

--- Zitat von: WildVirus am 26.05.10 - 07:27:41 ---Hallo Scotty,

nimm statt

--- Zitat von: Scotty67 am 26.05.10 - 07:03:51 ---Redim Preserve myNames(arrayIndex)
...
arrayIndex = arrayIndex + 1
--- Ende Zitat ---
doch das von Peter vorgeschlagene:

--- Zitat von: Peter Klett am 25.05.10 - 15:28:35 ---Redim Preserve meinarray (Ubound (meinarray) + 1)'-> jetzt noch ein Element mehr, aber dynamisch
--- Ende Zitat ---
denn das kommt mit einer Zeile aus
--- Ende Zitat ---
Allerdings brauchst Du dann doch noch eine Zeile mehr, weil Du dann prüfen musst, ob der oberste Wert gesetzt ist

If myName (Ubound (myName)) <> "" Then
   Redim Preserve myName (Ubound (myName) + 1)
End If
myName (Ubound (myName)) = ...

Prüfst Du das nicht, wird myName (0) immmer leer sein. In Deinem konkreten Anwendungsfall halte ich es für angebracht, mit einer Laufvariablen (arrayIndex) zu arbeiten.

Scotty67:
@Peter !

Danke, im Moment scheitere ich mit der Checkbox Sache...
Im Schnitt werden es ehr nur 4-5 mögliche Adressen sein.

In meinem Mail-Formular: das Checkbox Feld wie muss das aufgebaut sein ? computed.... ????
Ich schaffe es nicht die Array Werte ins Mailformular zu übertragen

Peter Klett:
In das neue Dokument schreibst Du Dein array in ein beliebiges Feld (kann unsichtbar sein). Der Feldname sei AuswahlSendTo. Falls Du das Feld in der Maske anlegst, denk dran, Mehrfachwerte zuzulassen.

Für die Checkbox benötigst Du ein eigenes Feld (bearbeitbar, Typ Checkbox (deutsch Kontrollkästchen)).

In der Eigenschaftenbox des Feldes in der zweiten Lasche änderst Du von "Auswahl eingeben (eine pro Zeile)" in "Formel für Auswahl verwenden" (wenn Du einen englischen Client hast, musst Du das entsprechend übersetzen) und trägst als Formel AuswahlSendTo ein (den Namen des Feldes, in das Du Dein Array geschrieben hast).

Navigation

[0] Themen-Index

[#] Nächste Seite

[*] Vorherige Sete

Zur normalen Ansicht wechseln