当前位置: 首页 > 图文教程 > 开发语言 > Delphi > Delphi 应用编程实例简介
| 1. 控制INI文件几法 要利用.INI文件做程序有关数据的存储工作,就需要能读和写.INI文件,所以列了如下方法给大家参考: 从.INI文件中获取字符串 var strResult:pchar; begin GetPrivateProfileString( 'windows', // []中标题的名字 'NullPort', // =号前的名字 'NIL', // 如果没有找到字符串时,返回的默认值 strResult, //存放取得字符 100, //取得字符的允许最大长度 'c:\forwin95\win.ini' // 调用的文件名 ); edit1.text:=strResult; //显示取得字符串 从.INI文件中获取整数 edit1.text:=inttostr(GetPrivateProfileInt( 'intl', // []中标题的名字 'iCountry', // =号前的名字 0,// 如果没有找到整数时,返回的默认值 'c:\forwin95\win.ini' // 调用的文件名 )); 向.INI文件写入字符串 WritePrivateProfileString( 'windows', // []中标题的名字 'load', // 要写入“=”号前的字符串 'accca', //要写入的数据 'c:\forwin95\win.ini' // 调用的文件名 ); 向.INI文件写入整数 WritePrivateProfileSection( 'windows', // []中标题的名字 'read=100', // 要写入的数据 'c:\forwin95\win.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('Software\Microsoft\Windows\CurrentVersion', 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.查阅可视窗口标题 下面只是举出 |