问题列表 - 第30710页

浏览安装后的NSIS目录页面选择后添加"$ {PRODUCT_NAME}"

我有一个带有目录页面的简单NSIS脚本,用户可以在其中选择要安装应用程序的目录.请参阅下面的示例,如果已安装该应用程序,则会从注册表中获取值,或者使用www root或"program files\publisher\product name".

问题是,当我单击目录页面上的浏览并选择特定目录(例如:c:\ test)时,当我关闭浏览对话框时,定义PRODUCT_NAME会自动添加到路径中:c:\ test\Invoice Management Workflow .如何避免自动添加产品名称?

!define PRODUCT_NAME "Invoice Management Workflow"

!insertmacro MUI_DEFINES
!insertmacro MUI_PAGE_WELCOME
Page directory DirPre
!insertmacro MUI_PAGE_INSTFILES
!insertmacro MUI_PAGE_FINISH
!insertmacro MUI_UNPAGE_INSTFILES

Function DirPre
    ; set the INSTDIR to 
    ReadRegStr $0 HKLM "Software\${PRODUCT_PUBLISHER}\${PRODUCT_NAME}" "InstallDirectory"
    ${If} $0 != ""
        StrCpy $INSTDIR $0
        Abort
    ${Else}
        ; get the install dir from reg
        ReadRegStr $0 HKLM "SOFTWARE\Microsoft\InetStp" "PathWWWRoot"
        ${If} $0 != ""
            StrCpy $INSTDIR $0
        ${EndIf}
    ${EndIf}
FunctionEnd
Run Code Online (Sandbox Code Playgroud)

directory install nsis

1
推荐指数
1
解决办法
3019
查看次数

LaTeX:从第二行缩进

我想从第二行缩进.

我想用LaTeX写这样的东西:

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin eu tempor velit. Fusce accumsan ultrices fringilla. Praesent sed odio mi. Mauris non ligula turpis. Duis posuere lacus nec diam interdum dictum suscipit magna molestie. Vestibulum nibh dolor, interdum eget rhoncus ut, sodales eget justo. Morbi blandit lorem sit amet nulla egestas aliquam. Nunc pharetra est at nibh ullamcorper in commodo erat dignissim. Cras et suscipit enim. 

Nunc adipiscing ligula at ligula egestas id ullamcorper felis luctus. Aliquam tincidunt …
Run Code Online (Sandbox Code Playgroud)

latex indentation

35
推荐指数
4
解决办法
5万
查看次数

在Java(或Scala)中迭代HashMaps的HashMap

我创建了一个Foo具有toArray()返回方法的类Array<Int>.

现在,我有一个HashMap映射字符串到HashMaps,它将Objects映射到Foo.那是:

HashMap<String,HashMap<Object,Foo>>
Run Code Online (Sandbox Code Playgroud)

我想创建一个类型的新对象:

HashMap<String,HashMap<Object,Array<Int>>>
Run Code Online (Sandbox Code Playgroud)

这是通过为原始HashMAp中的每个元素Foo调用函数toArray()获得的.

为此,我通常会这样做:

    public static HashMap<String,HashMap<Object,Array<Int>>> changeMap(Map mpOld) {
        Object key2;
        String key1;
        Iterator it2;
        HashMap<String,HashMap<Object,Array<Int>>> mpNew= 
            new HashMap<String,HashMap<Object,Array<Int>>>()
        Iterator it1 = mpOld.keySet().iterator();
        while (it1.hasNext()) {
            key1=it1.next();
            it2= mpOld.get(key1).keySet().iterator();
            mpNew.put(key1,new HashMap<Object,Array<Int>>())
            while (it2.hasNext()) {
                key2=it2.next();
                mpNew.get(key1).put(key2,mpOld.get(key1).get(key2).toArray());
                //TODO clear entry mpOld.get(key1).get(key2)
            }
            //TODO clear entry mpOld.get(key1)
        }
        return mpNew;
    }
Run Code Online (Sandbox Code Playgroud)

类似的代码工作正常,但HashMap的大小太大,无法在内存中保存其中两个.如你所见,我添加了两点,我想清除一些条目.问题是,如果我这样做,我会得到一个并发错误,或者迭代器循环只是终止.

我想知道是否有更好的方法来迭代地图并复制信息.

此外,我正在使用Scala项目,但在这里我必须使用Java类型来解决一些兼容性问题.虽然Java.util.HashMap不是迭代器,但也许Scala有一些隐藏的功能来处理这个问题?

谢谢,

java memory iterator scala hashmap

6
推荐指数
3
解决办法
1万
查看次数

在py2exe编译代码中动态加载未编译的python插件

我的Python应用程序的构造使得某些功能可用作插件.插件架构目前非常简单:我有一个插件文件夹/包,其中包含一些python模块.我加载相关的插件如下:

plugin_name = blablabla
try:
    module = __import__(plugin_name, fromlist='do_something')
except ImportError:
   #some error handling ...
Run Code Online (Sandbox Code Playgroud)

然后执行:

try:
    loans = module.do_something(id_t, pin_t)
except xxx:
    # error handling
Run Code Online (Sandbox Code Playgroud)

