Форум программистов, компьютерный форум, киберфорум
Pure Basic
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
0 / 0 / 0
Регистрация: 11.12.2017
Сообщений: 96
1

создание инсталятора

07.11.2018, 17:41. Показов 1460. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый день. нашел в интернете интересующий меня код, но в 5.60 почему то данный код компилируется не очень хорошо
ероглифы какието и текст перемешивается, подскажите как поправить под данную версию пурика



PureBasic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
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



PureBasic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
Title.s=""
Message.s=""
Global ProgName.s=ProgramFilename()
 
 
 
Procedure.s GetResurse(Number)
 String.s=""
 lHLib = LoadLibrary_(ProgName)
    If lHLib
      lHRes = FindResource_(lHLib, Number, #RT_RCDATA)
      If lHRes
        lHResLoad = LoadResource_(lHLib, lHRes)
        lSz = SizeofResource_(lHLib, lHRes)
        If lHResLoad And lSz>0
          *lPResLock = LockResource_(lHResLoad)
          If *lPResLock
            String=PeekS(*lPResLock, lSz)
          EndIf
        EndIf
      EndIf
      FreeLibrary_(lHLib)
    EndIf  
 ProcedureReturn String
EndProcedure
 
Title.s=GetResurse(1)
Message.s=GetResurse(2)
 
MessageRequester(Title, Message)
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.11.2018, 17:41
Ответы с готовыми решениями:

Создание инсталятора
Уважаемые форумчане! Подскажите с помощью какой программы можно создать установщик, в который...

Создание инсталятора
Здравствуйте. Не подскажите пожалуйста, как создать инсталятор для проекта делфи(какая программа...

Создание инсталятора
Здравствуйте, создаю инсталлятор программы, но почему то библиотеки подчеркнуты красным, но никаких...

Создание инсталятора c#
Здравствуйте. Задача - создать инсталлятор. Пытаюсь это сделать через Visual 2012, он потребовал...

2
4393 / 2243 / 252
Регистрация: 28.10.2011
Сообщений: 8,574
Записей в блоге: 6
07.11.2018, 18:23 2
Дело в кодировке файлов (Меню Файл -> Формат файла). Нужно изменить ее с "Простой текст" на UTF-8.
Функцию Len заменить на StringByteLength.
0
0 / 0 / 0
Регистрация: 11.12.2017
Сообщений: 96
07.11.2018, 19:27  [ТС] 3
Спасибо в главное программе ваши советы помогли, но теперь в prog вместо сообщения пишу в фаил значения
в итоге выходит
Title.s=GetResurse(1)
Message.s=GetResurse(2)

Title =1значение+2значение
Message =значение2+㼼浸敶
как там поправить?

Добавлено через 13 минут
разобрался lSz нужно делить на 2
0
07.11.2018, 19:27
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
07.11.2018, 19:27
Помогаю со студенческими работами здесь

Создание инсталятора
Доброго времени суток. Имеется ПО которое нужно запихнуть в инсталятор, чтобы можно было выбирать...

Создание инсталятора
Всем доброго времени суток. Многие на форуме задавали этот вопрос но вразумительного ответа я не...

Создание инсталятора программы
Всем доброй ночи) У меня есть программа на Delphi, которая работает с ms sql. Мне надо создать...

Создание инсталятора для приложения Windows Froms
Необходимо для инсталятора в vs2010 задать такое поведение, чтобы он проверял наличие уже...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru