Seite 1 von 1

2 dimensionale Arrays

Verfasst: 22. August 2016, 13:16
von satmax
Ich komme mit den Arrays nicht klar, Habe aus der Hilfe folgenden Beispielcode kopiert:

Code: Alles auswählen

/ Declare an Array of arrays
arrMyArray is array of strings
nArrIndex is int

nArrIndex = Add(arrMyArray)
Add(arrMyArray[nArrIndex], "January")
Add(arrMyArray[nArrIndex], "300")
nArrIndex = Add(arrMyArray)
Add(arrMyArray[nArrIndex], "February")
Add(arrMyArray[nArrIndex], "600")

Trace(arrMyArray[1,1]) // Displays "January"
Trace(arrMyArray[1,2]) // Displays "300"
Bekomme aber in den folgenden beiden Zeilen

Code: Alles auswählen

Trace(arrMyArray[1,1]) // Displays "January"
Trace(arrMyArray[1,2]) // Displays "300"
den Fehler:
Error:Array with 1 dimension(s): unable to access it with 2 dimension(s).

Wie ist das möglich?

Re: 2 dimensionale Arrays

Verfasst: 23. August 2016, 16:34
von Herbert
...weil du nur einen eindimensionalen Array definiert hast.

Einfache Definition

Code: Alles auswählen

arrNItems is array of 2 by 2 int
Du kannst das auch später definieren

Code: Alles auswählen

arrNitems is dynamic array
...
arrNItems = new array of 4 by 7 int
P.S. Falls du arraymässig arbeiten wisst, aber verschiedene Datentypen darin verwenden willst, geht das mitr der Structure.

Code: Alles auswählen

MasterDataCount	is Structure
	sType	is string
	nID		is int
	nCnt		is int
	rSum		is real
END
...
arrMasterDataCount		is array of MasterDataCount
...
struMasterDataCount is MasterDataCount
...
struMasterDataCount.sType = "10_Text"
struMasterDataCount.nID = QRY_Multiselektion.FilialeID
ArrayAdd(arrMasterDataCount, struMasterDataCount)


Re: 2 dimensionale Arrays

Verfasst: 29. August 2016, 20:21
von satmax
wenn auch spät, herzlichen Dank. :)

Re: 2 dimensionale Arrays

Verfasst: 25. April 2018, 15:19
von Adrian
Hallo zusammen

Ich habe diese Lösung wie oben mit der Struktur umgesetzt (als Combox mit Variablen) klappt soweit alles wunderbar.

Nun möchte ich jedoch beim noch auf das Array zugreifen können.

Im Debugger, absolut kein Problem, klappt wunderbar.

Im Editor kommt jedoch eine Fehlermeldung.

hat da jemand eine glorreiche Idee, oder wie ich das Problem einkreisen kann?
Unbenannt.JPG
Unbenannt.JPG (112.07 KiB) 4293 mal betrachtet

Re: 2 dimensionale Arrays

Verfasst: 25. April 2018, 19:17
von Adrian
Nachtrag: Hier ein Bild, damit Ihr seht das die Variable auch ein Wert zurückgibt

Doch trotzdem ist der Ausdruck rot, zeigt einen Fehler an
Unbenannt.JPG
Unbenannt.JPG (14.98 KiB) 4291 mal betrachtet

es Grüessli

Adrian

Re: 2 dimensionale Arrays

Verfasst: 26. April 2018, 12:32
von Herbert
Hallo Adrian
Der rote Text bezieht sich auf die [3], nicht auf die [2] oder [1]

Zudem scheint mir dein Weg, zu einer Anrede zu kommen, hier doch recht schwerfällig.

Re: 2 dimensionale Arrays

Verfasst: 28. April 2018, 07:26
von Adrian
Hoi Herbert

Die Variable hat von 1-9 einen Wert, doch ich habe dies nun etwas anders gelöst.

In meiner Datenbank habe ich ein Feld von 0-9 mit der Textanrede (dies ist in der bisherigen xBase Version so, und ich übernehme die Daten und baue nicht ganz alles um)

Nun möchte ich eine Listbox welche mir die Textanreden darstellt und bei der Auswahl die entsprechende Nummer direkt in die Datenbank schreibt.

Dies klappt nun mit dieser Lösung wunderbar.
Unbenannt2.JPG
Unbenannt2.JPG (23.2 KiB) 4267 mal betrachtet
Unbenannt.JPG
Unbenannt.JPG (34.86 KiB) 4267 mal betrachtet
Adrian