Domino 9 und frühere Versionen > ND6: Entwicklung
Prüfen, ob Array leer ist
Glombi:
Ich würde es mit Fulltrime machen.
dim ftarray as Variant
ftarray = Fulltrime(an)
...
Andreas
koehlerbv:
Das macht die Sache sooooviel einfacher auch nicht. Ist das Array "leer" (enthält nur Leerstrings als Elemente), bekommt man ein Array zurück, das aus einem einziges Leerstring besteht. Okay, dann bräuchte man nur noch das 0. Element zu prüfen. Mit einer universelleren Routine wäre man aber auch bei skalaren Werten oder tatsächlich empty-Werten auf der sichereren Seite.
Bernhard
sja:
Hallo Leute,
Ich habe den Vorschlag von Andreas ausprobiert (s. Script unten) und geprüft, wenn Array leer ist, 1. Element leer, 1. Element und 2. Element leer usw. und das alles funktioniert.
Dim ftarrayAn As Variant
Dim ftarrayKopie As Variant
...
...
'***************************************************
End If
ftarrayAn = Fulltrim(an)
ftarrayKopie = Fulltrim(kopie)
If Not ((ftarrayAn(1) = "") And (ftarrayKopie(1) = "")) Then
Set MailDoc = New NotesDocument(db)
MailDoc.Form = "Memo"
MailDoc.Subject = Betreff
MailDoc.SendTo = an
MailDoc.CopyTo = kopie
Set rtitem = New NotesRichTextItem( MailDoc , "Body" )
Call rtitem.AppendText( Text )
Call rtitem.AddNewLine( 1 )
Call rtitem.AppendDocLink( PymDoc, Projekt)
MailDoc.Importance = Prior
MailDoc.Send(False)
End If
Erase an
Erase kopie
End Function
Den Vorschlag von Bernhard mit einem ErrorHandler habe ich noch nicht ausprobiert, da diese Sache noch nicht beherrsche (Frischling), aber werde das mir auch merken.
Vielen Dank für eure Hilfe. Ich sage vom ganzen Herz: "Ich liebe dieses Forum".
Chao
Sofia
koehlerbv:
--- Zitat ---Vielen Dank für eure Hilfe. Ich sage vom ganzen Herz: "Ich liebe dieses Forum".
--- Ende Zitat ---
Danke, Sofia. Und genau deswegen macht es uns soviel Spass, hier mitzuhelfen ;-)
Ich habe noch einen wichtigen Tip für Deinen aktuellen Code:
Der Wert 1 als Zeiger auf Dein(e) Array(s) kann durchaus in die Hose gehen, denn das erste Element eines Arrays hat ja den Index 0 (es sei denn, Du hast durch Option Base etwas anderes deklariert).
Du solltest daher unbedingt nach FullTrim auf (beispielsweise)
ftarrayAn (0) <> "")
abprüfen. Wenn nämlich gar kein Empfänger vorhanden ist, dann gibt FullTrim nur ein Array mit EINEM Element (eben Number Zero) zurück, und mit Deinem ftarray (1) würdest Du dann sofort einen run-time error erhalten.
HTH - und nochmals danke für Deine nette Replik,
Bernhard
animate:
ich weiß nicht, ob ich das schonmal als Frage hier gepostet habe.
Jetzt poste ich es als Warnung.
Fulltrim funktioniert nicht zuverlässig. Zumindest im Web (ich weiß leider nicht mehr die Serverversion) hatte ich das Problem, dass die Funktion einfach nichts gemacht hat. Naja, vielleicht hat sie was gemacht, aber der Array, den ich reingesteckt hab, kam unverändert wieder raus, obwohl er leere Elemente enthielt. War ne super Sache damals.
Navigation
[0] Themen-Index
[#] Nächste Seite
[*] Vorherige Sete
Zur normalen Ansicht wechseln