我需要选择Windows自动化脚本语言.你推荐哪一个; AutoIt,AutoHotkey还是其他?
我读过" An AutoIt/AutoHotkey比较 ".有趣的历史,但没有推荐.搜索谷歌大约有312,000次点击,而AutoHotkey Windows对于482k AutoIt Windows.在Stack Overflow上有15个问题标记为autoit vs 18 autohotkey.
我对程序员的看法很感兴趣.您认为哪一个更易于使用,更易于部署且功能更强大?我已经将AutoHotkey用于个人用途,所以我最初的偏好就是这个.
我想为相当多的页面设置favicon.但是,我不想使用HTML <head>标记<link rel="shortcut icon" href="favicon.ico">,而是将其设置在CSS文件中.我对某些html文件的访问权限有限,并且对其生命周期的控制有限.
我有通过node.js存储在Redis中的JSON(<1k).将其存储为对象或字符串有哪些优缺点?我错过了其他选择吗?所有处理最终都会在客户端进行,因此无需转换为对象.
组
var images = JSON.parse(data); // data is already JSON, is this needed?
callback(images); // sends result to the user
r.set('images:' + req.query, images); // saving the object
Run Code Online (Sandbox Code Playgroud)
得到
callback(images);
Run Code Online (Sandbox Code Playgroud) 自1987年以来,我是Turbo pascal/Borland pascal/Delphi开发人员.我目前只使用Delphi来维护我(以及我的一些朋友)私下使用的旧工具.不幸的是,我的所有专业代码已被移植,有些甚至是我直接参与其他开发语言和环境,很遗憾.好的,抱歉这个渐远的介绍.让我谈谈我的问题.
我目前拥有Delphi 7专业版.这是一个昂贵的举动,永远不值得它的成本,只是为了我的业余爱好者使用.
现在,这个XE Starter版本已经出现.149欧元,看起来很划算.它似乎与我现在使用的几乎所有东西一起出现,并且有一些我想念的东西; unicode和泛型,特别是.
你知道这个优惠中是否有任何隐藏(坏)惊喜吗?那么,我应该留下还是应该去?
您认为此举的利弊是什么?
谢谢.
我需要我的Delphi应用程序来发出非常简单的命令
ssh -l userid host.domain.com "df -h"
userid@host.domain.com's password: XXXXX
Filesystem Size Used Avail Use% Mounted on
/dev/sdd5 4.9G 1.7G 3.0G 36% /
/dev/sdc1 1.1G 75M 952M 8% /boot
/dev/sdd2 2.0G 44M 1.8G 3% /var/log
Run Code Online (Sandbox Code Playgroud)
你能推荐任何免费软件组件或库吗?我看过保守党的页面并用Google搜索了一下,却找不到任何内容.
我也可以寻找替代方案.
每当我需要创建一个带有动作的菜单或工具栏时,我最终会收集从不同应用程序中提取的一些图像,并用图像编辑器手动调整它们.这是耗时且无聊的(尽管我承认在某些情况下这可能是一个令人耳目一新的休息).
你知道这些图像的任何集合吗?我想至少有菜单模板中所有菜单项的图像.它们必须没有版权.谢谢.
我编写了一个Delphi程序,它将单个.XLS文件的几个不同电子表格中的数据提取并合并到一个文本文件中,以便以后处理.这是一个Delphi 7 控制台程序.
最相关的代码段的摘录将向您展示,显然,我的程序表现得非常好,或者至少与它需要的程序一样多.
uses ... ActiveX, ComObj ... ;
procedure Fatal(s:string);
...
Halt(1);
var ExcelApp:Variant; (* global var *)
begin (* main program block *)
coInitialize(nil);
ExcelApp:=CreateOleObject('Excel.Application');
try
ExcelApp.Visible:=False;
ExcelApp.WorkBooks.Open(ExcelFileName);
...
XLSSheet := ExcelApp.Worksheets[ExcelSheetName];
...
try
XLSRange := XLSSheet.Range[ExcelRangeName];
except
Fatal('Range "'+ExcelRangeName+'" not found');
end;
if VarIsNull(XLSRange) then Fatal('Range '+ExcelRangeName+' not found');
for row:=XLSRange.Row to XLSRange.Rows[XLSRange.Rows.Count].Row do
for col:=XLSRange.Column to XLSRange.Columns[XLSRange.Columns.Count].Column do
CellValue:=XLSSheet.Cells[Row,Col].Value;
...
if CellValue<>'' then ...
...
ExcelApp.Workbooks.Close;
...
finally
ExcelApp.Quit;
coUninitialize;
end;
end.
Run Code Online (Sandbox Code Playgroud)
有时,当程序退出时,XLS保持锁定状态.查看任务管理器,我看到在客户端程序运行时启动的Excel.exe进程仍在运行,eventhoug客户端程序已退出并成功卸载.
你碰巧知道这种行为的常见嫌疑人是什么?知道在哪里寻找总是在客户端执行时卸载excel?
我有一系列文章
<section>
<article>1</article>
<article>2</article>
<article>3</article>
....
<article>999</article>
<section>
Run Code Online (Sandbox Code Playgroud)
排成每排三个网格
section {
position: relative
}
article {
display: inline-block;
width: 33%;
}
Run Code Online (Sandbox Code Playgroud)
我希望它们在水平扩展时可以在单击时完全占据其行.
所以我创建了一个expanded类
.expanded {
position:absolute;
left:0px;
width: 100%;
}
Run Code Online (Sandbox Code Playgroud)
并在点击时应用它
$("article").click(function(){
$(this).toggleClass("expanded");
});
Run Code Online (Sandbox Code Playgroud)
我几乎就在那里,你可以在这里看到小提琴http://jsfiddle.net/aqw339r0/1/
当我点击任何文章时,它们会扩展到行的整个宽度; 但问题是,当我点击一行的第一篇文章(第一行除外)时,它会" 跳转 "到上面的行.
我曾试图改变position及display两者的属性article和.expanded,但我不能得到我需要的行为.例如:当我更改块position:absolute时.expanded,块5和6,"跳转"到下面的行.类似的当我删除display:inline-block并更改为float:left.
您对此为何发生以及如何纠正有任何想法吗?
我npm link package --save用来创建一个全局安装包的本地链接.
它正确地创建了包的链接(如果尚未安装它将全局安装); 但它无法更新依赖关系package.json.
我在这里缺少什么?
我需要一种方法来编写一个通用过程来处理对象类型或其任何后代.
我的第一次尝试是宣布
procedure TotalDestroy(var obj:TMyObject);
Run Code Online (Sandbox Code Playgroud)
但是当它与后代对象一起使用时
type TMyNewerObject = class(TMyObject);
var someNewerObject: TMyNewerObject;
TotalDestroy(someNewerObject);
Run Code Online (Sandbox Code Playgroud)
我得到了臭名昭着的错误"正式和实际参数的类型必须相同"
因此,在寻找解决方案时,我查看了Delphi系统FreeAndNil过程的源代码.我发现这个令人敬畏的声明,以及这个令人惊讶的评论
{ FreeAndNil frees the given TObject instance and
sets the variable reference to nil.
Be careful to only pass TObjects to this routine. }
procedure FreeAndNil(var Obj);
Run Code Online (Sandbox Code Playgroud)
它避免了类型检查错误,但它没有使用安全网.
我的问题是......是否有任何安全的方法来检查无类型var参数的类型?
或者换句话说,你能改进这个Delphi源代码,以便不需要警告吗?
procedure FreeAndNil(var Obj);
var
Temp: TObject;
begin
Temp := TObject(Obj);
Pointer(Obj) := nil;
Temp.Free;
end;
Run Code Online (Sandbox Code Playgroud)