Delphi 应用编程实例简介

尹雪00o

尹雪00o

2016-01-29 14:17

Delphi 应用编程实例简介,Delphi 应用编程实例简介
 

1. 控制INI文件几法

要利用.INI文件做程序有关数据的存储工作,就需要能读和写.INI文件,所以列了如下方法给大家参考:
从.INI文件中获取字符串
var
strResult:pchar;
begin
GetPrivateProfileString(
'windows', // []中标题的名字
'NullPort', // =号前的名字
'NIL', // 如果没有找到字符串时,返回的默认值
strResult, //存放取得字符
100, //取得字符的允许最大长度
'c:forwin95win.ini' // 调用的文件名
);
edit1.text:=strResult; //显示取得字符串
从.INI文件中获取整数
edit1.text:=inttostr(GetPrivateProfileInt(
'intl', // []中标题的名字
'iCountry', // =号前的名字
0,// 如果没有找到整数时,返回的默认值
'c:forwin95win.ini' // 调用的文件名
));
向.INI文件写入字符串
WritePrivateProfileString(
'windows', // []中标题的名字
'load', // 要写入“=”号前的字符串
'accca', //要写入的数据
'c:forwin95win.ini' // 调用的文件名
);
向.INI文件写入整数
WritePrivateProfileSection(
'windows', // []中标题的名字
'read=100', // 要写入的数据
'c:forwin95win.ini' // 调用的文件名
);
上面的方法是调用API函数,下面介绍另一种不用API从.INI文件中获取字符的方法
var MyIni: TIniFile;
begin
MyIni := TIniFile.Create('WIN.INI');//调用的文件名
edit1.text:=MyIni.ReadString('Desktop', 'Wallpaper', '');//取得字符
end;
向.INI文件中写入字符的方法
var MyIni: TIniFile;
begin
MyIni := TIniFile.Create('WIN.INI');//调用的文件名
DelphiIni.WriteString('Desktop', 'Wallpaper', 'c:a.bmp');
end;

2.转让控制权

有时由于长时间的循环语句占用了cpu的处理权,无法运行 其他程序,照成死循环。这时用以下命令转让控制权,让操作系统处理其他事件。
Application.ProcessMessages;

3.得到执行程序的目录
SysUtils 单元中有 ExtractFileDir 与 ExtractFilePath两个类似的函数, 用哪一个?没有太大的关系。
  不过有以下的差别: ExtractFilePath 传回值的最後一个字元是反斜杠“/”。
procedure TForm1.Button1Click(Sender: TObject);
begin
ShowMessage(ExtractFileDir(Application.Exename));
// ie: c:temp
ShowMessage(ExtractFilePath(Application.Exename));
// ie: c:temp
end;
相同点: 如果执行文件在根目录下(如:C:SAMPLE.EXE)的话, 两者的传回值相同, 且最后一个字符都是“/”。

4.打开已注册文件

打开Windows已经注册的文件其实很简单,根据以下代码定义一个过程:

procedure URLink(URL:PChar);
begin
ShellExecute(0, nil, URL, nil, nil, SW_NORMAL);
end;
在要调用的地方使用
URLink('Readme.txt');
如果是链接主页的话,那么改用
URLink('http://qqxw.yeah.net');

5.得到Windows用户名和序列号

如何得到Windows的用户名称和产品序列号呢?
1. 可以用 WNetGetUser() 这个函数来得到 user name;
2. Windows 95 的产品序号可以用 TRegistry 到 Registry Database 中找出来;

// 取得用户名称
function GetUserName: AnsiString;
var
lpName: PAnsiChar;
lpUserName: PAnsiChar;
lpnLength: DWORD;
begin
Result := '';
lpnLength := 0;
WNetGetUser(nil, nil, lpnLength); // 取得字串长度
if lpnLength 0 then
begin
GetMem(lpUserName, lpnLength);
if WNetGetUser(lpName, lpUserName, lpnLength) = NO_ERROR then
Result := lpUserName;
FreeMem(lpUserName, lpnLength);
end;
end; { GetUserName }

// 取得 Windows 产品序号
function GetWindowsProductID: string;
var
reg: TRegistry;
begin
Result := '';
reg := TRegistry.Create;
with reg do
begin
RootKey := HKEY_LOCAL_MACHINE;
OpenKey('SoftwareMicrosoftWindowsCurrentVersion', False);
Result := ReadString('ProductID');
end;
reg.Free;
end;

6.关闭外部应用程序

如何在 Delphi 应用程序中, 去关闭外部已开启的应用程序?
下面给出一段在 Delphi 中关闭“计算器”程序为例:

var
HWndCalculator : HWnd;
begin
// find the exist calculator window
HWndCalculator := Winprocs.FindWindow(nil, '计算器'); // close the exist Calculator
if HWndCalculator < 0 then
SendMessage(HWndCalculator, WM_CLOSE, 0, 0);
end;

7.查阅可视窗口标题

下面只是举出

展开更多 50%)
分享

猜你喜欢

Delphi 应用编程实例简介

Delphi
Delphi 应用编程实例简介

Delphi编程技巧实例

Delphi
Delphi编程技巧实例

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

编程应用实例:Java通过JNI与Delphi交互

编程语言 网络编程
编程应用实例:Java通过JNI与Delphi交互

Delphi下的COM编程技术简介

Delphi
Delphi下的COM编程技术简介

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

Delphi编程中Http协议应用(一)

Delphi
Delphi编程中Http协议应用(一)

Delphi 数据浏览部件的应用及编程

编程语言 网络编程
Delphi 数据浏览部件的应用及编程

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

PHP的面向对象编程:开发大型PHP项目的方法(一)

PHP的面向对象编程:开发大型PHP项目的方法(一)

Delphi使用三则

Delphi使用三则
下拉加载更多内容 ↓