Microsoft Small Basic

Program Listing: KBH720
Controls.ButtonClicked = BC
Lang = "En"
ProgTit["De"] = "Rewe Programm"
ProgTit["En"] = "Rewe Program"

ShowLoadScreen()
Langs()
Colours()
Chars()
QuiCom()
Konten()
Texte()
GraphWin()
Win1()
Win2()
Win3()
HideLoadScreen()
'TextWin()

Sub ShowLoadScreen
LoadWin = LDWindows.Create()
LDWindows.CurrentID = LoadWin
GWPlus.WindowStyle = "None"
GraphicsWindow.Width = 450
GraphicsWindow.Height = 200
gw = GraphicsWindow.Width
gh = GraphicsWindow.Height
GraphicsWindow.Left = Desktop.Width/2 -gw/2
GraphicsWindow.Top = Desktop.Height/2 -gh/2

LoadLogoI = ImageList.LoadImage(Program.Directory + "\Pictures\LoadLogo.bmp")
LoadLogoIW = ImageList.GetWidthOfImage(LoadLogoI)
LoadLogoIH = ImageList.GetHeightOfImage(LoadLogoI)
LoadLogo = Shapes.AddImage(LoadLogoI)
Shapes.Move(LoadLogo, gw/2-LoadLogoIW/2, gh/8-LoadLogoIH/4)

ProductLogoI = ImageList.LoadImage(Program.Directory + "\Pictures\ProductLogo.bmp")
ProductLogoIW = ImageList.GetWidthOfImage(ProductLogoI)
ProductLogoIH = ImageList.GetHeightOfImage(ProductLogoI)
ProductLogo = Shapes.AddImage(ProductLogoI)
Shapes.Move(ProductLogo, gw/2-ProductLogoIW/2, gh-ProductLogoIH*1.5)

ProductLogoL = Shapes.GetLeft(ProductLogo)
ProductLogoT = Shapes.GetTop(ProductLogo)
GraphicsWindow.BrushColor = "Gray"
GraphicsWindow.FontName = "Arial"
GraphicsWindow.FontSize = 10
GraphicsWindow.FontBold = "True"
GraphicsWindow.DrawBoundText(ProductLogoL+ProductLogoIW+5, ProductLogoT+ProductLogoIH*1.3 , gw-ProductLogoIW-80, "is loading...")
EndSub

Sub Langs
Langs[1][1] = "English"
Langs[1][2] = "En"
Langs[2][1] = "Deutsch"
Langs[2][2] = "De"

langss = 2 'immer aktuell halten Langs[?]
EndSub

Sub Colours
Colour[1] = "Black"
Colour[2] = "Gray"
Colour[3] = "White"
Colour[4] = "Blue"
Colour[5] = "Red"
EndSub

Sub Chars
Absatz = Text.GetCharacter(10)
EndSub

Sub QuiCom
Com["Kommandonummer"]["Aufteilung"]["Sprache"] = ""
Com["Kommandonummer"]["Aufteilung"]["Sprache"] = ""


Com[0][1]["De"] = "hilfe"
Com[0][2]["De"] = "Gibt eine Liste aller Befehle zurück."
Com[0][1]["En"] = "help"
Com[0][2]["En"] = "Gives a list of all commands back."
Com[1][1]["De"] = "ende"
Com[1][2]["De"] = "Beendet das Programm."
Com[1][1]["En"] = "end"
Com[1][2]["En"] = "Close the program."

Com[2][1]["De"] = "spr"
Com[2][2]["De"] = "Ändert die Sprache."
Com[2][1]["En"] = "lang"
Com[2][2]["En"] = "Change the language."

comnum = 2 'Immer die aktuelle nummer eintragen. entspricht der nummer des letzten Com[?]
EndSub

Sub Konten
Konto["Kontonummer"]["Sprache"] = "Betriebs- und Geschäftsausstattung"


Konto[0340]["De"] = "Betriebs- und Geschäftsausstattung"
Konto[0340]["En"] = "..."
EndSub

Sub Texte
Txt["Nummer"]["Fensterart"]["Sprache"] = ""
Txt["Nummer"]["Fensterart"]["Sprache"] = ""


Txt[1]["TextWin"]["De"] = "Willkommen bei " + ProgTit + "!" + Absatz + "Geben Sie hier Ihre schnellen Befehle ein. Geben Sie 'hilfe' für eine Liste aller Befehle ein."
Txt[1]["TextWin"]["En"] = "Welcome to " + ProgTit + "!" + Absatz + "Enter your quick commands here. Type 'help' for a list of all commands."
EndSub

Sub GraphWin
Win[1] = LDWindows.Create() 'Kontenliste
Win[2] = LDWindows.Create() 'T-Kontenfenster, mit slider an der seite zum scrollen
Win[3] = LDWindows.Create() 'Buchungssätze eingeben; Hauptmenü
Win[4] = LDWindows.Create() 'Erklärungen zu den Konten, nich von anfang an sichtbar, ohne Rahmen, wird beim drücken eines buttons neben eines Kontos in Win[3] sichtbar
Win[5] = LDWindows.Create() 'Speichermenü
For xxx = 1 To Array.GetItemCount(Win)
LDWindows.CurrentID = xxx
GraphicsWindow.Title = ProgTit[Lang]
GraphicsWindow.CanResize = "False"
For xxxx = 4 To 5
LDWindows.CurrentID = xxxx
GraphicsWindow.Hide()
EndFor
EndFor
EndSub

