Das Notes Forum

Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: ZaLudtske am 02.03.07 - 12:12:03

Titel: Prüfen ob List-Variable leer ist
Beitrag von: ZaLudtske am 02.03.07 - 12:12:03
Hallo,

es ist Freitag mittag und ich bin anscheinend zu blöd die Lösung zu finden.

Ich habe das Problem, dass ich überprüfen muß ob eine Variable die mit

Code
Dim strMeinListe list as string

deklariert wurde, Werte enthält oder nicht (leer ist).

Kann mir jemand auf die Sprünge helfen.

Rainer
Titel: Re: Prüfen ob List-Variable leer ist
Beitrag von: Otto am 02.03.07 - 13:54:18
so allgemein dargestellt:

forall wert in strMeineListe
   ' wert untersuchen mit irgendwas wie
   ' if wert <> "" then tuwas
end forall

Gruß Otto
Titel: Re: Prüfen ob List-Variable leer ist
Beitrag von: Driri am 02.03.07 - 14:09:43
Evtl. funktioniert auch ein @Elements in Verbindung mit Evaluate.
Titel: Re: Prüfen ob List-Variable leer ist
Beitrag von: ZaLudtske am 02.03.07 - 14:17:18
Ich hab noch was im Blog von Rocky Oliver (www.lotusgeek.com).

http://www.lotusgeek.com/SapphireOak/LotusGeekBlog.nsf/d6plinks/ROLR-5NP4MR

Kurz gesagt. Es gibt anscheinend keine Möglichkeit zu prüfen wieviele Elemente in der Liste vorhanden sind.

Falls jemanden doch eine Möglichkeit kennt, dann möge er sie bitte posten. Ich habe mittlerweile eine andere Lösung für mein Problem gefunden, bin aber immer noch an der Lösung zur aktuellen Frage interessiert.

Rainer
Titel: Re: Prüfen ob List-Variable leer ist
Beitrag von: koehlerbv am 02.03.07 - 14:17:53
@Elements prüft Items mit Mehrfachwerten. Hier geht es aber um Listvariablen, die man gar nicht in einem Item speichern kann - das sind grunverschiedene Dinge, Ingo.

Bernhard
Titel: Re: Prüfen ob List-Variable leer ist
Beitrag von: Thomas Schulte am 02.03.07 - 16:18:16
Wenn du nur prüfen willst ob das Werte enthält ist die Lösung von Otto richtig. Du musst nur die Forall Schleife beim ersten Mal gleich wieder abwürgen.
Ansonsten gibt es nur die Möglichkeit beim bauen der Liste einen Inkrementor mitlaufen zu lassen und dann diesen direkt  abzufragen.
Titel: Re: Prüfen ob List-Variable leer ist
Beitrag von: ZaLudtske am 02.03.07 - 16:53:07
Ich hab mal etwas Forschung betrieben.

Also wenn eine Liste leer ist wird die ForAll-Schleife nicht ausgeführt.

Das bedeutet, dass man zur Not mit einem Flag arbeiten könnte, das ich im Innern der Schleife setzten könnte. Es fehlt halt wirklich eine Count-Methode zum Zählen der Einträge.

Wer meinen Versuch nach vollziehen möchten muß nur den nachfolgenden Code in einen Agenten kopieren und diesen ausführen.

Code

Sub Initialize
	
	Dim strListe List As String
	
	Forall strEintrag In strListe
		Messagebox "ForAll - 1"
		
	End Forall
	
	strListe("0") = " Hallo Welt "
	
	Forall strEintrag In strListe
		Messagebox "ForAll - 2"
		
	End Forall
	
End Sub

Titel: Re: Prüfen ob List-Variable leer ist
Beitrag von: koehlerbv am 02.03.07 - 17:00:43
Auf Grund der (internen) Struktur einer List wäre ein Counter auch kontraproduktiv. Die List ist eben in keiner Weise mit einem Array zu vergleichen.

Bernhard
Titel: Re: Prüfen ob List-Variable leer ist
Beitrag von: ZaLudtske am 02.03.07 - 17:03:32
@Bernhard

Aus anderen Sprachen kenn ich das halt. Sollte es sich aber Intern um eine verkettete Liste oder einen Baum handeln, gebe ich dir recht.
Titel: Re: Prüfen ob List-Variable leer ist
Beitrag von: MadMetzger am 02.03.07 - 17:26:33
Eine List in LS ist eigentlich mehr eine Map als eine Liste, der Name ist also etwas irreführend meiner Meinung nach.
Titel: Re: Prüfen ob List-Variable leer ist
Beitrag von: Otto am 02.03.07 - 18:56:20

ich vergleich da lieber die 'List' in LS mit der 'hashtable' in Java
Gruß Otto
Titel: Re: Prüfen ob List-Variable leer ist
Beitrag von: MadMetzger am 03.03.07 - 09:31:13
Du meinst wohl eher die HashMap aus Java, welche aber auch eben das Interface Map implementiert. Eine HashTable gibt es meines Wissens nicht in Java.
Titel: Re: Prüfen ob List-Variable leer ist
Beitrag von: Otto am 05.03.07 - 10:55:06
@MadMetzger

Guckt Du hier
http://java.sun.com/j2se/1.4.2/docs/api/java/util/Hashtable.html

Gruß
Otto
Titel: Re: Prüfen ob List-Variable leer ist
Beitrag von: MadMetzger am 05.03.07 - 10:57:33
Aber auch eine HashTable ist eine Map:

Zitat
All Implemented Interfaces:
    Cloneable, Map, Serializable
Titel: Re: Prüfen ob List-Variable leer ist
Beitrag von: Otto am 05.03.07 - 11:02:02

... Eine HashTable gibt es meines Wissens nicht in Java...
Aber auch eine HashTable ist eine Map:

aber halt auch eine HashTable  ;)