我需要在Delphi中为域上的Windows机器获取完全限定的域名.
我试过用LookupAccountSid它但它只给我netbios域名,在我的情况下它是"intranet"但我需要完整的"intranet.companyname.com"
有任何想法吗?
这是常识,SameStr(S1, S2)比快S1 = S2,在var S1, S2: stringDelphi中.
(而且,当然,SameText(S1, S2)要快得多AnsiLowerCase(S1) = AnsiLowerCase(S2).)
但是,据我所知,SameStr(S1, S2)它完全相同S1 = S2,所以我不禁想知道为什么Delphi编译器在使用运算符SameStr测试字符串相等时不使用代码=.当然必须有这个原因吗?
一个简单的程序,
program Project1;
{$APPTYPE CONSOLE}
uses
SysUtils,
RejbrandCommon;
const
N = 1000000;
var
Strings1, Strings2: StringArray;
i: integer;
b: {dummy }boolean;
procedure CreateRandomStringArrays;
var
i: integer;
begin
SetLength(Strings1, N);
SetLength(Strings2, N);
for i := 0 to N - 1 do
begin
Strings1[i] := RandomString(0, …Run Code Online (Sandbox Code Playgroud) 我经常在Delphi 2009中制作数学软件,并将它发布在我的网站上.然而,在过去一年左右的时间里,谷歌Chrome已经开始考虑一小部分(但不断增加!)我的EXE'有害'数量,谷歌Chrome拒绝下载它们.
例如,今天我写了一个可视化Lorenz吸引子的程序.您可以在http://specials.rejbrand.se/chaos/lorenz/找到它; 它是lorenz.exe.
当我使用谷歌浏览器下载此EXE时,会出现以下提示:
Google Chrome中提示的屏幕截图http://privat.rejbrand.se/chromeblocklorenz.png
(是的,我确实尝试了三次......)
这是瑞典语,文中说"%s有害并且已被Chrome阻止".按钮显示"永久删除",下拉菜单不提供任何其他操作(例如"我知道文件是安全的,请让我拥有它").
显然,这是一个问题.据我所知,EXE非常安全.至少我编写的代码在任何方面都没有害处,但我怀疑Delphi编译器有可能开始在我背后添加有害代码.
问题
谷歌搜索显示了一些关于如何在Delphi中下载文件的示例,但大多数都是错误的,有一半的时间根据我的经验不起作用.
我正在寻找一个简单的强大解决方案,让我下载一个exe(用于更新我的应用程序),并将保持当前更新线程的执行,直到下载完成或错误输出.该进程已经过线程化,因此下载代码应该执行直到完成(希望如此).
这里有两个实现,看起来都很复杂
1. http://www.scalabium.com/faq/dct0116.htm
2. http://delphi.about.com/od/internetintranet/a/get_file_net.htm
我有一段记忆,我正在"守卫",定义为
typedef unsigned char byte;
byte * guardArea;
size_t guardSize;
byte * guardArea = getGuardArea();
size_t guardSize = getGuardSize();
Run Code Online (Sandbox Code Playgroud)
为此目的可接受的实现是:
size_t glGuardSize = 1024; /* protect an area of 1kb */
byte * getGuardArea()
{
return malloc( glGuardSize );
}
size_t getGuardSize()
{
return glGuardSize;
}
Run Code Online (Sandbox Code Playgroud)
以下代码段可以为任何指针(来自不同的malloc,来自堆栈等)返回true吗?
if ( ptr >= guardArea && ptr < (guardArea + guardSize)) {
return true;
}
Run Code Online (Sandbox Code Playgroud)
该标准规定:
区域内的值将返回true.(当ptr是成员时,所有行为都正确.)
指针将是不同的(a == b只有它们是相同的).
所以我无法理解结果对于来自不同对象的任何指针的结果是否正确(因为它会破坏区域内其中一个指针的不同规则).
编辑:
检测指针是否在区域内的能力非常重要,在某些时候编写代码
if ( isInMyAreaOfInterest( unknownPointer ) ) { …Run Code Online (Sandbox Code Playgroud) 只要 Delphi LSP 实现存在缺陷,如果我们能够通过易于访问的快捷方式重新启动 LSP 进程,那么它就会派上用场。如何添加这样的快捷方式呢?
如何创建一个函数,在每个调用中生成一个随机整数?该数字必须尽可能最随机(根据均匀分布).它只允许使用一个静态变量和最多3个基本步骤,其中每个步骤仅包含arity 1或2的一个基本算术运算.
例:
int myrandom(void){
static int x;
x = some_step1;
x = some_step2;
x = some_step3;
return x;
}
Run Code Online (Sandbox Code Playgroud)
基本算术运算是+, - ,%,而不是xor,或左移,右移,乘法和除法.当然,不允许使用rand(),random()或类似的东西.
我有一个程序在Windows资源管理器中打开一个文件夹,它传递了一个目录路径:
procedure TfrmAbout.ShowFolder(strFolder: string);
begin
ShellExecute(Application.Handle,PChar('explore'),PChar(strFolder),nil,nil,SW_SHOWNORMAL);
end;
Run Code Online (Sandbox Code Playgroud)
有没有办法传递这个文件名(完整的文件名路径或只是名称+扩展名),并在Windows资源管理器中打开文件夹,但也要突出显示/选择?我要去的位置有很多文件,然后我需要在Windows中操作该文件.
我刚试过
program Project1;
{$APPTYPE CONSOLE}
uses
SysUtils;
begin
{$IFDEF CONSOLE}
beep;
{$ENDIF}
end.
Run Code Online (Sandbox Code Playgroud)
并期望beep在运行期间听到,但不是.但是,以下测试有效:
if IsConsole then
beep;
Run Code Online (Sandbox Code Playgroud)
为什么编译时测试不起作用?据我所知,从这份文件来看,它确实应该有效.
delphi conditional-compilation console-application compile-time
我试图在带有滚动条的自定义控件的客户区周围绘制彩色边框.为此,我设置BorderWidth为正整数并响应该WM_NCPAINT消息.这听起来像混合VCL和Win32,但该BorderWidth属性只是导致对WM_NCCALCSIZE消息的适当处理.
以下代码是SSCCE:
unit Unit6;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs;
type
TSample = class(TCustomControl)
protected
procedure Paint; override;
procedure CreateParams(var Params: TCreateParams); override;
procedure WMNCPaint(var Message: TWMNCPaint); message WM_NCPAINT;
published
property BorderWidth;
end;
TForm6 = class(TForm)
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form6: TForm6;
implementation
{$R *.dfm}
{ TSample }
procedure TSample.CreateParams(var Params: TCreateParams);
begin
inherited; …Run Code Online (Sandbox Code Playgroud) delphi ×8
c ×2
windows ×2
algorithm ×1
border ×1
c++ ×1
compile-time ×1
controls ×1
delphi-2009 ×1
domain-name ×1
download ×1
explorer ×1
math ×1
nonclient ×1
performance ×1
pointers ×1
scrollbar ×1
security ×1
string ×1
winapi ×1