关于程序的版本号的问题?

ad311500 2003-03-25 02:23:53
大家做的程序,版本号是怎么样设的,是自己手工改,还是让DELPHI自动累加?比如我在OPTIONS里设好版本号,有什么方法在程序里显示这个程序的版本号?
...全文
48 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
Bowdler 2003-06-04
  • 打赏
  • 举报
回复
好像不可以用牙
lVer.Caption := '版本:' + GetVersion(Application.ExeName);
hong_flood 2003-03-25
  • 打赏
  • 举报
回复
可以通过窗体继承的方法来实现,
这样只需要在父窗体在用GetVersion函数实现,
然后类似的窗体从父窗体继承。
ad311500 2003-03-25
  • 打赏
  • 举报
回复
好,谢谢,我试试看,如果行晚点结贴
dolemin 2003-03-25
  • 打赏
  • 举报
回复
以上是调用方法,把GetVersion函数写在公有Unit里,用时候调用不就行了,
lVer.Caption := '版本:' + GetVersion(Application.ExeName);
一行代码都懒的写:)
dolemin 2003-03-25
  • 打赏
  • 举报
回复
lVer.Caption := '版本:' + GetVersion(Application.ExeName);
ad311500 2003-03-25
  • 打赏
  • 举报
回复
假如我有十个窗口里都有版本号,那么一个一个改不是要改死人
dolemin 2003-03-25
  • 打赏
  • 举报
回复
function TFormAbout.GetVersion(filename: string): string;
var
InfoSize, Wnd: DWORD;
VerBuf: Pointer;
szName: array[0..255] of Char;
Value: Pointer;
Len: UINT;
TransString:string;
begin
//filename := 'D:\SFClient.dll';
InfoSize := GetFileVersionInfoSize(PChar(Filename), Wnd);
if InfoSize <> 0 then
begin
GetMem(VerBuf, InfoSize);
try
if GetFileVersionInfo(PChar(FileName), Wnd, InfoSize, VerBuf) then
begin
Value :=nil;
VerQueryValue(VerBuf, '\VarFileInfo\Translation', Value, Len);
if Value <> nil then
TransString := IntToHex(MakeLong(HiWord(Longint(Value^)), LoWord(Longint(Value^))), 8);
Result := '';
StrPCopy(szName, '\StringFileInfo\'+Transstring+'\FileVersion');
if VerQueryValue(VerBuf, szName, Value, Len) then
Result := StrPas(PChar(Value));
end;
finally
FreeMem(VerBuf);
end;
end;
end;
Rijie 2003-03-25
  • 打赏
  • 举报
回复
你那样做好像没意义.

既然可以手工改OPYIONS,为什么不可以手工给Label赋值?

(从Options读值,我不会,请高手帮你吧)
ad311500 2003-03-25
  • 打赏
  • 举报
回复
有没有改过OPTIONS,在LABEL读出改过版本号的值的办法
Rijie 2003-03-25
  • 打赏
  • 举报
回复
在options里写好的版本号,
在应用程序的右键属性里就可以看到.

要在程序里显示,添加个label,直接写上去就可以了.

5,379

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