PureBasic
;
; ------------------------------------------------------------
;
;   PureBasic - Requester example file
;
;    (c) Fantaisie Software
;
; ------------------------------------------------------------
;

If OpenWindow(0, 100, 200, 300, 0, "PureBasic - Requesters пример")

  If CreateMenu(0, WindowID(0))
    MenuTitle("Тест")
      MenuItem(0, "Открыть")
      MenuItem(1, "Сохранить")
      MenuItem(6, "Путь")
      MenuBar()
      MenuItem(2, "Выбрать цвет")
      MenuItem(3, "Выбрать шрифт")
      MenuBar()
      MenuItem(4, "Простые сообщения")
      MenuBar()
      MenuItem(5, "Выход")
  EndIf
  
  Repeat
    Event = WaitWindowEvent()

    Select Event
    
      Case #PB_Event_Menu  ; Был выбран пункт меню
      
        Select EventMenu()
        
          Case 0  ; OpenFileRequester
            File$ = OpenFileRequester("PureBasic - открытие", "Pure.txt", "Текст (*.txt)|*.txt;*.bat|(PureBasic (*.pb)|*.pb", 0)
            If File$+File$
              MessageRequester("Инфо", "Выбранный файл: "+File$, 0);
            EndIf
          
          Case 1  ; SaveFileRequester
            File$ = SaveFileRequester("PureBasic - сохранение ", "Basic.pb", "Текст (*.txt)|*.txt|(PureBasic (*.pb)|*.pb", 1)
            If File$
              MessageRequester("Инфо", "Выбранный файл: "+File$, 0);
            EndIf
          
          Case 2  ; запрос цвета
            Colour = ColorRequester()
            If Colour > -1
              MessageRequester("инфо", "Выбранный цвет: Red: "+Str(Red(Colour))+", Green: "+Str(Green(Colour))+", Blue: "+Str(Blue(Colour)), 0);
            EndIf
          
          Case 3  ; запрос шрифта
            If FontRequester("Courier", -13, 0)
              MessageRequester("инфо", "Выбранный шрифт: "+SelectedFontName()+Chr(10)+"Font size: "+Str(SelectedFontSize()), 0)
            EndIf
          
          Case 4  ; Простые сообщения
            MessageRequester("Инфо", "Простые сообщения"+Chr(13)+"строка 2"+Chr(13)+"строка 3", 0)
          
          Case 5  ; Выход
            Quit = 1
            
          Case 6
            Path$ = PathRequester("Выберете путь...","C:\")
            If Path$
              MessageRequester("Инфо", "Выбранный путь: "+Path$, 0)
            EndIf
            
        EndSelect
      
      
      Case #PB_Event_CloseWindow  ; Если пользователь нажал на кнопку закрытия
        Quit = 1
        
    EndSelect

  Until Quit = 1
  
EndIf

End   ; Все открытые окна автоматически закрываются PureBasic