Verständnisfrage Dim Sales(,) As Object = New Object(,)

flotschie

Mitglied
Hallo,

ich habe in der MS Hilfe diesen Ausdruck hier gefunden:

Code:
Dim Sales(,) As Object = New Object(,) {{"Company", "Company A"}, {"June", 20}, {"July", 10}, {"August", 30}, {"September", 14}}

Mir ist glaub ich schon klar was hier gemacht wird: Dem zweidimensionalen Sales-Objekt werden Inhalte übergeben.

So, wie füge ich aber dann einen neuen Eintrag ein, also z.b. {"November",30} , OHNE dass ich diesen Eintrag oben bei der Instanzierung angebe? Ich möchte Einträge in dieses Sales(,) Objekt programmgesteuert einfügen.
 

flotschie

Mitglied
Das geht leider nicht. Ich kann ja nicht schreiben myObject("November") = 30. Ich verstehe auch den Aufbau von Sales grundsätzlich nicht.

Weil: ein eindimensionales Array hat an Stelle Index einen Wert, also so:

Index Wert
0 22
1 23
2 25

etc...

ein zweidimensionales Array (so wie Sales) sollte ja dann so aussehen:

Index1 Index2 Wert
0 0 22
1 0 23
1 1 25
0 1 26

etc....

--> und wie schaut dann das Sales Array aus? Das kann doch nicht so aussehen:

Index1 Index2 Wert
Company Company A tja?
June 20 tja?

etc...
oder so?:

Index1 Index2 Wert
0 Company Company A
1 June 20

oder wie? Wie schaut das Sales Object, das zweidimensionale aus


Hintergrund:

Das Sales Object ist die Grundlage für einen MSChart. Wenn man dieses Sales Object dann in einem MSChart sichtbar macht, sieht man auf der X-Achse die Monate und auf der Y-Achse die Werte.

siehe auch hier
 

flotschie

Mitglied
Ich habs schon. Man kann es auch so machen:

Code:
Dim Sales(3, 1) As Object
        Sales(0, 0) = "Company"
        Sales(0, 1) = "Company A"
        Sales(1, 0) = "Juni"
        Sales(1, 1) = 20
        Sales(2, 0) = "Juli"
        Sales(2, 1) = 50

Und somit ist alles geklärt.
 

flotschie

Mitglied
Nein, gar nichts ist erklärt. Höchstens das MSChart ein absolut besch*** programmiertes und programmierbares Objekt ist. Weist man nämlich den

Code:
Dim Sales(3, 1) As Object
        Sales(0, 0) = "Company"
        Sales(0, 1) = "Company A"
        Sales(1, 0) = "Juni"
        Sales(1, 1) = 20
        Sales(2, 0) = "Juli"
        Sales(2, 1) = 50


zu, funktionierts wunderbar. Company A ist der einzige Wert der im Chart angezeigt wird, auch die Monate Juni und Juli werden richtig eingetragen.

ABER: Sobald man einen längeren Array hat mit ca. 300 Werten (in meinem Fall die Kursreihe einer Aktie innerhalb eines Jahres), kommt MSCHart total durcheinander.
Ich trage so wie beim Sales Object die Werte "Wertpapiername" an Stelle (0,0) ein und dann den Namen des Wertpapiers auf Stelle (0,1). Dann befüllt eine Schleife an Stelle (i,0) den Array mit dem Datum und an Stelle (i,1) den Array mit dem Kurs des Tages.

Nach Zuweisung zu dem MSCHart Object wird der Chart aber vollkommen falsch dargestellt, es gibt auf einmal 2 "Companys"(s.o. Object Sales) namens "Wertpapiername" und dem Namen des Wertpapiers etc....