社区
语言基础/算法/系统设计
帖子详情
如何在delphi里自定义一个结构?
xiyixiaowm50
2004-11-29 12:01:34
as title
...全文
85
2
打赏
收藏
如何在delphi里自定义一个结构?
as title
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
2 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
KAPOK_CSDN
2004-11-29
打赏
举报
回复
同上,
捞点分~
ysai
2004-11-29
打赏
举报
回复
type
Trs = record
a:integer;
b:string;
end;
delphi
自定义
结构
数据通过内存流方式读取与保存到本地 TMemoryStream
说明:
自定义
中的数据类型尽量不要用string 如果使用那么在保存数据,与读取数据中增加转换 var MyDynamicArray: array of Char; begin SetLength(MyDynamicArray, 48); // 设置数组长度为 48 StrPCopy(MyDynamicArray, 'Hello, World!'); // 将字符串复制到数组中 SetLength(MyDynamicArray, 0); // 释放数组内存 end; ======================== var ch1: array[0..47] of Char; str1: string; begin // 假设 ch1 已被赋值 str1 := StrPas( ch1); end; type Re_TodayData = record ArrToday: array[0..47] of Integer; len:Cardinal; s1:array[0..255]
Delphi
自定义
控件开发.pdf
Delphi
自定义
控件开发.pdf
Delphi
自定义
fastReport打印预览
开发环境:
Delphi
2010
自定义
的预览窗,并演示了一些简单的缩放功能
DELPHI
MessageBox
自定义
消息框图标〖源代码〗
应用程序在运行当中经常要输出各种即时信息,
Delphi
提供了多种形式的消息对话框可以满足这些要求,尽管可以使用各种标志定制
一个
消息框,但仍不能将自己的图标放在消息框内,也不能修改其标准行为去创建自己的消息框,其实通过调用函数MessageBoxIndirect()就很容易绕过这些明确的限制,这是
一个
功能很强、易于使用的函数。 ---- 此函数在WINDOWS单元
里
面,文件位于
Delphi
安装路径Source\Rtl\Win
里
面,需要指出的是,
Delphi
的原代码中它的返回值类型是BOOL型,而实质上它的返回值应为Integer。修改方法:在WINDOWS单元中找到此函数后,把BOOL改为Integer,共有三处要修改,然后在
Delphi
安装路径Lib中找到WINDOWS.DCU文件,把它改名或者删除,并把修改后的WINDOWS.PAS源码复制到Lib路径中。 ---- 该函数只有
一个
参数,类型是TMsgBoxParams,它的
结构
及说明如下: tagMSGBOXPARAMSA = packed record cbSize: UINT; {数据
结构
的长度} hwndOwner: HWND; {所有者窗口句柄} hInstance: HINST; {应用程序实例句柄} lpszText: PAnsiChar; {在消息框客户区内显示的文本} lpszCaption: PAnsiChar; {标题栏文本} dwStyle: DWORD; {确定消息框内按钮和图符 的数量及种类的MB_标志} lpszIcon: PAnsiChar; {从资源文件中取出的
一个
图符资源的名字} dwContextHelpId: DWORD; {指定帮助文本的ID号} lpfnMsgBoxCallback: TPRMsgBoxCallback; {当用户按下HELP按钮时调用的
一个
回 调函数} dwLanguageId: DWORD; {显示在按钮内文本的语言定义} end; ---- 由于直接使用此函数比较复杂,我们可以
自定义
一个
函数来封装此函数,对它进行简化,在用法上尽量做到与
Delphi
的消息框相一致,
自定义
函数代码如下: function MessageEx (lText,lCaption:PChar; lStyle:DWord;lIcon:PChar):Integer; var Msg:TMsgBoxParams; begin Msg.cbSize:=Sizeof(Msg); Msg.hwndOwner:=Application.Handle; Msg.hInstance:=hinstance; Msg.lpszText:=lText; Msg.lpszCaption:=lCaption; Msg.dwStyle:=lStyle; Msg.lpszIcon:=lIcon; Msg.dwContextHelpId:=1; Msg.lpfnMsgBoxCallback:=nil; Msg.dwLanguageId:=LANG_NEUTRAL; Result:=MessageBoxIndirect(Msg); end; ---- 要想在消息框中显示自己的图标,先准备
一个
装有图标的资源文件,加在程序中,如{$R c:\mydir\myres.res},在lStyle参数
里
除了所需的MB_标志外还要加上MB_USERICON标志,并在最后
一个
参数
里
写上资源文件中图标的名字,如果不想使用
自定义
的图标,可将最后
一个
参数设为nil。函数的其它用法和返回值的处理与
Delphi
提供的消息框一样。 ---- 强烈建议把
自定义
函数放在
一个
单元文件
里
,并把此文件放在
Delphi
的搜索路径如Lib下,以后只需要把此单元加在uses语句
里
,就可以直接使用
自定义
函数,非常方便。
delphi
自定义
公式计算
将普通中缀表达式转化为后缀表达式 计算公式值
语言基础/算法/系统设计
16,743
社区成员
33,238
社区内容
发帖
与我相关
我的任务
语言基础/算法/系统设计
Delphi 语言基础/算法/系统设计
复制链接
扫一扫
分享
社区描述
Delphi 语言基础/算法/系统设计
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章