pchome2000 发表于 2014-9-4 11:37:15

如何将易语言改成au3 设置自定义纸张?

可以将以下 易语言改成au3吗?

.版本 2
.支持库 eAPI

.程序集 窗口程序集1

.子程序 _按钮1_被单击

输出调试文本 (设置自定义纸张 (“易用纸张”, 195, 270))

.子程序 设置自定义纸张, 逻辑型
.参数 纸张名称, 文本型
.参数 纸宽, 整数型, , 单位毫米
.参数 纸高, 整数型, , 单位毫米
.参数 左边距, 整数型, 可空, 单位毫米
.参数 右边距, 整数型, 可空, 单位毫米
.参数 顶边距, 整数型, 可空, 单位毫米
.参数 底边距, 整数型, 可空, 单位毫米
.局部变量 默认打印机, 文本型
.局部变量 打印机句柄, 整数型
.局部变量 Formstruct, 表单结构
.局部变量 lnretval, 整数型

默认打印机 = 取文本注册项 (3, “Software\Microsoft\Windows NT\CurrentVersion\Windows\Device”, “”)
默认打印机 = 取文本左边 (默认打印机, 寻找文本 (默认打印机, “,”, , 真) - 1)
.如果真 (OpenPrinter (默认打印机, 打印机句柄, 0) = 0)
    返回 (假)
.如果真结束
Formstruct.表单名字 = 纸张名称
Formstruct.宽高.宽 = 纸宽 × 1000
Formstruct.宽高.高 = 纸高 × 1000
Formstruct.四边.左边 = 选择 (是否为空 (左边距) = 真, 0, 左边距 × 1000)
Formstruct.四边.右边 = 纸宽 × 1000 - 选择 (是否为空 (右边距) = 真, 0, 右边距 × 1000)
Formstruct.四边.顶边 = 选择 (是否为空 (顶边距) = 真, 0, 顶边距 × 1000)
Formstruct.四边.底边 = 纸高 × 1000 - 选择 (是否为空 (底边距) = 真, 0, 底边距 × 1000)
Formstruct.标志 = 1' 0表示添加可删除的纸张,1表示内部不可删除的纸张,请不要使用1!
lnretval = AddForm (打印机句柄, 1, Formstruct)
ClosePrinter (打印机句柄)
.如果 (lnretval = 0)
    返回 (假)
.否则
    返回 (真)

;;===========================================================
.版本 2

.DLL命令 OpenPrinter, 整数型, "winspool.drv", "OpenPrinterA", , 打开打印机对象
    .参数 打印机名称, 文本型, , 要打开的打印机的名字
    .参数 打印机句柄, 整数型, 传址, 用于返回打印机的句柄
    .参数 操作句柄, 整数型

.DLL命令 AddForm, 整数型, "winspool.drv", "AddFormA", , 非零表示成功,零表示失败
    .参数 打印机句柄, 整数型, , 打印机句柄
    .参数 固定值, 整数型, , Level,设为0
    .参数 表单结构, 表单结构, , 对表单进行描述的一个结构

.DLL命令 ClosePrinter, 整数型, "winspool.drv", "ClosePrinter", ,关闭打印机对象
    .参数 打印机句柄, 整数型, , 打开的打印机对象的句柄

wangms 发表于 2014-9-9 20:22:54

学习学习、、、、、、、、、、、、、、、、、、

austere 发表于 2014-9-10 01:00:31

没搞过易语言…
页: [1]
查看完整版本: 如何将易语言改成au3 设置自定义纸张?