小编Ren*_*ger的帖子

如何确定变量是否是VBA中的整数?

我正在寻找一个优雅的解决方案来确定变量是否是VBA中的整数.不幸的是,如果变体是从字符串创建的,我就被卡住了.这是一个小测试脚本:

dim v as variant
v = "42"
if v <> round(v) then
   msgBox("<>")
end if
Run Code Online (Sandbox Code Playgroud)

这里,msgBox会弹出,可能是因为变量是从字符串创建的,尽管我希望v是= round(v).

excel vba excel-vba access-vba

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

在IE中的pre元素中使用innerHTML插入换行符(\n)不起作用?

我面临以下问题:我有一个HTML文档,我想打印基本状态/调试/等消息.

因此,HTML文档包含一个id为out的空前元素:

<body onload='init () && main();'>

<pre id='out'>
</pre>

</body>
</html>
Run Code Online (Sandbox Code Playgroud)

init()函数将pre元素赋给变量:

  var out_div;

  function init() {
      out_div = document.getElementById('out')
      return 1;
  }
Run Code Online (Sandbox Code Playgroud)

然后,为了在pre-div中打印一些东西,我使用这个函数:

  function txt_out(txt) {
      out_div.innerHTML += "\n" + txt
  }
Run Code Online (Sandbox Code Playgroud)

换行符应确保每次调用txt_out都是在自己的行上编写的.这在Firefox中可以正常工作.然而,IE似乎没有注意到\n.那么,IE的这个是错误的,还是我做错了什么?

html javascript dom

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

在Win32应用程序中更正"WindowProc"的返回值

