下拉菜单中项目之间的额外换行符

时间:2012-10-03 13:13:44

标签: nsis

我正在使用nsis安装程序创建安装程序。在那个安装程序中,我需要设置一个下拉菜单来选择货币。

我正在使用的文本文件未正确插入,我用于分隔货币的换行符实际上是在安装程序中使用了一个字符,而对于许可证页面,我使用了相同的文本扩展名我放在那里的文件,那里工作正常。

如何过滤掉这些额外的字符?

1 个答案:

答案 0 :(得分:1)

如果没有示例文件,我不得不猜测实际问题是什么,希望它只是新行:

Page custom mycustompage

!include nsDialogs.nsh
!include TextFunc.nsh

Function mycustompage
nsDialogs::Create 1018
Pop $0

; I don't have a list of things so I generate one on the fly for this example:
!tempfile MYLIST
!appendfile "${MYLIST}" "Foo$\r"
!appendfile "${MYLIST}" "Bar$\r$\n"
!appendfile "${MYLIST}" "Baz$\n"
File "/oname=$pluginsdir\thelist.txt" "${MYLIST}" ; include list in installer
!delfile "${MYLIST}"

${NSD_CreateDropList} 10u 10u 50% 100% ""
Pop $0

FileOpen $1 "$pluginsdir\thelist.txt" r
loop:
    FileRead $1 $2
    IfErrors endloop
    ${TrimNewLines} $2 $2
    StrCmp $2 "" loop ; skip empty line
    ${NSD_CB_AddString} $0 $2
    goto loop
endloop:

nsDialogs::Show
FunctionEnd