Sub Win1 'Kontenliste
LDWindows.CurrentID = Win[1]
GraphicsWindow.Width = Desktop.Width/5
GraphicsWindow.Height = Desktop.Height - 36.5
gw[1] = GraphicsWindow.Width
gh[1] = GraphicsWindow.Height
GraphicsWindow.Left = Desktop.Width - Desktop.Width/5 - 10
GraphicsWindow.Top = 3.5

GraphicsWindow.Show()
EndSub

Sub Win2 'T-Kontenfenster, mit slider an der seite zum scrollen
LDWindows.CurrentID = Win[2]
GraphicsWindow.Width = Desktop.Width/4
GraphicsWindow.Height = Desktop.Height - 36.5
gw[2] = GraphicsWindow.Width
gh[2] = GraphicsWindow.Height
GraphicsWindow.Left = 1 + 75
GraphicsWindow.Top = 3.5

GraphicsWindow.Show()
EndSub

Sub Win3 'Buchungssätze eingeben; Hauptmenü
LDWindows.CurrentID = Win[3]
GraphicsWindow.Width = Desktop.Width - Desktop.Width/5-10 - Desktop.Width/4-106
GraphicsWindow.Height = 400
gw[3] = GraphicsWindow.Width
gh[3] = GraphicsWindow.Height
GraphicsWindow.Left = gw[2]+91
GraphicsWindow.Top = 3.5

GraphicsWindow.Show()
EndSub

Sub Win4 'Erklärungen zu den Konten, nich von anfang an sichtbar, ohne Rahmen, wird beim drücken eines buttons neben eines Kontos in Win[3] sichtbar
LDWindows.CurrentID = Win[4]
'GraphicsWindow.Width =
'GraphicsWindow.Height =
gw[4] = GraphicsWindow.Width
gh[4] = GraphicsWindow.Height
'GraphicsWindow.Left =
'GraphicsWindow.Top =
EndSub

Sub Win5 'Speichermenü
LDWindows.CurrentID = Win[5]
GraphicsWindow.Width = 400
GraphicsWindow.Height = 300
gw[5] = GraphicsWindow.Width
gh[5] = GraphicsWindow.Height
GraphicsWindow.Left = Desktop.Width/2-gw[5]
GraphicsWindow.Top = Desktop.Height/2-gh[5]
EndSub

Sub HideLoadScreen
LDWindows.CurrentID = LoadWin 'Das steht ganz am ende des codes der das fenster erstellt. Hierdurch schließt sich das Ladefenster.
GraphicsWindow.Hide()
LDWindows.CurrentID = Win[1]
EndSub

Sub BC
EndSub









'DON'T LOOK AT THIS! THIS IS AN OLD CODE!!!! IT WILL BE NO LONGER USE!
'ERSTMAL NICHT WEITERBEARBEITEN!!!
Sub TextWin
TextWindow.Title = ProgTit[Lang]
TextWindow.ForegroundColor = Colour[2]
TextWindow.WriteLine(Txt[1]["TextWin"][Lang])
EinTextWin = TextWindow.Read()


'________________________________BEFEHLE TEXTWIN________________________________
For comcom = 1 To comnum
If EinTextWin = Com[0][1][Lang] Then
TextWindow.Clear()
TextWindow.ForegroundColor = Colour[2]
TextWindow.WriteLine(Com[comcom][1][Lang] + Absatz + Com[comcom][2][Lang] + Absatz) 'funktioniert noch nivht richtig!!!
EinTextWin = TextWindow.Read()
ElseIf EinTextWin = Com[1][1][Lang] Then 'Für jedes commando eine eigene Spalte
Program.End()
ElseIf EinTextWin = Com[2][1][Lang] Then
TextWindow.Clear()
For langnum = 1 to langss
TextWindow.ForegroundColor = Colour[2]
TextWindow.WriteLine(Langs[langnum][1] + Absatz)
TextWindow.ForegroundColor = Colour[3]
EinTextWinLang = TextWindow.Read()
If EinTextWinLang = Langs[langss][1] Then
Lang = Langs[langss][2]
TextWindow.Clear()
TextWindow.ForegroundColor = Colour[2]
TextWindow.WriteLine(Txt[1]["TextWin"][Lang])
EinTextWin = TextWindow.Read()
ElseIf EinTextWinLang = Langs[langss][2] Then
Lang = Langs[langss][2]
TextWindow.Clear()
TextWindow.ForegroundColor = Colour[2]
TextWindow.WriteLine(Txt[1]["TextWin"][Lang])
EinTextWin = TextWindow.Read()
EndIf
EndFor
EndIf
EndFor
EndSub