2 dimensionale Arrays

Alle Themen rund um die Erstellung von Programmen
Antworten
satmax
Senior Member
Beiträge: 312
Registriert: 24. September 2015, 10:05
Wohnort: Biberbach, Austria
Kontaktdaten:

2 dimensionale Arrays

Beitrag 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?

Herbert
Site Admin
Beiträge: 529
Registriert: 23. Februar 2010, 08:06
Wohnort: Langenthal, Schweiz
Kontaktdaten:

Re: 2 dimensionale Arrays

Beitrag 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)


satmax
Senior Member
Beiträge: 312
Registriert: 24. September 2015, 10:05
Wohnort: Biberbach, Austria
Kontaktdaten:

Re: 2 dimensionale Arrays

Beitrag von satmax »

wenn auch spät, herzlichen Dank. :)

Adrian
Junior Member
Beiträge: 18
Registriert: 11. September 2010, 10:10
Kontaktdaten:

Re: 2 dimensionale Arrays

Beitrag 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) 4300 mal betrachtet

Adrian
Junior Member
Beiträge: 18
Registriert: 11. September 2010, 10:10
Kontaktdaten:

Re: 2 dimensionale Arrays

Beitrag 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) 4298 mal betrachtet

es Grüessli

Adrian

Herbert
Site Admin
Beiträge: 529
Registriert: 23. Februar 2010, 08:06
Wohnort: Langenthal, Schweiz
Kontaktdaten:

Re: 2 dimensionale Arrays

Beitrag 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.

Adrian
Junior Member
Beiträge: 18
Registriert: 11. September 2010, 10:10
Kontaktdaten:

Re: 2 dimensionale Arrays

Beitrag 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) 4274 mal betrachtet
Unbenannt.JPG
Unbenannt.JPG (34.86 KiB) 4274 mal betrachtet
Adrian

Antworten