我正在使用Inno Setup生成我的应用程序的安装程序.如何设置VersionInfoVersion
Inno生成的setup.exe()的版本号自动匹配我的应用程序的版本号?现在,每次部署新版本的应用程序时,我都需要手动更新版本号.
现在我这样做:
[Setup]
VersionInfoVersion=1.2.2.0 //writing the value manually
Run Code Online (Sandbox Code Playgroud)
我想要这样的东西:
[Setup]
VersionInfoVersion={Get the version of my app}
Run Code Online (Sandbox Code Playgroud) 我需要使用独特的RGB颜色创建一个24位位图(分辨率100x100像素),并将生成的图像保存到磁盘.我目前使用的SetPixel
功能,但它非常慢.
Bitmap Bmp = new Bitmap(width, height);
//...
//...
Bmp.SetPixel(x,y,Color.FromARGB(redvalue, greenvalue, bluevalue));
Run Code Online (Sandbox Code Playgroud)
有比这更快的方法SetPixel
吗?提前致谢.
你能在一个只暴露System.Collections.IEnumerator中的Add(),Remove(),Count(),Item()和GetEnumerator()的对象中使用LINQ吗?
我需要在ORACLE中执行SQL查询需要一定的时间.所以我写了这个函数:
CREATE OR REPLACE FUNCTION MYSCHEMA.TEST_SLEEP
(
TIME_ IN NUMBER
)
RETURN INTEGER IS
BEGIN
DBMS_LOCK.sleep(seconds => TIME_);
RETURN 1;
EXCEPTION
WHEN OTHERS THEN
RAISE;
RETURN 1;
END TEST_SLEEP;
Run Code Online (Sandbox Code Playgroud)
我以这种方式打电话
SELECT TEST_SLEEP(10.5) FROM DUAL
Run Code Online (Sandbox Code Playgroud)
但要工作,我需要设置授予DBMS_LOCK
程序的所有者.
如何在不使用该功能的情况下重写此DBMS_LOCK.sleep
功能?
我迁移遗留Delphi应用程序到德尔福XE2,我想知道如果有一个很好的理由,以取代定义为数组Array of MyType
来TArray<MyType>
.所以问题是TArray<T>
使用的优缺点是什么,而不是MyType数组?
我有一个像这样定义的结构:
const
MaxSignalRecords=255;
type
TSignalRecord=record
signal1 : integer;
signal2 : integer;
signal3 : integer;
signal4 : integer;
signal5 : integer;
signal6 : integer;
bsignal1 : Boolean;
bsignal2 : Boolean;
bsignal3 : Boolean;
bsignal4 : Boolean;
bsignal5 : Boolean;
bsignal6 : Boolean;
end;
TListSignals = Array[0..MaxSignalRecords-1] of TSignalRecord;
Run Code Online (Sandbox Code Playgroud)
此结构用于在如下算法中进行数千次计算:
for i:=1 to 900000 do
begin
CleartheList(MyList);
DotheMath(MyList);
DotheChart(MyList);
end;
Run Code Online (Sandbox Code Playgroud)
我正在寻找一种快速的方法来将我的值初始化TListSignals
为0和false
.
现在我用这个:
procedure ClearListSignals(var ListSignals:TListSignals);
var
i :Integer;
begin
for i := 0 to MaxSignalRecords - 1 do …
Run Code Online (Sandbox Code Playgroud) 我的winform应用程序由另一个应用程序(父代)启动,我需要确定应用程序的pid,它使用c#启动我的应用程序.
我要寻找一个函数来扭转任何字符串(YYYYMDD
,YY/MM/DD
,YYMMDD
由函数创建,...)的FormatDateTime为datetime.
例
我有一个由字符串日期格式YYYYMMDD
创建FormatDateTime
mydatestr:=FormatDateTime('YYYYMMDD',Mydate);
Run Code Online (Sandbox Code Playgroud)
现在我怎么能DateTime
再次将mydatestr转换成?
UPDATE
这些功能
function StrToDate(const S: string): TDateTime; overload;
function StrToDate(const S: string;
const FormatSettings: TFormatSettings): TDateTime; overload;
function StrToDateTime(const S: string): TDateTime; overload;
function StrToDateTime(const S: string;
const FormatSettings: TFormatSettings): TDateTime; overload;
Run Code Online (Sandbox Code Playgroud)
不支持传递具有要转换格式的字符串.
我看起来像这样
Mydatetime:=InvFormatDatetime('20091225','yyyymmdd');
Run Code Online (Sandbox Code Playgroud)
要么
Mydatetime:=InvFormatDatetime('20090108','yyyyddmm');
Run Code Online (Sandbox Code Playgroud) 我正在使用COM组件,它暴露了很多Variant
属性,但有时这些值为null.当我尝试将这些值转换为字符串(或其他Delphi类型)时,应用程序会引发如下异常:
无法将类型(Null)的变体转换为类型(String)
但是,如果我使用.net来调用相同的属性并且值为null,则不会引发异常,并且将null值视为空字符串.
我的问题是有一种方法可以从Delphi处理这些空值来避免这些异常吗?
提前致谢.