请教关于调用DLL的问题
本帖最后由 EZDD 于 2024-6-9 02:05 编辑.版本 2
.DLL命令 GetLocalTime, 整数型, "kernel32", "GetLocalTime", , ,
.参数 系统时间格式, SYSTEMTIME, 传址
.版本 2
.数据类型 SYSTEMTIME, , SYSTEMTIME
.成员 wYear, 短整数型, , , wYear
.成员 wMonth, 短整数型, , , wMonth
.成员 wDayOfWeek, 短整数型, , , wDayOfWeek
.成员 wDay, 短整数型, , , wDay
.成员 wHour, 短整数型, , , wHour
.成员 wMinute, 短整数型, , , wMinute
.成员 wSecond, 短整数型, , , wSecond
.成员 wMilliseconds, 短整数型, , , wMilliseconds
新手刚需,请问在火山中如何调用,麻烦给个例子,拜托
本帖最后由 Xelloss0618 于 2024-6-9 12:04 编辑
<火山程序 类型 = "通常" 版本 = 1 />
类 SYSTEMTIME <公开 基础类 = 本地结构模板 注释 = "新版的别名封装结构体(需要头文件)" @别名 = "SYSTEMTIME" @模板实现类 = "">
{
变量 年 <公开 类型 = 短整数 注释 = "1601-30827" @输出名 = "wYear">
变量 月 <公开 类型 = 短整数 注释 = "1-12" @输出名 = "wMonth">
变量 周 <公开 类型 = 短整数 注释 = "0-6,0为星期天" @输出名 = "wDayOfWeek">
变量 日 <公开 类型 = 短整数 注释 = "1-31" @输出名 = "wDay">
变量 时 <公开 类型 = 短整数 注释 = "0-23" @输出名 = "wHour">
变量 分 <公开 类型 = 短整数 注释 = "0-59" @输出名 = "wMinute">
变量 秒 <公开 类型 = 短整数 注释 = "0-59" @输出名 = "wSecond">
变量 毫秒 <公开 类型 = 短整数 注释 = "0-999" @输出名 = "wMilliseconds">
方法 取本地时间1 <公开 静态 注释 = "DLL表格" @输出名 = "GetLocalTime" @视窗.输入 = "Kernel32.dll">
参数 lpSystemTime <类型 = SYSTEMTIME>
方法 取本地时间2 <公开 静态 注释 = "嵌入式">
参数 SystemTime <类型 = SYSTEMTIME>
{
@ ::GetLocalTime(&@<SystemTime>);
}
}
类 SYSTEMTIME2 <公开 注释 = "结构类封装结构体(不需要头文件,但低效)" @视窗.结构类 = 0>
{
变量 年 <公开 类型 = 短整数 注释 = "1601-30827">
变量 月 <公开 类型 = 短整数 注释 = "1-12">
变量 周 <公开 类型 = 短整数 注释 = "0-6,0为星期天">
变量 日 <公开 类型 = 短整数 注释 = "1-31">
变量 时 <公开 类型 = 短整数 注释 = "0-23">
变量 分 <公开 类型 = 短整数 注释 = "0-59">
变量 秒 <公开 类型 = 短整数 注释 = "0-59">
变量 毫秒 <公开 类型 = 短整数 注释 = "0-999">
方法 取本地时间1 <公开 静态 注释 = "DLL表格" @输出名 = "GetLocalTime" @视窗.输入 = "Kernel32.dll">
参数 lpSystemTime <类型 = SYSTEMTIME2 @视窗.输出参数 = 真>
方法 取本地时间2 <公开 静态 注释 = "嵌入式">
参数 SystemTime <类型 = SYSTEMTIME2>
{
@ SYSTEMTIME st;
@ ::GetLocalTime(&st);
@ @<SystemTime>.SetStruct((@pdt<SystemTime>::S*)&st);
}
}
:@==':'+'@' Xelloss0618 发表于 2024-6-9 11:42
类 SYSTEMTIME
{
变量 年
谢谢,原来如此!如果@输出名 =没有,结构体还有效吗?结构体套结构体,或更多层套结构体.会不很烧脑? 呵呵仙8 发表于 2024-6-9 19:48
谢谢,原来如此!如果@输出名 =没有,结构体还有效吗?结构体套结构体,或更多层套结构体.会不很烧脑? ...
使用别名必须有头文件,输出名也必须跟头文件里定义的名称一样。
结构体嵌结构体,有两种写法,第一种就是定义子结构体的别名,第二种就是直接在输出名里填"子结构体变量名称.成员"。
联合体也同样适合用别名封装。 Xelloss0618 发表于 2024-6-9 20:26
使用别名必须有头文件,输出名也必须跟头文件里定义的名称一样。
结构体嵌结构体,有两种写法,第一种就 ...
嗯,谢谢!应该是明白了,加头文件就是让火山编译为c++代码时,自动加入结构体所在头文件和声明.
页:
[1]