无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站广告联系 微信:wuyouceo QQ:184822951
查看: 1422|回复: 4

[求助] 請教 Innosetup Code 代码问题

[复制链接]
发表于 2023-5-22 21:59:52 | 显示全部楼层 |阅读模式
  1. procedure REDESIGNWIZARDFORM();
  2. var
  3.         v_1, v_6, v_12, v_18, v_25: Pointer;
  4.         v_2, v_5, v_7, v_11, v_13, v_17: TNEWSTATICTEXT;
  5.         v_3, v_8, v_14, v_20, v_27: TWIZARDFORM;
  6.         v_4: UnicodeString;
  7.         v_9, v_10, v_15, v_16: Integer;
  8.         v_19, v_22, v_24, v_26, v_29, v_31: TNEWRADIOBUTTON;
  9.         v_21, v_23, v_28, v_30: BOOLEAN;
  10. begin
  11.         label_3716:
  12.         v_3 := WIZARDFORM();
  13.         v_2 := v_3.WELCOMELABEL1;
  14.         v_1 := &v_2;
  15.         v_4 := Chr($D)+Chr($CE)+Chr($A2)+Chr($C8)+Chr($ED)+Chr($B3)+Chr($A3)+Chr($D3)+Chr($C3)+Chr($D4)+Chr($CB)+Chr($D0)+Chr($D0)+Chr($BF)+Chr($E2)+Chr($BA)+Chr($CF)+Chr($BC)+Chr($AF)+Chr($D)+Chr($A);
  16.         v_5 := v_1;
  17.         v_5.CAPTION := v_4;
  18.         v_8 := WIZARDFORM();
  19.         v_7 := v_8.PAGEDESCRIPTIONLABEL;
  20.         v_6 := &v_7;
  21.         v_10 := 320;
  22.         v_9 := SCALEX(v_10);
  23.         v_11 := v_6;
  24.         v_11.WIDTH := v_9;
  25.         v_14 := WIZARDFORM();
  26.         v_13 := v_14.PAGENAMELABEL;
  27.         v_12 := &v_13;
  28.         v_16 := 320;
  29.         v_15 := SCALEX(v_16);
  30.         v_17 := v_12;
  31.         v_17.WIDTH := v_15;
  32.         v_20 := WIZARDFORM();
  33.         v_19 := v_20.NORADIO;
  34.         v_18 := &v_19;
  35.         v_21 := 1;
  36.         v_22 := v_18;
  37.         v_22.CHECKED := v_21;
  38.         v_23 := 1;
  39.         v_24 := v_18;
  40.         v_24.TABSTOP := v_23;
  41.         v_27 := WIZARDFORM();
  42.         v_26 := v_27.YESRADIO;
  43.         v_25 := &v_26;
  44.         v_28 := 0;
  45.         v_29 := v_25;
  46.         v_29.CHECKED := v_28;
  47.         v_30 := 0;
  48.         v_31 := v_25;
  49.         v_31.TABSTOP := v_30;
  50.         exit;
  51. end;
复制代码

请教一下前辈,这个原始指令要如何写才会  v_1 := &v_2:不太会 ,呵呵!想研究一下。

因为好像没法定义 Pointer 变量。
发表于 2023-5-23 14:07:06 | 显示全部楼层
v_1 := @v_2或者v_1 := Addr(v_2)

点评

编译时显示 "未知识别码"  详情 回复 发表于 2023-5-23 15:20
回复

使用道具 举报

 楼主| 发表于 2023-5-23 15:20:10 | 显示全部楼层
hua_wuxin 发表于 2023-5-23 14:07
v_1 := @v_2或者v_1 := Addr(v_2)

编译时显示 "未知识别码"

点评

嗯嗯 我也想不出v_1 := &v_2是怎么来的了  详情 回复 发表于 2023-5-24 10:49
回复

使用道具 举报

 楼主| 发表于 2023-5-23 15:24:20 | 显示全部楼层
本帖最后由 hsm570911 于 2023-5-23 15:44 编辑

我是把这段程序还原成下面这样,不知道对不对,呵!
标题部份有做些修改,跟原始不同。
这段程序应该是自定义欢迎页的标题还有页面描述跟页面名称标签的宽度及是否重新启动单选按钮(预设值为否,不显示按钮)
  1. procedure REDESIGNWIZARDFORM();
  2. var
  3. WELCOMELABEL1, PAGEDESCRIPTIONLABEL, PAGENAMELABEL: TNEWSTATICTEXT;
  4. NoRadio, YesRadio: TNEWRADIOBUTTON;
  5. begin
  6.   WELCOMELABEL1 := WIZARDFORM.WELCOMELABEL1;
  7.   WELCOMELABEL1.CAPTION := '微軟常用執行庫合集'+Chr($D)+Chr($A)+Chr($D)+Chr($A);
  8.   PAGEDESCRIPTIONLABEL := WIZARDFORM.PAGEDESCRIPTIONLABEL;
  9.   PAGEDESCRIPTIONLABEL.WIDTH := SCALEX(320);
  10.   PAGENAMELABEL := WIZARDFORM.PAGENAMELABEL;
  11.   PAGENAMELABEL.WIDTH := SCALEX(320);
  12.   NoRadio := WIZARDFORM.NORADIO;
  13.   NoRadio.CHECKED := True;
  14.   NoRadio.TABSTOP := True;
  15.   YesRadio := WIZARDFORM.YESRADIO;
  16.   YesRadio.CHECKED := False;
  17.   YesRadio.TABSTOP :=  False;
  18. end;
复制代码





回复

使用道具 举报

发表于 2023-5-24 10:49:23 | 显示全部楼层
hsm570911 发表于 2023-5-23 15:20
编译时显示 "未知识别码"

嗯嗯 我也想不出v_1 := &v_2是怎么来的了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-4-16 18:03

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表