我使用py2exe将应用程序编译为Windows二进制文件.这样可以正常工作,除了所有插件都包含在(并且必须包含在二进制文件中)的事实.这不太实用,因为对于每个新插件,我必须重新编译并发布我的应用程序的新版本.如果可以将新插件(即python文件)复制到某个应用程序插件文件夹,并且我的应用程序即时解释文件代码中的Python代码,那会更好.

这样做的最佳方法是什么?

(我已经阅读了所选插件文件的每一行,并对其应用了一个exec语句.但可能有更好的方法......)

python plugins dynamic

6
推荐指数
1
解决办法
2471
查看次数

Lua中的string.find和string.match有什么区别?

我试图了解Lua中string.find和string.match之间的区别。在我看来,两者都在字符串中找到了模式。但是有什么区别呢?以及如何使用它们?说,如果我有字符串“磁盘空间:3000 kB”,我想从中提取“ 3000”。

编辑:好的,我想我把事情复杂化了,现在迷路了。基本上,我需要将其从Perl转换为Lua:

my $mem;
my $memfree;
open(FILE, 'proc/meminfo');
while (<FILE>)
{
    if (m/MemTotal/)
    {
        $mem = $_;
        $mem =~ s/.*:(.*)/$1/;
    }
    elseif (m/MemFree/)
    {
        $memfree = $_;
        $memfree =~ s/.*:(.*)/$1/;
    }
}
close(FILE);
Run Code Online (Sandbox Code Playgroud)

到目前为止,我已经写了这个:

for Line in io.lines("/proc/meminfo") do
    if Line:find("MemTotal") then
        Mem = Line
        Mem = string.gsub(Mem, ".*", ".*", 1)
    end
end
Run Code Online (Sandbox Code Playgroud)

但这显然是错误的。我没有得到什么?我了解为什么错了,它实际上在做什么以及为什么在什么时候做

print(Mem)
Run Code Online (Sandbox Code Playgroud)

它返回

.*
Run Code Online (Sandbox Code Playgroud)

但我不知道什么是正确的方法。正则表达式使我感到困惑!

string lua

5
推荐指数
1
解决办法
4446
查看次数

VBA字符串连接

在VBA中是否有类似Java的concatenatin字符串解决方案?

我想以这样的方式使用MsgBox:

...
Set UT = Workbooks(dropdownValue).Worksheets(1)
With UT
       UT_rows = .Cells(3, 15).End(xlDown).Row
End With
MsgBox "Rows of the file: " + UT_rows
Run Code Online (Sandbox Code Playgroud)

但是当我这样做时,我的代码就会挂起.(不兼容的类型)

string vba

4
推荐指数
1
解决办法
3万
查看次数

如何在VS2010/VS2008中折叠JavaScript函数/注释块

我认为现在在VS2010/VS2008中不可能,但我确信有人必须已经完成或者可以使用VS2010/VS2008的可扩展性来解决一些问题.

能够在aspx文件编辑器和javascript(*.js)文件编辑器中折叠脚本标记内的javascript函数/注释块,就像我们在任何其他编辑器(c#,vb,xml)中一样.

我只是想通过创建#region块来实现,就像我们在c#编辑器中那样.

javascript visual-studio html-editor

3
推荐指数
1
解决办法
3249
查看次数

数据库表命名,复数或单数

命名数据库的表和模式时,最好使用单数或复数.例如.应该是客户还是客户?

当命名应该是资本,如客户或客户?关于命名的任何最佳实践?

database visual-studio

15
推荐指数
4
解决办法
7195
查看次数

在编译应用程序期间出现的奇怪单词

我有一个用C++编写的服务,我使用的是VC++ 6.0.

当我构建这个服务时,我得到一个奇怪的消息,如图所示(编译期间的字母'T'coming).虽然它不会导致任何问题,但我想知道为什么会出现此消息.

Compiling...
SerString.cpp
SerSwitcher.cpp
Smtp.cpp
SysConfigBlob.cpp
T
T
TransLateReportNames.cpp
Run Code Online (Sandbox Code Playgroud)

c++ visual-c++

2
推荐指数
1
解决办法
89
查看次数

CoreData:NSManagedObject不响应用户定义的消息

使用CoreData(在iPhone应用程序上)我从模型中生成了我的实体类,并为某些类添加了更多方法.似乎有时我会因为调用其中一种方法而获得异常.异常不是随机的,只涉及一些ManagedObject子类(其他人似乎正确响应).这是我得到的一个例子:

-[NSManagedObject printTime]: unrecognized selector sent to instance 0x5b50af0
Run Code Online (Sandbox Code Playgroud)

2010-07-15 10:29:55.216 LP [6686:207]***由于未捕获的异常'NSInvalidArgumentException'终止应用程序,原因:' - [NSManagedObject printTime]:无法识别的选择器发送到实例0x5b50af0'

NSManagedObject是我从fetch获取的对象(转换为正确的子类),我所讨论的方法是打印方法.(我试图检索那些不是故障)我错过了什么?

iphone core-data nsexception nsmanagedobject

2
推荐指数
1
解决办法
915
查看次数