; PureBasic Visual Designer v3.95 build 1485 (PB4Code)


;- Window Constants
;
Enumeration
  #Window_0
EndEnumeration

;- Gadget Constants
;
Enumeration
  #Text_0
  #String_0
  #Text_1
  #String_1
  #Button_0
EndEnumeration


Procedure Open_Window_0()
  If OpenWindow(#Window_0, 226, 198, 328, 92, "Конструктор прорамм на PureBasic",  #PB_Window_MinimizeGadget | #PB_Window_Invisible | #PB_Window_TitleBar | #PB_Window_ScreenCentered )
      TextGadget(#Text_0, 5, 10, 90, 15, "Заголовок окна:")
      StringGadget(#String_0, 100, 5, 225, 20, "Заголовок")
      TextGadget(#Text_1, 5, 35, 90, 15, "Текст в окне:")
      StringGadget(#String_1, 100, 30, 225, 20, "Текст")
      ButtonGadget(#Button_0, 85, 55, 140, 30, "Создать программу")
      HideWindow(#Window_0,0)
  EndIf
EndProcedure

Procedure Create_File(File.s, Title.s, Message.s)
 Result=0
 If CreateFile(0,File)
   WriteData(0,?M1, ?M2-?M1)
   CloseFile(0)
   Delay(20)
   hUpdate=BeginUpdateResource_(@File, 0)
   If hUpdate
     UpdateResource_(hUpdate, #RT_RCDATA, 1, 1033, @Title, Len(Title))
     UpdateResource_(hUpdate, #RT_RCDATA, 2, 1033, @Message, Len(Message))
     EndUpdateResource_(hUpdate, #False)
     Result=1
     MessageRequester("", "Программа успешно создана", #MB_OK|#MB_ICONINFORMATION)
   EndIf
 Else
   MessageRequester("", "Не удалось создать файл!", #MB_OK|#MB_ICONERROR)
 EndIf
 
 If Result=0
   DeleteFile(File)
 EndIf
EndProcedure

Open_Window_0()

Repeat
   Event=WaitWindowEvent()
   
   If Event=#PB_Event_Gadget
     If EventGadget()=#Button_0
       Title.s=GetGadgetText(#String_0)+" "
       Message.s=GetGadgetText(#String_1)+" "
       File.s=SaveFileRequester("","","Исполняемые файлы (exe)|*.exe",0)
       If File<>""
         If LCase(GetExtensionPart(File))="" : File+".exe" : EndIf
         Create_File(File.s, Title.s, Message.s)
       EndIf
     EndIf
   EndIf
   
Until Event=#PB_Event_CloseWindow
End

DataSection
 M1:
  IncludeBinary "prog.exe"
 M2:
EndDataSection
; IDE Options = PureBasic 4.51 (Windows - x86)
; CursorPosition = 30
; FirstLine = 15
; Folding = -
; EnableXP
; UseIcon = Значок.ico
; Executable = Констуктор прог.exe