Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Аватара для Alex S

Пользователь


Сообщения: 62
Благодарности: 0

Профиль | Отправить PM | Цитировать


Мужики, добрый день. Помогите с кодом. Возникла проблема при создании информационной страницы. Идея такова: в зависимости от выбранного языка на странице (в Control EDIT) должен показаться текст из текстового файла соответствующего языка. То есть если выбран русский язык инсталлятора, то текст отображается из файла info_ru.txt, если английский язык, то текст отображается из файла info_en.txt. Возник ряд проблем, при чтении из текстового файла (FileOpen-FileRead) текст отображается с крякозябликами и считывается только первая строка.
Что есть сейчас
!define PRODUCT_NAME "MyProg"

Var InfoPage
Var InfoBeforePage_Control_EDIT

!include "MUI2.nsh"
!include "nsDialogs.nsh"
!include "LogicLib.nsh"

Page custom InfoBeforePage
!insertmacro MUI_LANGUAGE "English"
!insertmacro MUI_LANGUAGE "Russian"


Name "${PRODUCT_NAME}"
OutFile "InfoBeforePage.exe"

Function .onInit
!insertmacro MUI_LANGDLL_DISPLAY
InitPluginsDir
;${If} ${LANG_RUSSIAN}
File "/oname=$PLUGINSDIR\info.txt" "info_ru.txt"
; ${Else}
; File "/oname=$PLUGINSDIR\info.txt" "info_en.txt"
;${EndIf}
FileOpen $4 "$PLUGINSDIR\info.txt" r
FileRead $4 $1 ; Read a line
FileClose $4
FunctionEnd

Function InfoBeforePage
nsDialogs::Create 1018
Pop $InfoPage
${If} $InfoPage == error
Abort
${EndIf}
!insertmacro MUI_HEADER_TEXT "Dialog title..." "Dialog subtitle..."
!define MYMULTILINEEDIT_STYLE ${DEFAULT_STYLES}|${WS_TABSTOP}|${ES_AUTOHSCROLL}|${ES_MULTILINE}|${ES_READONLY}
nsDialogs::CreateControl EDIT ${MYMULTILINEEDIT_STYLE} ${WS_EX_WINDOWEDGE}|${WS_EX_CLIENTEDGE} 0u 0u 300u 140u "$1"
Pop $InfoBeforePage_Control_EDIT
nsDialogs::Show
FunctionEnd

Section "MainSection" SEC01
SectionEnd

Отправлено: 15:07, 29-01-2018 | #2175