Domino 9 und frühere Versionen > ND6: Entwicklung

Prüfen, ob Array leer ist

<< < (2/3) > >>

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