如何在Visual Basic脚本中确定路径是相对路径还是绝对路径.
在VBA中,我将调用Win32 Api函数PathIsRelative
Private Declare Function PathIsRelative Lib "shlwapi" _
Alias "PathIsRelativeA" _
(ByVal pszPath As String) As Long
Run Code Online (Sandbox Code Playgroud)
但是,无法从VBS调用DLL,因此我无法使用Win32 Api.
勒内
是否有可能在Vim窗口(即屏幕上)中显示与缓冲区中的基础字符不同的字符?
例如,如果filetype设置为html,我(有时)喜欢看到html-entities被人类可读的字符替换(例如ä
代替ä
).当然,这将导致实体之后的其余部分必须"移位"到左侧.如果这可能以某种方式,我会欣赏任何正确方向的暗示.
我需要一个文件,我想确保用utf8编码.
所以,我创建了该文件
c:\> gvim umlaute.txt
Run Code Online (Sandbox Code Playgroud)
在VIM我键入Umlaute:
äöü
Run Code Online (Sandbox Code Playgroud)
我检查编码...
:set enc
Run Code Online (Sandbox Code Playgroud)
(VIM回声encoding=latin1
)
然后我检查文件编码...
:set fenc
Run Code Online (Sandbox Code Playgroud)
(VIM回声fileencoding=
)
然后我写了文件
:w
Run Code Online (Sandbox Code Playgroud)
并检查硬盘上文件的大小:
!dir umlaute.txt
Run Code Online (Sandbox Code Playgroud)
(大小为5个字节)当然可以预期,文本为3个字节,\ x0a\x0d为2个字节.
好的,我现在将编码设置为
:set enc=utf8
Run Code Online (Sandbox Code Playgroud)
缓冲区很奇怪
<e4><f6><fc>
Run Code Online (Sandbox Code Playgroud)
我想这是我之前输入的ascii字符的十六进制表示.所以我重写了它们
äöü
Run Code Online (Sandbox Code Playgroud)
写作,检查大小:
:w
:$ dir umlaute.txt
Run Code Online (Sandbox Code Playgroud)
这一次,它是8个字节.我想这对于每个字符加上\ x0d\x0a是有意义的2个字节.
好的,所以我想确保下次打开文件时它会用encodiung = utf8打开.
:setb
:w
:$ dir umlaute.txt
Run Code Online (Sandbox Code Playgroud)
11个字节.这当然是BOM(ef bb bf)的8(先前)字节+ 3字节.
所以我
:quit
Run Code Online (Sandbox Code Playgroud)
vim并再次打开文件
并检查,如果设置了编码:
:set enc
Run Code Online (Sandbox Code Playgroud)
但VIM坚持认为encoding=latin1
.
那么,为什么呢.我原以为BOM会告诉VIM这是一个UTF8文件.
我了解,节点ID在graphviz(此处为点)文件中应该是唯一的。
但是,我希望我只能让它们在它们的集群中唯一,也就是说,我希望以下文件产生4个节点:
digraph G {
subgraph cluster_clust_one {
node [shape=record];
a [label = "A / 1"];
b [label = "B / 1"];
a -> b;
}
subgraph cluster_clust_two {
node [shape=record];
a [label = "A / 2"];
b [label = "B / 2"];
a -> b;
}
}
Run Code Online (Sandbox Code Playgroud)
但是,它不是,因为节点ID不是唯一的。显然,我可以通过分配唯一的ID(例如,通过更改cluster_clust_two
为
subgraph cluster_clust_two {
node [shape=record];
c [label = "A / 2"];
d [label = "B / 2"];
c -> d;
}
Run Code Online (Sandbox Code Playgroud)
不幸的是,这将需要更改生成点文件的脚本,如果不是绝对必要的话,我将不希望这样做。因此,如果有标志或可以设置的东西,我更喜欢这条路线。
下面的html文档有两个div,一个带border(id='with'
),另一个没有(id='without
).带边框的div(至少在firefox和chrome上)显着高于带边框的div.
我原alert
以为它们的高度最多只有2个像素,但是,告诉我它们的高度是19像素不同.
我无法弄清楚为什么会这样.
<!DOCTYPE HTML>
<html>
<head>
<title>Height of divs with/without a border</title>
<script type="text/javascript" src='jquery-1.8.3.js'></script>
<script type='text/javascript'>
$(document).ready(function() {
alert($('#with' ).height() + ' / ' +
$('#without').height());
});
</script>
</head>
<body>
<div style='width:300px;border:black 1px solid;background-color:yellow' id='with'>
<h1>With a border</h1>
bla<br>
bla<br>
bla<br>
</div>
<div style='width:300px;background-color:green' id='without'>
<h1>Without a border</h1>
bla<br>
bla<br>
bla<br>
</div>
</body>
</html>
Run Code Online (Sandbox Code Playgroud) 如果启动一个perl模块,我不确定它是否以及它有什么不同
package MYPACKAGE;
use 5.12.0;
use warnings;
# functions are here
1;
Run Code Online (Sandbox Code Playgroud)
要么
use 5.12.0;
use warnings;
package MYPACKAGE;
# functions are here
1;
Run Code Online (Sandbox Code Playgroud)
或者如果这些use ...
都不被认为是因为它们use ...
是从调用perl脚本继承而来的.
这个问题可能归结为:是否值得use ...
在模块中指定它们,或者如果我在perl脚本中指定它们就足够了.
在我的(cmd.exe)中,当前工作目录是名为libre-office-document.odt的文件.我可以使用start
命令打开此文档而不会出现问题:
c:\path\to\> start libre-office-document.odt
Run Code Online (Sandbox Code Playgroud)
但是,如果我使用以下简单的Perl脚本
use warnings;
use strict;
print system("start libre-office-document.odt")
Run Code Online (Sandbox Code Playgroud)
并在同一目录中执行它,我得到以下消息框:
LibreOffice 4.4 - 致命错误
该应用程序无法启动.
用户安装无法完成.
显然,使用Perl system
命令时某些行为会有所不同.我无法确定这是什么以及如何使用该system
命令打开文档.
我有一个INSERT INTO... SELECT ... FROM
SQL 语句,从命令行 shell 执行时运行速度可以接受SQLite's
。
但是,如果我使用 Perl 执行相同的语句(复制/粘贴)DBI::SQLite
,则该语句会变慢。
原因一定是执行计划:当我让语句从 shell 和内部解释时DBI::SQLite
,它们是不同的:快速版本使用最佳索引和表顺序,慢速版本选择以小于最佳方式。
所以,我有两个问题。
当我在“开始”菜单上启动 Microsoft Word,然后查询文件Application.NormalTemplate.Path
的位置时normal.dotm
,如预期的那样,我得到了C:\Users\USERNAME\AppData\Roaming\Microsoft\Templates
.
但是,当我在 PowerShell 中使用 COM 自动化启动 Word 时:
$wrd = new-object -com word.application
$wrd.visible = $true
Run Code Online (Sandbox Code Playgroud)
查询相同的表达式时,我得到不同的路径:C:\Users\USERNAME\AppData\Local\Packages\Microsoft.Office.Desktop_8wekyb3d8bbwe\LocalCache\Roaming\Microsoft\Templates
。
为什么会这样?我该怎么做才能让 COM 调用打开同一个 normal.dotm 文件?
在我看来,Firefox没有正确处理CSS文件中的指令.我可能错了,我想在此纠正我.
这是我的CSS的相关部分:
@media print {
div.entry a:link {
text-decoration:none;
color:#999;
}
}
Run Code Online (Sandbox Code Playgroud)
当我打印页面时,如果颜色以十六进制表示给出,则无论color:
指令后的值如何,链接都以黑色打印.
有趣的是,如果我将线条更改为类似的东西,color:yellow;
则链接将以黄色打印.此外,Internet Explorer以灰色显示链接(#999).因此,我得出结论,这必定是Firefox的一个错误.如果不是,请告诉我.
我是FF 3.6