在MSDN的Win32-Api文档(http://msdn.microsoft.com/en-us/library/ms633573%28VS.85%29.aspx)上WindowProc,它指出:返回值是消息处理的结果并取决于发送的消息.

由于我必须实现这个(回调)程序,我想知道它依赖什么,以及我必须返回什么.有人可以对此有所了解吗?

windows winapi

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

什么:%S在vim中做什么?

当我尝试在vim缓冲区中全局替换FOO时,我意外地输入了

:%S/FOO/BAR/
Run Code Online (Sandbox Code Playgroud)

注意大写S而不是更合适s.

当然,它不会取代我的FOO.这是可以理解的.然而,vim将窗口分成两个窗口,两个窗口都保持相同的缓冲区.

不幸的是,我无法找到任何:help关于这种行为.那么,有人可以解释大写:%S应该做什么以及我可以在哪里找到帮助吗?

vim

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

我可以用 vim 创建无限的标记吗?

我希望能够为现有的单字母标记设置额外的标记。因此,我可以解决我目前面临的两个问题:

  1. 标记是在脚本中设置的,我不想破坏脚本用户已经设置的标记

  2. 我可以设置无限数量的标记,这样我就不必计算它们(我将它们命名为"script_mrk_" . s:mark_count)。

所以,如果表示为函数调用,我可能正在寻找一些东西

setPrivateMark(l:mark_name, l:line, l:pos)
Run Code Online (Sandbox Code Playgroud)

let line_pos = getPrivateMark(l:mark_name)
Run Code Online (Sandbox Code Playgroud)

当然,在使用setPrivateMark和之前设置它之后,解决方案应该能够抵抗对标记上方的缓冲区的更改getPrivateMark(...)

有这样的事情吗?

vim

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

我的viminfo选项设置的方式和位置是什么?

据我所知,我没有设置viminfo任何地方,但它已设置.

:verbose set viminfo?
Run Code Online (Sandbox Code Playgroud)

版画

  viminfo='100,<50,s10,h,rA:,rB:
    Last set from ~/vimfiles/vimrc
Run Code Online (Sandbox Code Playgroud)

但是~/vimfiles/vimrc没有设定它.

即使我~/vimfiles/vimrc将其设置为任意值,viminfo仍将设置为'100,<50,s10,h,rA:,rB:.

为什么这样,我怎么设置/取消设置viminfo

vim

6
推荐指数
2
解决办法
5952
查看次数

当我开始(g)vim时,如何将参数传递给vimrc?

我想影响当我启动vim时我的vimrc文件的执行方式并想到使用像这样的全局变量

if exists("g:UseEnv1")
   ....
else
   ....
endif
Run Code Online (Sandbox Code Playgroud)

这样变量将在启动vim时设置

gvim -c "let g:UseEnv1=1" file-1 file-2 
Run Code Online (Sandbox Code Playgroud)

但是,这不起作用,因为在执行vimrc文件后评估-c ex命令.

我可以使用环境变量

if $UseEnv1 == 1
   ...
endif
Run Code Online (Sandbox Code Playgroud)

但是我觉得这有点问题,以防我忘记在两个会话之间更改$ UseEnv1的值.理想情况下,当我启动vim时,我想明确表示我想要Env 1.

还有其他可能吗?

vim

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

为什么stddef.h不在/ usr/include中?

我编译了gnu标准库并将其安装在$GLIBC_INST.

现在,我尝试编译一个非常简单的程序(只使用一个#include :) #include <stdio.h>:

gcc --nostdinc -I$GLIBC_INST/include foo.c
Run Code Online (Sandbox Code Playgroud)

编译(预处理器?)告诉我,它没有找到stddef.h.

事实上,没有$GLIBC_INST/include(也没有/usr/include).然而,我发现了一个stddef.h/usr/lib/gcc/x86_64-unknown-linux-gnu/5.3.0/include.

为什么那个文件不在/usr/include?我认为它属于标准的c库,应该安装在$GLIBC_INST/include.

我怎么能用foo.c新安装的标准库编译我的标准库stddef.h

编辑:澄清

我觉得这个问题的标题不是最优的.正如一些答案所指出的那样,没有要求stddef.h进入/usr/include(或$GLIBC_INST/include就此而言).我明白这一点.

但是我想知道当我想要使用时如何继续$GLIBC_INST.我似乎很明显(虽然我可能在这里错了)我需要调用gcc --nostdinc以便不使用系统安装的头文件.这需要我使用-I$GLIB_INST/include.这对我来说很清楚.

然而,我还不清楚的是:当我还添加时,我-I/usr/lib/gcc/x86..../include怎么能确定我确实拥有新编译的glibc的最新头文件?

c gcc c-preprocessor

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

为什么“git submodule add ...”写入stderr而不是stdout?

消息

Cloning into 'sub-mod'...
done.
Run Code Online (Sandbox Code Playgroud)

git submodule add...将命令写入stderr后。我希望该消息被写入标准输出,因为我不认为它表明命令出了问题。

我可以使用以下命令序列重现此内容:

rm   -rf /tmp/repo /tmp/module
mkdir    /tmp/repo /tmp/module

cd /tmp/module

git init  > /dev/null
echo "foo" > foo;
git add foo > /dev/null
git commit . -m "+ foo" > /dev/null


cd /tmp/repo

git init > /dev/null
git submodule add /tmp/module/ sub-mod 1> /dev/null
Run Code Online (Sandbox Code Playgroud)

如果我将最后一个命令中的重定向更改为... 2> /dev/null,则不会打印任何内容。

git shell stdout stderr

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

为什么使用"use utf8"在UTF-8编码的Perl脚本中无法识别变音符号?

以下脚本以UTF-8编码:

use utf8;

$fuer = pack('H*', '66c3bc72');

$fuer =~ s/ü/!!!/;

print $fuer;
Run Code Online (Sandbox Code Playgroud)

其中üs///内容存储在脚本中c3 bc,如下面的xxd十六进制转储所示.

0000000: 75 73 65 20 75 74 66 38 3b 0a 0a 24 66 75 65 72  use utf8;..$fuer
0000010: 20 3d 20 70 61 63 6b 28 27 48 2a 27 2c 20 27 36   = pack('H*', '6
0000020: 36 63 33 62 63 37 32 27 29 3b 0a 0a 24 66 75 65  6c3bc72');..$fue
0000030: …
Run Code Online (Sandbox Code Playgroud)

perl utf-8 character-encoding

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