Microsoft Small Basic

Program Listing:
Embed this in your website
GraphicsWindow.Show()
GraphicsWindow.Title = " Вам мальчишкам и девчушкам... Akiva 25/IX-2013 Toronto"
GraphicsWindow.BrushColor = GraphicsWindow.GetColorFromRGB(192,255,255)
GraphicsWindow.Width = 1010
GraphicsWindow.Height = 815     'Собираем форму
GraphicsWindow.CanResize = "False"
Mouse.ShowCursor()
GraphicsWindow.MouseDown = RZ
GraphicsWindow.MouseDown = md2
GraphicsWindow.MouseMove = OnMouseMove
GraphicsWindow.BrushColor = "Black"
GraphicsWindow.FontSize = 12
b1 = Controls.AddButton("Shape1",860,10)  ' - где ей быть
Controls.SetSize(b1,140,25)               ' - размеры
b2 = Controls.AddButton("Shape2",860,37)
Controls.SetSize(b2,140,25)
b3 = Controls.AddButton("Shape3",860,64)
Controls.SetSize(b3,140,25)
b4 = Controls.AddButton("Shape4",860,91)    'Кнопочки
Controls.SetSize(b4,140,25)
b5 = Controls.AddButton("Polygon5",860,118)
Controls.SetSize(b5,140,25)
b6 = Controls.AddButton("Polygon6",860,145)
Controls.SetSize(b6,140,25)
b7 = Controls.AddButton("Polygon7",860,172)
Controls.SetSize(b7,140,25)
b8 = Controls.AddButton("Polygon8",860,199)
Controls.SetSize(b8,140,25)
b9 = Controls.AddButton("DrawLine",860,226)
Controls.SetSize(b9,140,25)
b10 = Controls.AddButton("DrawRectangle",860,253)
Controls.SetSize(b10,140,25)
b11 = Controls.AddButton("FillRectangle",860,280)
Controls.SetSize(b11,140,25)
b12 = Controls.AddButton("DrawEllipse",860,307)
Controls.SetSize(b12,140,25)
b13 = Controls.AddButton("FillEllipse",860,334)
Controls.SetSize(b13,140,25)
b14 = Controls.AddButton("DrawTriangle",860,361)
Controls.SetSize(b14,140,25)
b15 = Controls.AddButton("FillTriangle",860,388)
Controls.SetSize(b15,140,25)
b16 = Controls.AddButton("DrawText",860,415)
Controls.SetSize(b16,140,25)
b17 = Controls.AddButton("DrawImage",860,442)
Controls.SetSize(b17,140,25)
b18 = Controls.AddButton("Sound.Play",860,469)
Controls.SetSize(b18,140,25)
b19 = Controls.AddButton("",860,496)
Controls.SetSize(b19,140,25)
b20 = Controls.AddButton("#",860,523)
Controls.SetSize(b20,140,25)
b21 = Controls.AddButton("Animate",860,550)
Controls.SetSize(b21,140,25)
b22 = Controls.AddButton("Remove",860,577)
Controls.SetSize(b22,140,25)
b23 = Controls.AddButton("Rotate",860,604)
Controls.SetSize(b23,140,25)
b24 = Controls.AddButton("Draw-Рисовалка",860,631)
Controls.SetSize(b24,140,25)
b25 = Controls.AddButton("",860,658)
Controls.SetSize(b25,140,25)
b26 = Controls.AddButton("",860,685)
Controls.SetSize(b26,140,25)
b27 = Controls.AddButton("BackgroundColor",860,712)
Controls.SetSize(b27,140,25)
b28 = Controls.AddButton("RST",860,739)
Controls.SetSize(b28,140,25)
b29 = Controls.AddButton("Help",860,766)
Controls.SetSize(b29,140,25)
GraphicsWindow.BrushColor = "Blue"
txt = Controls.AddTextBox(660,793)
Controls.SetSize(txt,340,25)
Controls.ButtonClicked = Go
Sub Go
  If Controls.LastClickedButton = b1 Then ' Если нажать на кнопочку b1
    md2() 'подпрограмма cчетчик-координат
    wh()  ' "" размер фигере
    Cip() ' "" заливка фигуры
    Controls.SetButtonCaption(b1,"Включен")
    s = FCDialogs.AskForTextLine("К-во углов = ?") ' на сколько углов фигуре быть
    st1 = LDShapes.AddStar(s,w,h)   'размеры
    Shapes.Move(st1,x1,y1) ' координаты где фигуре быть
    an = st1 ' связь с анимацией
    rt = st1 ' "" уничтожить фигуры
    sh = st1 ' "" с поворотом
    K = 0

  ElseIf Controls.LastClickedButton = b2 Then
    md2()
    wh()
    Cip()
    Controls.SetButtonCaption(b2,"Включен")
    s = FCDialogs.AskForTextLine("К-во углов = ?")
    st2 = LDShapes.AddStar(s,w,h)
    Shapes.Move(st2,x1,y1)
    an = st2
    rt = st2
    sh = st2
    K = 0

 ElseIf Controls.LastClickedButton = b3 Then
    md2()
    wh()
    Cip()
    Controls.SetButtonCaption(b3,"Включен")
    s = FCDialogs.AskForTextLine("К-во углов = ?")
    st3 = LDShapes.AddStar(s,w,h)
    Shapes.Move(st3,x1,y1)
    an = st3
    rt = st3
    sh = st3
    K = 0

  ElseIf Controls.LastClickedButton = b4 Then
    md2()
    wh()
    Cip()
    Controls.SetButtonCaption(b4,"Включен")
    s = FCDialogs.AskForTextLine("К-во углов = ?")
    st4 = LDShapes.AddStar(s,w,h)
    Shapes.Move(st4,x1,y1)
    an = st4
    rt = st4
    sh = st4
    K = 0

 ElseIf Controls.LastClickedButton = b5 Then
    md2()
    wh()
    Cip()
    Controls.SetButtonCaption(b5,"Включен")
    s = FCDialogs.AskForTextLine("К-во углов = ?")
    st5 = LDShapes.AddRegularPolygon(s,w)
    Shapes.Move(st5,x1,y1)
    an = st5
    rt = st5
    sh = st5
    K = 0

  ElseIf Controls.LastClickedButton = b6 Then
    md2()
    wh()
    Cip()
    Controls.SetButtonCaption(b6,"Включен")
    s = FCDialogs.AskForTextLine("К-во углов = ?")
    st6 = LDShapes.AddRegularPolygon(s,w)
    Shapes.Move(st6,x1,y1)
    an = st6
    rt = st6
    sh = st6
    K = 0

  ElseIf Controls.LastClickedButton = b7 Then
    md2()
    wh()
    Cip()
    Controls.SetButtonCaption(b7,"Включен")
    s = FCDialogs.AskForTextLine("К-во углов = ?")
    st7 = LDShapes.AddRegularPolygon(s,w)
    Shapes.Move(st7,x1,y1)
    an = st7
    rt = st7
    sh = st7
    K = 0

  ElseIf Controls.LastClickedButton = b8 Then
    md2()
    wh()
    Cip()
    Controls.SetButtonCaption(b8,"Включен")
    s = FCDialogs.AskForTextLine("К-во углов = ?")
    st8 = LDShapes.AddRegularPolygon(s,w)
    Shapes.Move(st8,x1,y1)
    an = st8
    rt = st8
    sh = st8
    K = 0

  ElseIf Controls.LastClickedButton = b9 Then
  md2()
  pn() 'Подпрограммп для зарисовки контура фигур
  GraphicsWindow.DrawLine(x1,y1,x2,y2)
  K = 0
