Zuweisung von Werten für die Elemente eines Arrays

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: Zuweisung von Werten für die Elemente eines Arrays

Re: Zuweisung von Werten für die Elemente eines Arrays

von Karolus » Mi, 30.10.2013 17:52

Hallo
Die meisten Aktiven schauen inzwischen in beide Foren, poste halt einmal und gut.

Karolus

Re: Zuweisung von Werten für die Elemente eines Arrays

von CalcWeiss » Mi, 30.10.2013 17:36

Das Libreoffice-Forum kannte ich bisher nicht. Wo bekommt man denn eher Hilfe? Doppelposten möchte ich ja wirklich nicht.

Re: Zuweisung von Werten für die Elemente eines Arrays

von taylor56 » Mi, 30.10.2013 13:07

Danke schon :) ihr habt mir geholfen, mein problem zu losen :)

Re: Zuweisung von Werten für die Elemente eines Arrays

von boser » Di, 25.12.2012 18:36

Hallo,

was ist das http://www.libreoffice-forum.de/viewtop ... 12&t=11414 , möchtest du gerne viel leute beschäftigen. :evil:

Bitte endschiede dich , wo du welche infos bekommen möchtest.

Re: Zuweisung von Werten für die Elemente eines Arrays

von arkadiuszpaluszek » Di, 25.12.2012 18:34

Auuuuuuutsch!!! Genau so ist es, vielen Dank! :D

Re: Zuweisung von Werten für die Elemente eines Arrays

von DPunch » Di, 25.12.2012 18:32

Servus

Du solltest Du auf diese Zeile

Code: Alles auswählen

eintrag="Teamsitzung vom "+myDatum2
verzichten, wenn Du die Variable anschliessend als Array verwenden willst, denn genau ab hier hast Du es nur noch mit einem einfachen String zu tun.
Der Zugriff über den Index wird kommentarlos übergangen, wenn die Variable keinen byIndex-Zugriff erlaubt.

Re: Zuweisung von Werten für die Elemente eines Arrays

von arkadiuszpaluszek » Di, 25.12.2012 18:24

Bin dem Problem ein bisschen näher gekommen: irgendwie wird jedes mal, wenn die Schleife durchläuft, der Wert nicht nur einer bestimmten Position des Arrays zugeteilt sondern ALLEN, habe das Skript folgendermaßen abgeändert:

Code: Alles auswählen

	
        if not isNull(oErgSet) then
	col_id_eintrag=oErgSet.findColumn("ID")
	col_kind=oErgSet.findColumn("ID_Kind")
	col_eintrag=oErgSet.findColumn("Eintrag")
	col_datum=oErgSet.findColumn("Datum")
	
		Do while oErgSet.Next()
			'On Error Resume Next
			id_eintrag(0)=oErgSet.getInt(col_id_eintrag)
			id_kind(0)=oErgSet.getInt(col_kind)
			eintrag(0)=oErgSet.getString(col_eintrag)
			datum(0)=oErgSet.getString(col_datum)
				
				myCounter=oErgSet.row-1
				
				msgbox "Aktueller Counter ist "+myCounter
				msgbox "Und damit der aktuelle Eintrag"+eintrag(myCounter)
					' Schleife zu Debuggingzwecken:
					for x=0 to 3
					msgbox " Beim x="+x+" ist der Eintrag:"+eintrag(x)
					next x
		loop

	end if	
Nun zeigt sich, dass bereits beim ersten Durchlauf der Schleife die ersten vier Positionen des Arrays mit dem entsprechenden Eintrag besetzt werden, obwohl ich diesmal in Klammern explizit "0" angebe - warum der Eintarg dann unter eintrag(1) und eintrag(2) etc. ebenso zu finden ist, ist mir ein Mysterium.

Gruß

Arek

Zuweisung von Werten für die Elemente eines Arrays

von arkadiuszpaluszek » Di, 25.12.2012 17:18

Hallo!


Hier ein kleiner Ausschnitt des Codes:

Code: Alles auswählen

dim id_eintrag(1000)
dim id_kind(1000)
dim eintrag(1000)
dim datum(1000)
dim details(1000,1000)

 Do while oErgSet.Next()
         'On Error Resume Next
         id_eintrag(oErgSet.row-1)=oErgSet.getInt(col_id_eintrag)
         id_kind(oErgSet.row-1)=oErgSet.getInt(col_kind)
         eintrag(oErgSet.row-1)=oErgSet.getString(col_eintrag)
         datum(oErgSet.row-1)=oErgSet.getString(col_datum)
            
            myCounter=oErgSet.row-1
            
            msgbox myCounter
            msgbox eintrag(myCounter)
      loop
   
   ' Schleife zu Debuggingzwecken:
   for x=0 to 3
   msgbox " Beim x="+x+" ist der Eintrag:"+eintrag(x)
   next x
   
   end if   
Das Problem ist folgendes: in der while-loop Schleife werden bestimmten arrays (u.a. dem array "eintrag") bestimmte Werte zugeordnet. Die in der while - loop Schleife enthaltenen Messageboxen zeigen, dass die Argumente aus der DB richtig gelesen werden, das array eintrag() müsste an den Positionen 0 bis 3 unterschiedliche Einträge haben. Weiter unten folgt allerdings die Schleife "for x=0 to 3" welche wieder die Werte des Arrays an den jeweiligen Positionen abfragt - hier ist erstaunlicherweise an allen 4 Positionen nur der letzte Eintrag zu finden, den es nur an der Position eintrag(3) geben dürfte.

Habe es unter Mac OS Mountain Lion und unter Win7 mit LO 3.5 getestet. Jemand anderer testete ein geradezu identisches Skript mit LO 3.3 und es funktioniert, s. LO-Forum: http://www.libreoffice-forum.de/viewtop ... 390#p18390. Wie man in der angehängten Datei jedoch erkennen kann, ist bei mir irgendwo ein Fehler drin.

Gruß

Arek

Nach oben