Das Notes Forum

Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: Charly77 am 28.08.06 - 15:48:19

Titel: Problem mit Array
Beitrag von: Charly77 am 28.08.06 - 15:48:19
Moin Moin,

ich steh heute völlig auf dem Schlauch ...

Ich lese Werte in ein dynamisches Array ein, und möchte diese dann per Print #1 in eine Datei schreiben. Kann aber auf die Werte im Array nicht zugreifen ???

Code
	Dim se As New NotesSession
	Dim db As NotesDatabase
	Dim view As NotesView
	Dim doc As NotesDocument

	Dim wert() As Long
		
	Set db = se.CurrentDatabase
	Set view = db.GetView( "Ansicht" )
	Set doc = view.GetFirstDocument
	
	alle = view.allentries.count
	
	Redim wert(alle)
		
	i = 0
	For a=1 To alle
		wert(i) = doc.GetItemValue("wert")
				
		Set doc = view.GetNextDocument(doc)
		i = i+1
	Next

	Open "d:\test.dat" For Output Access Write As #1
                i = 0
                For a=1 To alle
	'Print #1, wert(i)      [color=Red]hier kommt der Fehler[/color]
                Next
	Close #1

Kann mich jemand in die richtige Richtung stupsen?  ::)
Titel: Re: Problem mit Array
Beitrag von: diali am 28.08.06 - 15:53:43
Du benutzt a als Zähler in der For-Schleife und willst dann an der Stelle i auslesen.

Entweder benutzt Du in der For-Schleife wieder i oder in der Print-Anweisung a.
Titel: Re: Problem mit Array
Beitrag von: Charly77 am 28.08.06 - 16:01:57
Sorry,

lag an meinen Test-versuchen  ;D

aber dort liegt nicht der Fehler den ich suche ...
ich bekomme in der Zeile:

Code
Print #1, wert(i)

ein "Type mismatch"
Titel: Re: Problem mit Array
Beitrag von: Glombi am 28.08.06 - 16:09:10
Statt

wert(i) = doc.GetItemValue("wert")

muss es

wert(i) = doc.GetItemValue("wert")(0)

heissen.

Andreas
Titel: Re: Problem mit Array
Beitrag von: Charly77 am 28.08.06 - 16:14:17
Danke Glombi,

nun klappt es  ;D

Woran liegt das  ???
Hab noch nie mit dynamischen Array`s gearbeitet?
Titel: Re: Problem mit Array
Beitrag von: rar am 29.08.06 - 07:26:58
Das Problem hat nicht wirklich was mit dynamische Arrays zu tun.

Da Felder in Dokumenten ja Mehrfachfelder sein könnten, liefert doc.GetItemValue("wert") immer ein Array zurück. Du versuchst dann dieses Array in deine Longvariable wert(i) zu schreiben.
Mit doc.GetItemValue("wert")(0) bekommst du nur den ersten Wert des Arrays also den ersten Feldinhalt.
Titel: Re: Problem mit Array
Beitrag von: Charly77 am 29.08.06 - 10:46:55
Also quasi ein Array in einem Array erzeugt, seh ich doch richtig, oder.

Auf jeden Fall hab ich mir das jetzt eingeprägt und werd beim nächsten Mal drauf achten.

Dank euch und dem ganzen Forum  :D