论坛风格切换切换到宽版
  • 2904阅读
  • 5回复

请教如何获取文件释放时的显示标题 [复制链接]

上一主题 下一主题
离线axlswd
 

发帖
95
金钱
910
威望
91
只看楼主 倒序阅读 0 发表于: 2014-02-19




想创建一个Label,显示标题为上图红线部分。用了Caption := WizardForm.FilenameLabel.Caption; 没有起到作用,想请教是否有其他获取参数或方法!(注意要包含路径,而不是单个文件)
离线axlswd

发帖
95
金钱
910
威望
91
只看该作者 1 发表于: 2014-02-20
求大神们指点一下
本帖提到的人: @gnatix @restools @530hjy
离线gnatix

发帖
7696
金钱
-8279
威望
-828
只看该作者 2 发表于: 2014-02-21
最关键的问题是怎样更新 Label 的内容。用 Label1.Caption := WizardForm.FilenameLabel.Caption;  不能做到,因为 FilenameLabel.Caption 是动态变化的,而且 FilenameLabel.Caption 显示的不一定是完整路径,可能被裁剪了


不知道你具体要达到什么效果。如果只是想要在安装页面显示正在安装的文件的完整路径和文件名,那么你可以用下面的方法。


[Setup]
AppName=My Program
AppVersion=1.5
DefaultDirName={pf}\My Program
DefaultGroupName=My Program


[Files]
Source: "*"; DestDir: "{app}"; Flags: recursesubdirs; BeforeInstall: ShowFileName



[Code]
var
  Label1: TLabel;


procedure InitializeWizard();
begin
  Label1 := TLabel.Create(WizardForm);
  with Label1 do
  begin
    Parent := WizardForm.InstallingPage;
    Caption := 'Label1';
    Transparent := False;
    WordWrap := True;
    Left := ScaleX(0);
    Top := ScaleY(126);
    Width := ScaleX(230);
    Height := ScaleY(40);
  end;
end;

procedure ShowFileName();
begin
  Label1.Caption := ExpandConstant(CurrentFileName);
end;







离线lovelost

发帖
140
金钱
1060
威望
106
只看该作者 3 发表于: 2014-02-21
学习了,虎斑威武。
离线凌~叶

发帖
17
金钱
130
威望
13
只看该作者 4 发表于: 2014-02-21
学习了。感谢虎版
离线axlswd

发帖
95
金钱
910
威望
91
只看该作者 5 发表于: 2014-02-21
回 2楼(gnatix) 的帖子
gnatix:最关键的问题是怎样更新 Label 的内容。用 Label1.Caption := WizardForm.FilenameLabel.Caption;  不能做到,因为 FilenameLabel.Caption 是动态变化的,而且 FilenameLabel.Caption 显示的不一定是完整路径,可能被 .. (2014-02-21 02:55) 

谢谢虎版细致的回复,虎版就是牛啊