EndIf
If Controls.LastClickedButton = b10 Then
  md2()
  pn()
  wh()
  GraphicsWindow.DrawRectangle(x1,y1,w,h)
  K = 0

ElseIf Controls.LastClickedButton = b11 Then
  md2()
  Cip()
  wh()
  GraphicsWindow.FillRectangle(x1,y1,w,h)
  K = 0

ElseIf Controls.LastClickedButton = b12 Then
  md2()
  pn()
  wh()
  GraphicsWindow.DrawEllipse(x1,y1,w,h)
  K = 0

ElseIf Controls.LastClickedButton = b13 Then
  md2()
  Cip()
  wh()
  GraphicsWindow.FillEllipse(x1,y1,w,h)
  K = 0

ElseIf Controls.LastClickedButton = b14 Then
  md2()
  pn()
  GraphicsWindow.DrawTriangle(x1,y1,x2,y2,x3,y3)
  K = 0
ElseIf Controls.LastClickedButton = b15 Then
  md2()
  Cip()
  GraphicsWindow.FillTriangle(x1,y1,x2,y2,x3,y3)
  K = 0
  ElseIf Controls.LastClickedButton = b16 Then
    md2()
    Cip()
    nf = FCDialogs.AskForTextLine("FontName = ?")
    f = FCDialogs.AskForTextLine("FontSize = ?")
    GraphicsWindow.FontName = nf
    GraphicsWindow.FontSize = f
   t11 = Controls.GetTextBoxText(txt)       'Для создание надписей на форме
   GraphicsWindow.DrawText(x1,y1,t11)
   K = 0
   ElseIf Controls.LastClickedButton = b17 Then
     md2()
    fle = FCDialogs.AskForFile()         'Загрузка с файла картинки
  GraphicsWindow.DrawImage(fle,x1,y1)
  K = 0
