[VB .net]Globale Variabelen

09/17/2012 18:03 Benhero#1
Hallo Com,
Folgendes Problem..
Ich versuche in VB .Net Globale Variablen zu Deklarieren.
Jedoch ohne Erfolg..

Hier der Code:
Code:
Public Class Global_Values
    Public Shared language_select(1, 1) As String
    '## Deutsch'
        language_select(0, 0) = "Deutsch"
        language_select(0, 1) = "Englisch"
    '## Englisch'
        language_select(1, 0) = "German"
        language_select(1, 1) = "English"
End Class
nun zeigt er mir aber folgenden Fehler:
Code:
Deklaration erwartet
Wo genau liegt der Fehler? Ich habe bereits gegoogelt und kein für mich passendes Thema gefunden.

Vielen dank für Eure Hilfe.

Mfg. Benhero
09/17/2012 18:21 Kraizy​#2
was genau willst du damit bezwecken? ich bin mir sicher da gibt es bessere möglichkeiten
09/17/2012 18:37 -PinkiWinki-#3
Hol dir ein Buch und lern erstmal die Grundlagen.
09/17/2012 20:01 Benhero#4
vlt versteht ihr es wenn ich ein wenig mehr Code poste..
Code:
Public Class Global_Values
    Public Shared language_select(1, 1) As String
    '## Deutsch'
        language_select(0, 0) = "Deutsch"
        language_select(0, 1) = "Englisch"
    '## Englisch'
        language_select(1, 0) = "German"
        language_select(1, 1) = "English"
End Class


Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles select_language.SelectedIndexChanged
        language_DE.text = language_select(select_language.SelectedIndex, 0)
        language_EN.text = language_select(select_language.SelectedIndex, 1)
End Sub
Ich möchte von einer Private Sub auf die Variablen von der Class "Global_Values" zugreifen. Nun eben die Frage. Wie ist dies Möglich?
(Nein ich kann die Variablen NICHT in die 2te Sub mit reinpacken weil ich auch noch von anderen Subs auf diese Variablen zugreifen möchte. Außerdem möchte ich die Variablen nicht in jede Sub einfügen.. Deswegen möchte ich sie global deklarieren damit ich von überall darauf zugreifen kann.

Mfg. Benhero
09/17/2012 20:32 Kraizy​#5
Quote:
Originally Posted by Benhero View Post
Ich möchte von einer Private Sub auf die Variablen von der Class "Global_Values" zugreifen. Nun eben die Frage. Wie ist dies Möglich?
Nunja, das hast du ja bereits durch deine Public Shared Variable erledigt:

PHP Code:
Public Class Form1
   
Private Sub..
      
Globals.strVariable "abc"
   
End Sub

   
Private Sub..
      
Globals.intVariable 5
   End Sub
End 
Class

Public Class 
Globals
   
Public Shared strVariable As String
   
Public Shared intVariable As Integer
End 
Class 
Was du jedoch damit anstellen willst versteh ich nicht..
Quote:
Originally Posted by Benhero View Post
Code:
Public Class Global_Values
    Public Shared language_select(1, 1) As String
    '## Deutsch'
        language_select(0, 0) = "Deutsch"
        language_select(0, 1) = "Englisch"
    '## Englisch'
        language_select(1, 0) = "German"
        language_select(1, 1) = "English"
End Class


Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles select_language.SelectedIndexChanged
        language_DE.text = language_select(select_language.SelectedIndex, 0)
        language_EN.text = language_select(select_language.SelectedIndex, 1)
End Sub
09/17/2012 20:51 Benhero#6
Geht leider nicht so wie ich möchte.. Folgender Fehler...
[Only registered and activated users can see links. Click Here To Register...]
09/17/2012 20:59 Kraizy​#7
Also wenn du es schon so machst, dann klatsch es eher in eine Methode, die du dann am Anfang aufrufst..

PHP Code:
Public Class Global_Values
   
Public Shared language_select(11) As String

   
Public Shared Sub setzen()
      
'## Deutsch'
      
language_select(00) = "Deutsch"
      
language_select(01) = "Englisch"
      '## Englisch'
      
language_select(10) = "German"
      
language_select(11) = "English"
   
End Sub
End 
Class

Private 
Sub Form1_Load(...)
   
Global_Values.setzen()
End Sub

Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As System.ObjectByVal e As System.EventArgsHandles select_language.SelectedIndexChanged
   language_DE
.text Global_Values.language_select(select_language.SelectedIndex0)
   
language_EN.text Global_Values.language_select(select_language.SelectedIndex1)
End Sub 
Aber ob du so wirklich arbeiten willst..?
09/17/2012 21:04 Benhero#8
.. Gut hier nochma die komplette Funktion..
gelöscht
09/18/2012 13:54 -PinkiWinki-#9
Wie ich bereits sagte, hol dir ein Buch und lern die Grundlagen. .NET hat keine globalen Variablen, alles muss in einer Klasse sein.

Außerdem kannst du außerhalb von Deklerationen und Funktionen keine Werte setzen.

09/18/2012 17:33 MrSm!th#10
#moved
09/18/2012 19:10 tolio#11
ich geb zu ich hab jetzt nicht alle codeblöcke durchgeschaut aber warum packste nicht irgendwo unter die klassendeklaration die variable:

Code:
Public Class trololol
Public abc As String
End Class
und dann von irgendwo anders einfach nutzen
Code:
trololol.abc = "test"
fertig ist das ^^
09/18/2012 21:18 Benhero#12
#edit :D
Habe es nun gelöst.. war einfach zu Blöd um durchzublicken.. Nun hab ichs! danke an alle :)

Benhero