Problem mit mehrdimensionalen Array

Übersicht BlitzMax, BlitzMax NG Beginners-Corner

Neue Antwort erstellen

Banjonator

Betreff: Problem mit mehrdimensionalen Array

BeitragSa, Aug 11, 2007 17:34
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo Leute,

möchte für mein Programm gerne Mehrsprachigkeit implementieren und habe vor ein riesiges Array zu erstellen, welches wie folgt aussieht:

Code: [AUSKLAPPEN]

Global LangArray:String[][] = [ ..
   ["Info"], ..
   ["OK"], ..
],[ ..
   ["Info"], ..
   ["OK"], ..
]


Leider haut mir BlitzMax folgenden Error raus:
Expecting Identifier but encountered '['
und springt dann auf die Zeile mit "],[ .."


Wieso? Was ist da an meiner Sytax falsch?
Hab schon einiges getestet, auch wenn ich ALLES in nur 1 Zeile schreibe, schmeißt er mir diesen Error.


Vielen Dank für eure Hilfe!
Michael

d-bug

BeitragSa, Aug 11, 2007 17:42
Antworten mit Zitat
Benutzer-Profile anzeigen
Nichts zum Thema Array, aber spar dir die Mühe dir eine eigene Lokale-Funktionalität zu erdenken und nimm direkt das Modul von Brucey. Es heißt bah.locale und man findet es hier.

Banjonator

BeitragSa, Aug 11, 2007 22:57
Antworten mit Zitat
Benutzer-Profile anzeigen
Sieht ganz interessant aus. Mal schaun ob ich das verwende, aber eigentlich wollte ich mir alles selbst coden, damit ich mehr Übung mit BlitzMax bekommen. Aber ich hab mir die Seite mal gebookmarked. Smile

Aber wie schauts mit meinem Array aus?
Wieso schmeißt er mir da einen Error?

d-bug

BeitragSa, Aug 11, 2007 23:24
Antworten mit Zitat
Benutzer-Profile anzeigen
Das wird so nicht gehen... ein mehrdimensionales Array sieht erstens so aus:
Code: [AUSKLAPPEN]
Global LangArray:String[2,2]

und kann zweitens nicht so initialisiert werden, sondern nur so:
Code: [AUSKLAPPEN]
LangArray [0,0] = "Info"
LangArray [0,1] = "Info" 'Übersetzung
LangArray [1,0] = "OK"
LangArray [1,1] = "OK" 'Übersetzung


Das was du da versuchst geht meines Wissens nur mit eindimensionalen Arrays:
Code: [AUSKLAPPEN]
Global OneD_Array:String[] = ["Ich","bin","ein","1D","Array"]


~edit~
Ich rede wirr... Du versuchst da ja Array in Array, da halt ich mal meine Klappe zu, weil
ich sowas nie mache... d-bug schweigt stille ...

cheers

Banjonator

BeitragSo, Aug 12, 2007 0:20
Antworten mit Zitat
Benutzer-Profile anzeigen
Hmm, mit der Syntax kann ich mich oftmals nicht anfreunden...
BlitzMax ansicht ist verdammt geil, weil man ziemlich schnell das Gewünschte auf die Beine stellen kann, aber manchmal denke ich mir schon, dass die Syntax ein wenig seltsam ist...

egal, ich habs jetzt anders gelöst:

Code: [AUSKLAPPEN]

Function getLangText:String(langID:Int,textID:Int)
   Select langID
      Case 0
         Select textID
            Case 0
               Return "Info"
            Case 1
               Return "OK"
         EndSelect
      Case 1
         Select textID
            Case 0
               Return "Info"
            Case 1
               Return "OK"
         EndSelect
   EndSelect
EndFunction



Mit einem Array wärs sicher schöner gewesen, aber so gehts auch.
Einfach mittels Funktionsaufruf, wie z.B.: getLangText(0,1) den gewünschten Text holen. Smile

Jedenfalls werde ich mir das mit den Arrays nochmals genauer ansehen müssen...


Danke jedenfalls
Michael

Neue Antwort erstellen


Übersicht BlitzMax, BlitzMax NG Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group