ElseIf Controls.LastClickedButton = b18 Then
  Sound.PlayBellRing()                     'Вызов звонка

ElseIf Controls.LastClickedButton = b20 Then
  GraphicsWindow.PenWidth = 0.5
  GraphicsWindow.PenColor = GraphicsWindow.GetColorFromRGB(100,225,255)
  For v = 4 To 210 Step 6
    For g = 4 To 210 Step 6
      GraphicsWindow.DrawLine(4 * g,4,4 * g,810)       'Сетка
      EndFor
      GraphicsWindow.DrawLine(4,4 * v,845,4 * v)
      EndFor
  ElseIf Controls.LastClickedButton = b21 Then
    md2()
   t = FCDialogs.AskForTextLine("Время в(miliSeconds) = ?") 'Сколько милиСекунд фигуре быть в полете?
  FCControls.MoveAsAnimation(an,x1,y1,t)
    K = 0

  ElseIf Controls.LastClickedButton = b22 Then
   Shapes.Remove(st1)
   Shapes.Remove(st2)
   Shapes.Remove(st3)
   Shapes.Remove(st4)    'Уничтожает действующих фигур
   Shapes.Remove(st5)
   Shapes.Remove(st6)
   Shapes.Remove(st7)
   Shapes.Remove(st8)
   Controls.SetButtonCaption(b1,"Shape 1")
   Controls.SetButtonCaption(b2,"Shape 2")
   Controls.SetButtonCaption(b3,"Shape 3")
   Controls.SetButtonCaption(b4,"Shape 4")
   Controls.SetButtonCaption(b5,"Shape 5")   'Отмечает какая фигура свободна
   Controls.SetButtonCaption(b6,"Shape 6")
   Controls.SetButtonCaption(b7,"Shape 7")
   Controls.SetButtonCaption(b8,"Shepe 8")
  K = 0

ElseIf Controls.LastClickedButton = b23 Then
  ang = FCDialogs.AskForTextLine("Под каким Углом = ?")
  Shapes.Rotate(rt,ang)
  K = 0
ElseIf Controls.LastClickedButton = b24 Then
  pn()
  GraphicsWindow.MouseMove = Risovalka

ElseIf Controls.LastClickedButton = b25 Then

ElseIf Controls.LastClickedButton = b27 Then
  R = FCDialogs.AskForTextLine("Red(R) = ? (От 0 до 255)")
  g = FCDialogs.AskForTextLine("Green(G) = ? (От 0 до 255)") 'Для изменение фона формы
  B = FCDialogs.AskForTextLine("Blue(B) = ? (От 0 до 255)")
  GraphicsWindow.BackgroundColor = GraphicsWindow.GetColorFromRGB(R,G,B)

ElseIf Controls.LastClickedButton = b28 Then
  GraphicsWindow.BrushColor = GraphicsWindow.GetColorFromRGB(R,G,B) 'RST
  GraphicsWindow.FillRectangle(0,0,1020,825)
  K = 0
