捐赠 | 广告 | 注册 | 发布 | 上传 | 关于我们    
  粤ICP备10103342号 DELPHI盒子 | 盒子文章 | 盒子问答悬赏 | 最新更新 | 盒子检索 | 下载中心 | 高级搜索    
  精品专区 | 繁體中文 | 奖励公告栏 | 直通车账号登陆 | 关闭GOOGLE广告 | 临时留言    
 
广告
评论:Windows API 函数助手
eastlong_tx 17195 2005/8/24 18:23:14
非常感谢分享
99dn107 8839 2004/10/21 9:27:23
初学者对这个正感冒着谢谢!
daoshan 7881 2004/8/18 10:36:09
不爽,还是谢谢
tim001 7709 2004/8/11 12:51:43
为什么不放源码上来
agl2722 7063 2004/7/23 7:17:26
好啊!
tyc2000 3390 2004/3/19 11:01:43
正在下。。。评论先!
好书哦!!
mantousoft 93 2003/9/24 0:49:47
主要代码如下:

1、通过ADO连接Access库(ADOConnection->ADODateSet->DataSource->DBGridEh)
const
 ConnStr: string =
   'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=%s' +
   ';Persist Security Info=False';
procedure TMainForm.FormCreate(Sender: TObject);
begin
 ADOConnection.ConnectionString := Format(ConnStr,
   [ExtractFileDir(Application.ExeName)+'\WinAPI.MDB']);
 ADOConnection.Open;
 ADODataSet.Open;
end;

2、查找函数
procedure TMainForm.EdFuncNameChange(Sender: TObject);
begin
 if (EdFuncName.Text = ') or
   (EdFuncName.Text = '%') then
 begin
   ADODataSet.Filtered := False;
   Exit;
 end;
 ADODataSet.Filtered := False;
 ADODataSet.Filter := '函数名 like ' +
   QuotedStr(EdFuncName.Text + '%');
 ADODataSet.Filtered := True;
end;

3、修改、查看函数详细资料
procedure TMainForm.DBGridEhDblClick(Sender: TObject);
begin
 if ADODataSet.IsEmpty then
   Exit;
 { FunctionInfo 记录在另一窗体单元定义,用在Form间传递数据。请看后面}
 FunctionInfo.Name := ADODataSet.FieldByName('函数名').AsString;
 FunctionInfo.Explain := ADODataSet.FieldByName('函数说明').AsString;
 FunctionInfo.Example := ADODataSet.FieldByName('详细说明').AsString;
 FunctionInfo.SurpportWin16 := ADODataSet.FieldByName('Win16支持').AsBoolean;
 FunctionInfo.SurpportWin9x := ADODataSet.FieldByName('Win9x支持').AsBoolean;
 FunctionInfo.SurpportWinNT := ADODataSet.FieldByName('WinNT支持').AsBoolean;

 { ShowFuncInfoForm 函数在另一窗体单元定义,请看后面}
 if ShowFuncInfoForm(FunctionInfo) = mrOk then
 begin
   ADODataSet.Edit;
   ADODataSet.FieldByName('函数名').AsString := FunctionInfo.Name;
   ADODataSet.FieldByName('函数说明').AsString := FunctionInfo.Explain;
   ADODataSet.FieldByName('详细说明').AsString := FunctionInfo.Example;
   ADODataSet.FieldByName('Win16支持').AsBoolean := FunctionInfo.SurpportWin16;
   ADODataSet.FieldByName('Win9x支持').AsBoolean := FunctionInfo.SurpportWin9x;
   ADODataSet.FieldByName('WinNT支持').AsBoolean := FunctionInfo.SurpportWinNT;
   ADODataSet.Post;
 end;
end;

4、添加函数
 参考3(前面判断数据集为空那句就不要了),先清空FunctionInfo,然后 
 if ShowFuncInfoForm(FunctionInfo) = mrOk then 
 begin
   ADODataSet.Append;
   ADODataSet.FieldByName('函数名').AsString := FunctionInfo.Name;
   ....
   ADODataSet.Post;
 end;

5、函数信息窗体
unit FuncInfoFrm;
interface
type
 TFunctionInfo = record
   Name:             string;
   Explain:          string;
   Example:          string;
   SurpportWin16:    boolean;
   SurpportWin9x:    boolean;
   SurpportWinNT:    boolean;
 end;
var
 FunctionInfo: TFunctionInfo;
 {FuncInfoForm: TFuncInfoForm;}

function ShowFuncInfoForm(AFunctionInfo: TFunctionInfo): word;

implementation

{$R *.dfm}

{ 创建并显示窗体 }
function ShowFuncInfoForm(AFunctionInfo: TFunctionInfo): word;
var
 FuncInfoForm: TFuncInfoForm;
begin
 FuncInfoForm := TFuncInfoForm.Create(Application);
 try
   with FuncInfoForm do
   begin
     EdFuncName.Text := AFunctionInfo.Name;
     MemoExplain.Text := AFunctionInfo.Explain;
     CBSurppotWin16.Checked := AFunctionInfo.SurpportWin16;
     CBSurppotWin9x.Checked := AFunctionInfo.SurpportWin9x;
     CBSurppotWinNT.Checked := AFunctionInfo.SurpportWinNT;
     MemoExample.Text := AFunctionInfo.Example;
     Result := ShowModal;
   end;
 finally
   FuncInfoForm.Free;
 end;
end;

{ 按下确定按钮 }
procedure TFuncInfoForm.BtnConfirmClick(Sender: TObject);
begin
 if EdFuncName.Text = ' then
 begin
   Application.MessageBox('函数名不能为空,请重新输入。',
                          '错误',
                          MB_ICONERROR);
   Exit;
 end;

 FunctionInfo.Name := EdFuncName.Text;
 FunctionInfo.Explain := MemoExplain.Text;
 FunctionInfo.Example := MemoExample.Text;
 FunctionInfo.SurpportWin16 := CBSurppotWin16.Checked;
 FunctionInfo.SurpportWin9x := CBSurppotWin9x.Checked;
 FunctionInfo.SurpportWinNT := CBSurppotWinNT.Checked;
 ModalResult := mrOk;
end;
第一页 上一页 下一页 最后页 有 7 条纪录 共1页 1 - 7
 用户名:
 密 码:
自动登陆(30天有效)
 
  DELPHI盒子版权所有 技术支持:深圳市麟瑞科技有限公司 1999-2024 V4.01 粤ICP备10103342号 更新RSS列表