社区
Windows SDK/API
帖子详情
delphi把文本写入二进制文件
ndscndscnd
2012-03-26 01:42:34
就是程序在保存的时候会把一些中文文本存到本地
但是通过其他程序打不开,就算打开也是一堆乱码
然后程序再次运行的时候把本地的乱码又恢复成中文文本
怎么实现啊
...全文
373
11
打赏
收藏
delphi把文本写入二进制文件
就是程序在保存的时候会把一些中文文本存到本地 但是通过其他程序打不开,就算打开也是一堆乱码 然后程序再次运行的时候把本地的乱码又恢复成中文文本 怎么实现啊
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
11 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
wzca
2012-04-15
打赏
举报
回复
Indy 自带了一堆的控件 。
有一个叫 Base64 的 加密和解密的。
你可以试试
YshuuiNew
2012-04-15
打赏
举报
回复
用字符串流。stringstream
山东蓝鸟贵薪
2012-04-14
打赏
举报
回复
[Quote=引用 1 楼 的回复:]
用MD5加密,或者用加密压缩的方法也可以。
[/Quote]
不能用MD5的,否则加密后很难解密的
cdchq
2012-04-14
打赏
举报
回复
随便找个加密算法处理一下
kyle_huang
2012-04-14
打赏
举报
回复
这个可以……[Quote=引用 3 楼 的回复:]
procedure TForm1.Button1Click(Sender: TObject);
var
mstrean:TMemoryStream;
SS:TStringStream;
begin
mstrean:=TMemoryStream.Create;
SS:=TStringStream.Create('');
mstrean.LoadFromFile('D……
[/Quote]
xinghun61
2012-04-14
打赏
举报
回复
[Quote=引用 1 楼 的回复:]
用MD5加密,或者用加密压缩的方法也可以。
[/Quote]
MD5加密貌似是单向的,程序再次打开貌似解密不回来吧,呵呵。
2楼说的以内存流方式写入,是种可行的方案,但需要将写入的内容做些简单的转换才行。
例如,如果要写入的内存流为 41 31 C2 EB (为16进制表示的'A1码'),在写入时,将每个字节与任意字符(这里我们用T)做异或,得到新的内存流 15 65 96 BF ('e柨')看起来就是乱码了。
在读出时,将内存流与同一个字符再做次异或,数据就还原了。
NoMore
2012-04-14
打赏
举报
回复
把文本导入,转换成DAT格式的文件不就是了。
使用方法:文件方式存取
a215107822
2012-03-26
打赏
举报
回复
http://download.csdn.net/detail/a215107822/4174069
我的资源,你可以下过来看看
a215107822
2012-03-26
打赏
举报
回复
procedure TForm1.Button1Click(Sender: TObject);
var
mstrean:TMemoryStream;
SS:TStringStream;
begin
mstrean:=TMemoryStream.Create;
SS:=TStringStream.Create('');
mstrean.LoadFromFile('D:\cst-Desktop\1.txt'); //加载文本的流
EncodeStream(mstrean,SS); //将文本流转换成字符串
memo1.Text:=SS.DataString; //我这里暂时输出到Memo1中
end;
procedure TForm1.Button2Click(Sender: TObject);
var
mstrean:TMemoryStream;
SS:TStringStream;
begin
mstrean:=TMemoryStream.Create;
SS:=TStringStream.Create(Memo1.Text); //加载Memo1中转换过的流
DecodeStream(SS,mstrean); //将Memo1中的流字符串转换成流
mstrean.SaveToFile('D:\cst-Desktop\2.txt'); //最后流输出,和原来的文件对比,是一样的。
end;
山东蓝鸟贵薪
2012-03-26
打赏
举报
回复
以内存流方式写入即可
babydog01
2012-03-26
打赏
举报
回复
用MD5加密,或者用加密压缩的方法也可以。
Delphi
7经典问题解析源码
《
Delphi
7经典问题解析》源代码 ============================== 第二章 ====== 变体类型 不使用VCL创建WINDOWS程序 过程类型 回调机制 句柄演示 第六章 ====== FLASHGET URL智能拆分 FOXMAIL信息自动填充 判断E_MAIL地址合法性 特殊字符处理 字符串汉字统计 字符串简单加密 第七章 ====== DWORD类型操作演示 INI
文件
处理 启动自动加载 在IE标准按钮栏添加图标 注册表
二进制
值
写入
注册表指定键遍历 第四章 ====== 递归查找
文件
复制所有
文件
到新目录
文本
文件
处理
文件
流对象处理 无类型
文件
处理 第五章 ====== WM_COPYDATA数据传递 内存映射
文件
屏幕抓取 区域抓取 自动隐藏窗体 自动隐藏窗体 ============ 利用定时器 利用鼠标钩子
《
Delphi
7经典问题解析》源代码
《
Delphi
7经典问题解析》源代码。-----------------------------------------------------DWORD类型操作演示FlashGet URL智能拆分FoxMail信息自动填充INI
文件
处理WM_COPYDATA数据传递变体类型不使用VCL创建Windows程序递归查找
文件
复制所有
文件
到新目录过程类型回调机制句柄演示内存映射
文件
判断E_Mail地址合法性屏幕抓取启动自动加载区域抓取特殊字符处理
文本
文件
处理
文件
流对象处理无类型
文件
处理在IE标准按钮栏添加图标注册表
二进制
值
写入
注册表指定键遍历字符串汉字统计字符串简单加密自动隐藏窗体-----------------------------------------------------
Delphi
XE10零基础实战快速入门
通过课堂上一个一个的实战例子,演示
Delphi
XE10的用法,最后通过一个完整的通讯录程序,让学员初步掌握软件开发的全部流程 让零基础学员快速入门
Delphi
编程,快速掌握
Delphi
的使用方法,并能够制作出自己的软件来。...
CSXImage ActiveX 控件
CSXImage ActiveX控件 用于显示和管理图片,能把图片保存为
文件
,或拷贝到剪贴板。
CSXImage ActiveX控件 能用于支持ActiveX控件的Windows编程环境,比如Visual Basic或
Delphi
。它能读写多种格式
文件
并相互转换。
图片可以在控件CSXImage ActiveX控件内显示 同时能把图片保存为
文件
,或拷贝到剪贴板。图片可以以
二进制
格式导出,能把数据
写入
数据库域或以数据流形式导出到网页浏览器。一个已编辑的图片能以HTTP上载的方式传到网站服务器。
CSXImage ActiveX控件的关键特色: 在程序中添加图片功能; 支持BMP, GIF, JPG, PNG, PSD, PCX, TIFF 和 WBMP图片格式,或导出为PDF
文件
; 从磁盘,剪贴板,
二进制
数据,扫描仪或远程URL导入图片; 能对图片进行调整大小,比例,剪切,旋转和翻转等操作; 图片的高级操作:调整亮度,对比度,锐化处理,模糊处理和灰度图; 通过溶入图片创建混合图片和水印; 在图片上书写文字,支持Unicode; 读取和编辑JPEG meta 数据(IPTC
文本
); 从JPEG
文件
获取Exif属性; 图片可以以HTTP上载的形式传到远程服务器; 缩放和打印功能; OCX
文件
免费发行。
delphi
通用函数单元一
//▎============================================================▎// //▎================① 扩展的字符串操作函数 ===================▎// //▎============================================================▎// //从
文件
中返回Ado连接字串。 function GetConnectionString(DataBaseName:string):string; //返回服务器的机器名称. function GetRemoteServerName:string; function InStr(const sShort: string; const sLong: string): Boolean; {测试通过} {* 判断s1是否包含在s2中} function IntToStrEx(Value: Integer; Len: Integer; FillChar: Char = '0'): string; {测试通过} {* 扩展整数转字符串函数 Example: IntToStrEx(1,5,'0'); 返回:"00001"} function IntToStrSp(Value: Integer; SpLen: Integer = 3; Sp: Char = ','): string; {测试通过} {* 带分隔符的整数-字符转换} function ByteToBin(Value: Byte): string; {测试通过} {* 字节转
二进制
串} function StrRight(Str: string; Len: Integer): string; {测试通过} {* 返回字符串右边的字符 Examples: StrRight('ABCEDFG',3); 返回:'DFG' } function StrLeft(Str: string; Len: Integer): string; {测试通过} {* 返回字符串左边的字符} function Spc(Len: Integer): string; {测试通过} {* 返回空格串} function Replace(Str,s1,s2:string;CaseSensitive:Boolean):string; {测试通过} {* 返回将指定字符s1用字符串s2替换后的字符串,可支持大小写敏感由CaseSensitive操作} {example: replace('We know what we want','we','I',false) = 'I Know what I want'} function Replicate(pcChar:Char; piCount:integer):string; {在一个字符串中查找某个字符串的位置} function StrNum(ShortStr:string;LongString:string):Integer; {测试通过} {* 返回某个字符串中某个字符串中出现的次数} function FindStr(ShortStr:String;LongStrIng:String):Integer; {测试通过} {* 返回某个字符串中查找某个字符串的位置} function SubStr(psInput:String; BeginPlace,CutLeng:Integer):String; {测试通过} {* 返回从位置BeginPlace开始切取长度为CatLeng字符串} function LeftStr(psInput:String; CutLeng:Integer):String; {测试通过} {* 返回从左边第一为开始切取 CutLeng长度的字符串} function RightStr(psInput:String; CutLeng:Integer):String; {测试通过} {* 返回从右边第一为开始切取 CutLeng长度的字符串} function PadLStr(psInput:String; piWidth:Integer; pcPadWith:Char):String; {测试通过} {* 返回从psInput字符串左边开始用pcPadWith填充后总长度为PiWidth的字符串} function PadRStr(psInput:String; piWidth:Integer; pcPadWith:Char):String; {测试通过} {* 返回从psInput字符串右边开始用pcPadWith填充后总长度为PiWidth的字符串} function PadCStr(psInput:String; piWidth:Integer; pcPadWith:Char):String; {测试通过} {* 返回从psInput字符串两边开始用pcPadWith填充后总长度为PiWidth的字符串} function ChrTran(psInput:String; pcSearch:Char; pcTranWith:Char):String; {测试通过} {* 返回替换后字符串[替换单个字符] Examples: ChrTran('abCdEgdlkh','d','#'); 返回'abC#Eg#lkh'} function StrTran(psInput:String; psSearch:String; psTranWith:String):String; {测试通过} {* 返回替换后字符串[替换字符串] Examples: StrTran('aruyfbn','ruy','=====');; 返回'a=====fbn'} function Stuff(psInput:String; piBeginPlace,piCount:Integer; psStuffWith:String):String; { *返回替换后字符串[替换字符串] Examples: Stuff('ABCDEFGHI',3,4,'12345');返回'AB12345GHI'} procedure SwapStr(var s1, s2: string); {测试通过} {* 交换字串} function LinesToStr(const Lines: string): string; {测试通过} {* 多行
文本
转单行(换行符转'\n')} function StrToLines(const Str: string): string; {测试通过} {* 单行
文本
转多行('\n'转换行符)} function Encrypt(const S: String; Key: Word): String; {* 字符串加密函数} function Decrypt(const S: String; Key: Word): String; {* 字符串解密函数} function varIIF(aTest: Boolean; TrueValue, FalseValue: Variant): Variant; function varToStr(const V: Variant): string; {* VarIIF及VartoStr为变体函数} function IsDigital(Value: string): boolean; {功能说明:判断string是否全是数字} function RandomStr(aLength : Longint) : String; {随机字符串函数} //▎============================================================▎// //▎================② 扩展的日期时间操作函数 =================▎// //▎============================================================▎// function GetYear(Date: TDate): Integer; {测试通过} {* 取日期年份分量} function GetMonth(Date: TDate): Integer; {测试通过} {* 取日期月份分量} function GetDay(Date: TDate): Integer; {测试通过} {* 取日期天数分量} function GetHour(Time: TTime): Integer; {测试通过} {* 取时间小时分量} function GetMinute(Time: TTime): Integer; {测试通过} {* 取时间分钟分量} function GetSecond(Time: TTime): Integer; {测试通过} {* 取时间秒分量} function GetMSecond(Time: TTime): Integer; {测试通过} {* 取时间毫秒分量} function GetMonthLastDay(Cs_Year,Cs_Month:string):string; { *传入年、月,得到该月份最后一天} function IsLeapYear( nYear: Integer ): Boolean; {*/判断某年是否为闰年} function MaxDateTime(const Values: array of TDateTime): TDateTime; {//两个日期取较大的日期} function MinDateTime(const Values: array of TDateTime): TDateTime; {//两个日期取较小的日期} function dateBeginOfMonth(D: TDateTime): TDateTime; {//得到本月的第一天} function DateEndOfMonth(D: TDateTime): TDateTime; {//得到本月的最后一天} function DateEndOfYear(D: TDateTime): TDateTime; {//得到本年的最后一天} function DaysBetween(Date1, Date2: TDateTime): integer; {//得到两个日期相隔的天数} //▎============================================================▎// //▎===================③ 扩展的位操作函数 ====================▎// //▎============================================================▎// type TByteBit = 0..7; {* Byte类型位数范围} TWordBit = 0..15; {* Word类型位数范围} TDWordBit = 0..31; {* DWord类型位数范围} procedure SetBit(var Value: Byte; Bit: TByteBit; IsSet: Boolean); overload; {* 设置
二进制
位} procedure SetBit(var Value: WORD; Bit: TWordBit; IsSet: Boolean); overload; {* 设置
二进制
位} procedure SetBit(var Value: DWORD; Bit: TDWordBit; IsSet: Boolean); overload; {* 设置
二进制
位} function GetBit(Value: Byte; Bit: TByteBit): Boolean; overload; {* 取
二进制
位} function GetBit(Value: WORD; Bit: TWordBit): Boolean; overload; {* 取
二进制
位} function GetBit(Value: DWORD; Bit: TDWordBit): Boolean; overload; {* 取
二进制
位} //▎============================================================▎// //▎=================④扩展的
文件
及目录操作函数=================▎// //▎============================================================▎// function MoveFile(const sName, dName: string): Boolean; {测试通过} {* 移动
文件
、目录,参数为源、目标名} procedure FileProperties(const FName: string); {测试通过} {* 打开
文件
属性窗口} function CreatePath(path : string) : Boolean; function OpenDialog(var FileName: string; Title: string; Filter: string; Ext: string): Boolean; {* 打开
文件
框} function FormatPath(APath: string; Width: Integer): string; {测试通过} {* 缩短显示不下的长路径名} function GetRelativePath(Source, Dest: string): string; {测试通过} {* 取两个目录的相对路径,注意串尾不能是'\'字符!} procedure RunFile(const FName: string; Handle: THandle = 0; const Param: string = ''); {测试通过} {* 运行一个
文件
} function WinExecAndWait32(FileName: string; Visibility: Integer = SW_NORMAL): Integer; {测试通过} {* 运行一个
文件
并等待其结束} function AppPath: string; {测试通过} {* 应用程序路径} function GetDiskInfo(sFile : string; var nDiskFree,nDiskSize : Int64): boolean; {测试通过} {* 取sFile 所在磁盘空间状态 } function GetWindowsDir: string; {测试通过} {* 取Windows系统目录} function GetWinTempDir: string; {测试通过} {* 取临时
文件
目录} function AddDirSuffix(Dir: string): string; {测试通过} {* 目录尾加'\'修正} function MakePath(Dir: string): string; {测试通过} {* 目录尾加'\'修正} function IsFileInUse(FName: string): Boolean; {测试通过} {* 判断
文件
是否正在使用} function GetFileSize(FileName: string): Integer; {测试通过} {* 取
文件
长度} function SetFileDate(FileName: string; CreationTime, LastWriteTime, LastAccessTime: TFileTime): Boolean; {测试通过} {* 设置
文件
时间 Example: FileSetDate('c:\Test\Test1.exe',753160662); } function GetFileDate(FileName: string; var CreationTime, LastWriteTime, LastAccessTime: TFileTime): Boolean; {测试通过} {* 取
文件
时间} function FileTimeToLocalSystemTime(FTime: TFileTime): TSystemTime; {测试通过} {*
文件
时间转本地时间} function LocalSystemTimeToFileTime(STime: TSystemTime): TFileTime; {测试通过} {* 本地时间转
文件
时间} function GetFileIcon(FileName: string; var Icon: TIcon): Boolean; {测试通过} {* 取得与
文件
相关的图标,成功则返回True} function CreateBakFile(FileName, Ext: string): Boolean; {测试通过} {* 创建备份
文件
} function Deltree(Dir: string): Boolean; {测试通过} {* 删除整个目录} function GetDirFiles(Dir: string): Integer; {测试通过} {* 取
文件
夹
文件
数} type TFindCallBack = procedure(const FileName: string; const Info: TSearchRec; var Abort: Boolean); {* 查找指定目录下
文件
的回调函数} procedure FindFile(const Path: string; const FileName: string = '*.*'; Proc: TFindCallBack = nil; bSub: Boolean = True; const bMsg: Boolean = True); {* 查找指定目录下
文件
} procedure FindFileList(Path:string;Filter,FileList:TStrings;ContainSubDir:Boolean; lb: TLabel=nil); { 功能说明:查找一个路径下的所有
文件
。 参数: path:路径,filter:
文件
扩展名过滤,FileList:
文件
列表, ContainSubDir:是否包含子目录} function Txtline(const txt: string): integer; {* 返回一
文本
文件
的行数} function Html2Txt(htmlfilename: string): string; {* Html
文件
转化成
文本
文件
} function OpenWith(const FileName: string): Integer; {测试通过} {*
文件
打开方式} //▎============================================================▎// //▎====================⑤扩展的对话框函数======================▎// //▎============================================================▎// procedure InfoDlg(Mess: string; Caption: string = SCnInformation; Flags: Integer = MB_OK + MB_ICONINFORMATION); {测试通过} {* 显示提示窗口} function InfoOk(Mess: string; Caption: string = SCnInformation): Boolean; {测试通过} {* 显示提示确认窗口} procedure ErrorDlg(Mess: string; Caption: string = SCnError); {测试通过} {* 显示错误窗口} procedure WarningDlg(Mess: string; Caption: string = SCnWarning); {测试通过} {* 显示警告窗口} function QueryDlg(Mess: string; Caption: string = SCnInformation): Boolean; {测试通过} {* 显示查询是否窗口} procedure SetWindowAnimate(Sender : TForm; IsSetAni : bool); //▎============================================================▎// //▎=====================⑥系统功能函数=========================▎// //▎============================================================▎// procedure MoveMouseIntoControl(AWinControl: TControl); {测试通过} {* 移动鼠标到控件} function DynamicResolution(x, y: WORD): Boolean; {测试通过} {* 动态设置分辨率} procedure StayOnTop(Handle: HWND; OnTop: Boolean); {测试通过} {* 窗口最上方显示} procedure SetHidden(Hide: Boolean); {测试通过} {* 设置程序是否出现在任务栏} procedure SetTaskBarVisible(Visible: Boolean); {测试通过} {* 设置任务栏是否可见} procedure SetDesktopVisible(Visible: Boolean); {测试通过} {* 设置桌面是否可见} procedure BeginWait; {测试通过} {* 显示等待光标} procedure EndWait; {测试通过} {* 结束等待光标} function CheckWindows9598NT: string; {测试通过} {* 检测是否Win95/98/NT平台} function GetOSInfo : String; {测试通过} {* 取得当前操作平台是 Windows 95/98 还是NT} function GetCurrentUserName : string; {*获取当前Windows登录名的用户} function GetRegistryOrg_User(UserKeyType:string):string; {*获取当前注册的单位及用户名称} function GetSysVersion:string; {*//获取操作系统版本号} function WinBootMode:string; {//Windows启动模式} type PShutType = (UPowerOff, UShutdown, UReboot, ULogOff, USuspend, UHibernate); procedure WinShutDown(ShutWinType:PShutType; PForce:Boolean); {//Windows ShutDown等} //▎============================================================▎// //▎=====================⑦硬件功能函数=========================▎// //▎============================================================▎// function GetClientGUID:string; { 功能描述:在本机上得到一个GUID.去掉两端的大括号和中间的横线 返回值:去掉两端的大括号和中间的横线的一个GUID 适用范围:windows } function SoundCardExist: Boolean; {测试通过} {* 声卡是否存在} function GetDiskSerial(DiskChar: Char): string; {* 获取磁盘序列号} function DiskReady(Root: string) : Boolean; {*检查磁盘准备是否就绪} procedure WritePortB( wPort : Word; bValue : Byte ); {* 写串口} function ReadPortB( wPort : Word ) : Byte; {*读串口} function CPUSpeed: Double; {* 获知当前机器CPU的速率(MHz)} type TCPUID = array[1..4] of Longint; function GetCPUID : TCPUID; assembler; register; {*获取CPU的标识ID号*} function GetMemoryTotalPhys : Dword; {*获取计算机的物理内存} type TDriveState = (DSNODISK, DSUNFORMATTEDDISK, DSEMPTYDISK, DSDISK_WITHFILES); function DriveState (driveletter: Char) : TDriveState; {* 检查驱动器A中磁盘是否有效} //▎============================================================▎// //▎=====================⑧网络功能函数=========================▎// //▎============================================================▎// function GetComputerName:string; {* 获取网络计算机名称} function GetHostIP:string; {* 获取计算机的IP地址} function NetUserChangePassword(Domain:PWideChar; UserName:PWideChar; OldPassword:PWideChar; NewPassword:PWideChar): LongInt; stdcall; external 'netapi32.dll' name 'NetUserChangePassword'; {* // 运行平台:Windows NT/2000/XP {* // Windows 95/98/Me平台:可以用该函数修改用户的Windows登录密码} //▎============================================================▎// //▎=====================⑨汉字拼音功能函数=====================▎// //▎============================================================▎// function GetHzPy(const AHzStr: string): string; {测试通过} {* 取汉字的拼音} function HowManyChineseChar(Const s:String):Integer; {* 判断一个字符串中有多少各汉字} //▎============================================================▎// //▎===================⑩数据库功能函数及过程===================▎// //▎============================================================▎// {function PackDbDbf(Var StatusMsg: String): Boolean;} {* 物理删除数据库(Db,Dbf)中的数据[着了删除标记的记录]} procedure RepairDb(DbName: string); {* 修复Access表} function CreateODBCCfgInRegistry(ODBCSourceName:WideString;ServerName, DataBaseDescription:String):boolean; {* 通过注册表创建ODBC配置[创建在系统DSN页下]} function ADOConnectSysBase(Const Adocon:TadoConnection):boolean; {* 用Ado连接SysBase数据库函数} function ADOConnectLocalDB(Const Adocon:TadoConnection;Const Dbname,DbServerName:string;ValidateMode:Integer):boolean; {* 用Ado连接数据库函数} function ADOODBCConnectLocalDB(Const Adocon:TadoConnection;Const Dbname:string;ValidateMode:Integer):boolean; {* 用Ado与ODBC共同连接数据库函数} function CreatTable(LpDataBaseName,LpTableName,LpSentence:string):Boolean; {* //建立新表} function AddField(LpFieldName:string; LpDataType: TFieldType; LpSize: Word):string; {*//在表中添加字段} function KillField(LpFieldName:string):String; {* //在表中删除字段} function AlterTableExec(LpDataBaseName,LpSentence:string):Boolean; {* //修改表结构} function GetSQLSentence(LpTableName,LpSQLsentence:string): string; {* /修改、添加、删除表结构时的SQL句体} //▎============================================================▎// //▎======================⑾进制函数及过程======================▎// //▎============================================================▎// function StrToHex(AStr: string): string; {* 字符转化成十六进制} function HexToStr(AStr: string): string; {* 十六进制转化成字符} function TransChar(AChar: Char): Integer; //▎============================================================▎// //▎=====================⑿其它函数及过程=======================▎// //▎============================================================▎// function TrimInt(Value, Min, Max: Integer): Integer; overload; {测试通过} {* 输出限制在Min..Max之间} function IntToByte(Value: Integer): Byte; overload; {测试通过} {* 输出限制在0..255之间} function InBound(Value: Integer; Min, Max: Integer): Boolean; {测试通过} {* 判断整数Value是否在Min和Max之间} procedure CnSwap(var A, B: Byte); overload; {* 交换两个数} procedure CnSwap(var A, B: Integer); overload; {* 交换两个数} procedure CnSwap(var A, B: Single); overload; {* 交换两个数} procedure CnSwap(var A, B: Double); overload; {* 交换两个数} function RectEqu(Rect1, Rect2: TRect): Boolean; {* 比较两个Rect是否相等} procedure DeRect(Rect: TRect; var x, y, Width, Height: Integer); {* 分解一个TRect为左上角坐标x, y和宽度Width、高度Height} function EnSize(cx, cy: Integer): TSize; {* 返回一个TSize类型} function RectWidth(Rect: TRect): Integer; {* 计算TRect的宽度} function RectHeight(Rect: TRect): Integer; {* 计算TRect的高度} procedure Delay(const uDelay: DWORD); {测试通过} {* 延时} procedure BeepEx(const Freq: WORD = 1200; const Delay: WORD = 1); {Win9X下测试通过} {* 只能在Win9X下让喇叭发声} procedure ShowLastError; {测试通过} {* 显示Win32 Api运行结果信息} function writeFontStyle(FS: TFontStyles; inifile: string; write: boolean):string; {* 将字体Font.Style
写入
INI
文件
} function readFontStyle(inifile: string): TFontStyles; {* 从INI
文件
中读取字体Font.Style
文件
} //function ReadCursorPos(SourceMemo: TMemo): TPoint; function ReadCursorPos(SourceMemo: TMemo): string; {* 取得TMemo 控件当前光标的行和列信息到Tpoint中} function CanUndo(AMemo: TMemo): Boolean; {* 检查Tmemo控件能否Undo} procedure Undo(Amemo: Tmemo); {*实现Undo功能} procedure AutoListDisplay(ACombox:TComboBox); {* 实现ComBoBox自动下拉} function UpperMoney(small:real):string; {* 小写金额转换为大写 } function Myrandom(Num: Integer): integer; {*利用系统时间产生随机数)} procedure OpenIME(ImeName: string); {*打开输入法} procedure CloseIME; {*关闭输入法} procedure ToChinese(hWindows: THandle; bChinese: boolean); {*打开中文输入法} //数据备份 procedure BackUpData(LpBackDispMessTitle:String); procedure ImageLoadGif(Picture: TPicture; filename: string); procedure ImageLoadJpg(Picture: TPicture; filename: string);
Windows SDK/API
1,183
社区成员
22,335
社区内容
发帖
与我相关
我的任务
Windows SDK/API
Delphi Windows SDK/API
复制链接
扫一扫
分享
社区描述
Delphi Windows SDK/API
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章