Microsoft Small Basic

Program Listing: ZRS542-0
' Dictionary
' Copyright © 2015 Nonki Takahashi. The MIT License.
'
' Last update 2015-10-10
' Version 1.2b
' Program ID ZRS542-0
'
GraphicsWindow.Title = "Dictionary 1.2b"
lang = "1=Chinese(Simplified);2=Chinese(Traditional);"
lang = lang + "3=English;4=French;5=German;6=Italian;"
lang = lang + "7=Japanese;8=Korean;"
idLang = 0
word = "basic"
Form()
Controls.ButtonClicked = OnButtonClicked
GraphicsWindow.MouseDown = OnMouseDown
Sub OnMouseDown
mx = GraphicsWindow.MouseX
my = GraphicsWindow.MouseY
If x1 <= mx And mx <= x2 And y1 <= my And my <= y2 Then
idLang = idLang + 1
If 16 < idLang Then
idLang = 0
EndIf
GetLang()
Shapes.SetText(objLang, txtLang)
EndIf
EndSub
Sub OnButtonCLicked
word = Controls.GetTextBoxText(tboxWord)
If idLang = 0 Then
def = Dictionary.GetDefinition(word)
ElseIf idLang = 1 Then
def = Dictionary.GetDefinitionEnglishToSimplifiedChinese(word)
ElseIf idLang = 2 Then
def = Dictionary.GetDefinitionEnglishToTraditionalChinese(word)
ElseIf idLang = 3 Then
def = Dictionary.GetDefinitionEnglishToEnglish(word)
ElseIf idLang = 4 Then
def = Dictionary.GetDefinitionEnglishToFrench(word)
ElseIf idLang = 5 Then
def = Dictionary.GetDefinitionEnglishToGerman(word)
ElseIf idLang = 6 Then
def = Dictionary.GetDefinitionEnglishToItalian(word)
ElseIf idLang = 7 Then
def = Dictionary.GetDefinitionEnglishToJapanese(word)
ElseIf idLang = 8 Then
def = Dictionary.GetDefinitionEnglishToKorean(word)
ElseIf idLang = 9 Then
def = Dictionary.GetDefinitionSimplifiedChineseToEnglish(word)
ElseIf idLang = 10 Then
def = Dictionary.GetDefinitionTraditionalChineseToEnglish(word)
ElseIf idLang = 11 Then
def = Dictionary.GetDefinitionEnglishToEnglish(word)
ElseIf idLang = 12 Then
def = Dictionary.GetDefinitionFrenchToEnglish(word)
ElseIf idLang = 13 Then
def = Dictionary.GetDefinitionGermanToEnglish(word)
ElseIf idLang = 14 Then
def = Dictionary.GetDefinitionItalianToEnglish(word)
ElseIf idLang = 15 Then
def = Dictionary.GetDefinitionJapaneseToEnglish(word)
ElseIf idLang = 16 Then
def = Dictionary.GetDefinitionEnglishToKorean(word)
EndIf
Controls.SetTextBoxText(tboxDef, def)
EndSub
Sub Form
gw = 598
gh = 428
GraphicsWindow.Width = gw
GraphicsWindow.Height = gh
GraphicsWindow.BackgroundColor = "LightGray"
GraphicsWindow.BrushColor = "Black"
GraphicsWindow.FontName = "MS Reference Sans Serif"
GraphicsWindow.DrawText(10, 14, "Word")
tboxWord = Controls.AddTextBox(50, 10)
btn = Controls.AddButton("Search", 220, 8)
GetLang()
objLang = Shapes.AddText(txtLang)
GraphicsWindow.PenColor = "Gray"
GraphicsWindow.PenWidth = 1
xLang = 380
yLang = 10
wLang = gw - 390
hLang = 20
x1 = xLang
x2 = xLang + wLang
y1 = yLang
y2 = yLang + hLang
GraphicsWindow.DrawRectangle(xLang, yLang, wLang, hLang)
Shapes.Move(objLang, xLang + 4, yLang + 4)
tboxDef = Controls.AddMultiLineTextBox(10, 40)
Controls.SetSize(tboxDef, gw - 20, gh - 50)
EndSub
Sub GetLang
' parm idLang
' returns txtLang
If idLang = 0 Then
txtLang = "English"
ElseIf idLang <= 8 Then
txtLang = "English → " + lang[idLang]
Else
txtLang = lang[idLang - 8] + " → English"
EndIf
EndSub