Delphi使用总结(一)

79 篇文章 1 订阅

1.         配置文件TIniFile 类操作:

1)        INI文件的结构:

;注释

[小节名]
关键字=值
...
---- 值的类型有三种:字符串、整型数值和布尔值。其中字符串存贮在INI文件中时没有引号,布尔真值用1表示,布尔假值用0表示。

2)        示例代码:

var

myinifile:TInifile;

{$R *.DFM}

procedure TForm1.FormCreate(Sender: TObject);

var

filename:string;

begin

filename:=ExtractFilePath(paramstr(0))+'myini.ini';

myinifile:=TInifile.Create(filename);

edit1.Text:= myinifile.readstring('程序参数','用户名称','缺省的用户名称');

edit2.text:= inttostr(myinifile.readinteger('程序参数','已运行时间',0));

checkbox1.Checked:= myinifile.readbool('程序参数','是否正式用户',False);

end;

procedure TForm1.FormDestroy(Sender: TObject);

begin

myinifile.writestring('程序参数','用户名称',edit1.Text);

myinifile.writeinteger('程序参数','已运行时间',strtoint(edit2.text));

myinifile.writebool('程序参数','是否正式用户',checkbox1.Checked);

myinifile.Destroy;

end;

2.         在注册表中注册和注销ActiveX部件(OCX、DLL):

1)        使用RegSvr32.EXE注册、注销:

在开始菜单单击运行,在对话框中输入:
注册:Regsvr32_Path Your_Activex_Path
注销:Regsvr32_Path /u Your_Activex_Path
按确定按钮运行即可
其中:Regsvr32_Path 是Regsvr32.exe文件的路径(包含文件名)
      Your_ActiveX_Path 是要注册或注销的文件路径(包含文件名)
一般情况下,Win98 的 Regsvr32.exe 在系统System文件夹,Win2000 的位于 cwin\vcm文件夹。

2)        使用RegComCtl32UnRegComCtl32函数注册注销:

开始一个新的EXE工程,移出Form1,添加一个模块,将下面代码粘贴到模块中,注意将其中红字修改成您要注册或注销的部件文件名(包含路径)
不用运行工程,在立即窗口(Ctrl+G)直接键入过程名回车即可
您可以保存该工程,以后在需要注册注销另外部件时,只需修改声明中的文件名,很方便。
Option Explicit
Declare Function RegComCtl32 Lib "D:\MYAPP\Printer\IdiotPrint.dll" Alias "DllRegisterServer" () As Long
Declare Function UnRegComCtl32 Lib "D:\MYAPP\Printer\IdiotPrint.dll" Alias "DllUnregisterServer" () As Long
Const ERROR_SUCCESS = &H0
Public Sub RegDllCtrl()
   If RegComCtl32 = ERROR_SUCCESS Then
      MsgBox "注册成功"
   Else
      MsgBox "注册失败"
   End If
End Sub

Public Sub UnRegDllCtrl()
   If UnRegComCtl32 = ERROR_SUCCESS Then
      MsgBox "注销成功"
   Else
      MsgBox "注销失败"
   End If
End Sub

3.         Delphi字符串、PChar与字符数组之间的转换:

设有以下三个变量:

  var
    s:string;
    p:pchar;
    a:array[1..20] of char;
  那么三者之间的转换如下:
  1)、字符串到PChar
      p:=PChar(s);
  2)、PChar到字符串
      s:=p;
  3)、PChar到字符数组
      StrCopy(@a,p);
  4)、字符数组到PChar
      PChar(@a);
  5)、字符串与字符数组之间的转换就只有通过PChar来中转了。例如下面这个例子:
  procedure TForm1.btn1Click(Sender: TObject);
  var
    str:array[1..10] of char;
  begin
    StrCopy(@str,PChar(mmo1.Text));
    mmo2.Text:=PChar(@str);
  end;

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值