ElseIf Controls.LastClickedButton = b29 Then
  GraphicsWindow.FontSize = 12
  GraphicsWindow.BrushColor = "Black"
  GraphicsWindow.DrawBoundText(25,10,800," Объясняю как пользоваться этой рисовалкой:")
  GraphicsWindow.DrawBoundText(10,30,850,"1)Сделай метку где быть фигуре(Shape).DrawLine(X1,Y1)-(X2,Y2),дважды ); Triangle - трижды (X1,Y1)-(X2,Y2)-(X3,Y3).")
  GraphicsWindow.DrawBoundText(10,50,850," Остальным фигурам(Shapes),один раз (X1,Y1).")
  GraphicsWindow.DrawBoundText(10,70,850,"2)Вписывай разумныые размеры фигуре(ширину),(высоту) и только числами.")
  GraphicsWindow.DrawBoundText(10,90,850,"3)-,создаешь звезду(star) - разной конфигурации и количества углов.")
  GraphicsWindow.DrawBoundText(10,110,850,"4)-,создаешь 3х-угольник,pomб,5,6,7 и тд. угольных фигур(Shapes).")
  GraphicsWindow.DrawBoundText(10,130,850,"5)Каждую последующую фигуру можно перемещать,укажи (MouseDown) куда и за какое время в (miliSeconds).")
  GraphicsWindow.DrawBoundText(10,150,850,"6)Их можно разворачивать под нужным углом.(до 360 градусов).")
  GraphicsWindow.DrawBoundText(10,170,850,"7)Используй из каждой ячейки(Shape1-Polygon8) по одной фигуре! очищает форму от (Shapes).")
  GraphicsWindow.DrawBoundText(10,190,850,"8)Остальные фигуры для тебя не будет представлять большого труда.Очищает их с формы .")
  GraphicsWindow.DrawBoundText(10,210,850,"9)Если есть необходимость надписать что-то: внизу-справо(TextBox) и укажи где ей быть.")
  GraphicsWindow.DrawBoundText(10,230,850,"10) - дает мозможность выбрать картинку и установить ее на форме,только укажи куда.")
  GraphicsWindow.DrawBoundText(10,250,850,"11)Если хочешь сохранить свой 'шедевр', сделай вырезку ножницами (у меня Window-8), и в выбранную папочку.")
  GraphicsWindow.DrawBoundText(10,270,850,"12)Нажми на кнопочку и сделай себе перерыв?")
  GraphicsWindow.DrawBoundText(10,290,850,"13)Если удобней тебе рисовать сеточкой, нажми на <#>")
  GraphicsWindow.DrawBoundText(10,310,850,"14),говорит само за себя.Если желаешь стереть,то подбирай цвету фона формы и большим (PenWidth).")
  GraphicsWindow.DrawBoundText(10,330,850,"15),Подбери по вкусу фон формы. R=(255,0,0) : G=(0,255,0) : B=(0,0,255) и тд., и ")
  GraphicsWindow.DrawBoundText(150,370,500,"УДАЧИ ТЕБЕ И БЛАГОПОЛУЧИЯ. Akiva 27/IX-2013 Toronto")

 EndIf
   EndSub
   Sub Cip
    C = FCDialogs.AskForColor()
    GraphicsWindow.BrushColor = C ' подпрограмма для приготовление цвета заливки
  EndSub
  Sub wh
    w = FCDialogs.AskForTextLine("Ширина = ?")
    h = FCDialogs.AskForTextLine("Высота = ?") 'для размера фигурам
    EndSub
Sub md2
  K = K + 1
  If K = 1 Then
    rz()
    X1 = x
    Y1 = y
  ElseIf K = 2 Then      'Счетчик координат
    rz()
    X2 = x
    Y2 = y
  ElseIf K = 3 Then
    rz()
    X3 = x
    Y3 = y
    EndIf
  EndSub
Sub rz
  X = GraphicsWindow.MouseX
  Y = GraphicsWindow.MouseY
  GraphicsWindow.BrushColor = "Black"    'метки где устанавливать фигуры
  GraphicsWindow.FillEllipse(X,Y,3,3)
EndSub
Sub OnMouseMove    'индикатор местонахождении мыши(MouseDown)
  GraphicsWindow.Title = "X = " + GraphicsWindow.MouseX + " : Y = " + GraphicsWindow.MouseY
EndSub
Sub pn
  C1 = FCDialogs.AskForColor()
  P = FCDialogs.AskForTextLine("PenWidth = ?") 'Для создания контура фигурам
  GraphicsWindow.PenWidth = P
  GraphicsWindow.PenColor = C1
EndSub
Sub Risovalka
  If Mouse.IsLeftButtonDown ="True" Or Mouse.IsRightButtonDown = "True" Then
    GraphicsWindow.DrawLine(mx1,my1,GraphicsWindow.MouseX,GraphicsWindow.MouseY)
  EndIf
  mx1 = GraphicsWindow.MouseX
  my1 = GraphicsWindow.MouseY
  EndSub
Copyright (c) Microsoft Corporation. All rights reserved.