?? untfaced.pas
字號:
{*******************************************************}
{ }
{ 單元名稱: UntFaceD }
{ 創建日期: 2005-08-29 }
{ 摘要說明: TType.DLL動態調用接口 }
{ }
{ 詳細說明: }
{ }
{ 參 閱: }
{ }
{ 已知問題: }
{ }
{ 待作事項: }
{ }
{ 作 者: 胡孟杰 }
{ Copyright (C) 2005 FdAuto }
{ 當前版本: 2.0 }
{ 版本歷史: }
{ }
{*******************************************************}
unit UntFaceD;
{==========================================================================
單元接口部分
==========================================================================}
interface
{==========================================================================
參數聲明所需引用的單元
==========================================================================}
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, Variants, ShellAPI, ADODB;
{==========================================================================
函數類型聲明部分
==========================================================================}
type
//向表Type中插入一條記錄,函數類型聲明
TType_AddNew = function(ADOConnection: TADOConnection; P_Type: string):
boolean; stdcall;
//向表Type中更新一條記錄,函數類型聲明
TType_Edit = function(ADOConnection: TADOConnection; OldType, P_Type: string):
boolean; stdcall;
//向表Type中刪除一條記錄,函數類型聲明
TType_Delete = function(ADOConnection: TADOConnection; P_Type: string):
boolean; stdcall;
//在表Type中查找一條記錄,函數類型聲明
TType_Find = function(ADOConnection: TADOConnection; P_Type: string): boolean;
stdcall;
//取回類別列表,返回執行成功與否,函數類型聲明
TType_GetTypeList = function(ADOConnection: TADOConnection; TypeList:
Tstrings): boolean; stdcall;
//在表Func中插入一條記錄,返回執行成功與否,函數類型聲明
TFunc_AddNew = function(ADOConnection: TADOConnection;
P_Type, P_Subject, P_Uses, P_Content, P_Remark: string): boolean; stdcall;
//在表Func中更新一條記錄,返回執行成功與否,函數類型聲明
TFunc_Edit = function(ADOConnection: TADOConnection;
P_ID: integer;
P_Type, P_Subject, P_Uses, P_Content, P_Remark: string): boolean; stdcall;
//在表Func中刪除一條記錄,返回執行成功與否,函數類型聲明
TFunc_Delete = function(ADOConnection: TADOConnection; P_ID: integer):
boolean; stdcall;
//在表Func中查找一條記錄,返回執行成功與否,函數類型聲明
TFunc_Find = function(ADOConnection: TADOConnection; P_ID: integer): boolean;
stdcall;
//在表Func中查找類別明細,返回執行成功與否,函數類型聲明
TFunc_FindType = function(ADOConnection: TADOConnection; P_Type: string):
boolean; stdcall;
//在表Func中批量更新類別
TFunc_UpdateType = function(ADOConnection: TADOConnection; OldType, NewType:
string): boolean; stdcall;
//依據ID在FUNC中取回一條記錄,返回記錄是否存在,函數類型聲明
TFunc_GetRecordByID = function(ADOConnection: TADOConnection;
P_ID: integer;
P_Type, P_Subject, P_Uses: PChar;
P_Content, P_Remark: Tstrings): boolean; stdcall;
//依據ID取回類別,返回記錄是否存在,函數類型聲明
TFunc_GetTypeByID = function(ADOConnection: TADOConnection; P_ID: Integer;
P_Type: PChar): boolean; stdcall;
//依據類別取得記錄集,返回執行成功與否,函數類型聲明
TFunc_GetFuncByType = function(ADOQueryF: TADOQuery; P_Type: string): boolean;
stdcall;
//依據標題檢索函數庫,返回執行成功與否
TFunc_SearchBySubject = function(ADOQueryF: TADOQuery; P_Subject: string):
boolean; stdcall;
//依據標題檢索,取得ID標題列表
TFunc_GetIDSubList = function(ADOConnection: TADOConnection; SubKey: string;
IDList, SubList: Tstrings): boolean; stdcall;
//依據類別檢索,取得ID標題列表
TFunc_GetIDListByType = function(ADOConnection: TADOConnection; P_Type:
string;
IDList, SubList: Tstrings): boolean; stdcall;
{==========================================================================
接口函數聲明
==========================================================================}
procedure ShowMsg(Msg: string); stdcall;
//向表Type中插入一條記錄,函數原型聲明
function Type_AddNew(ADOConnection: TADOConnection; P_Type: string): boolean;
stdcall;
//向表Type中更新一條記錄,函數原型聲明
function Type_Edit(ADOConnection: TADOConnection; OldType, P_Type: string):
boolean; stdcall;
//向表Type中刪除一條記錄,函數原型聲明
function Type_Delete(ADOConnection: TADOConnection; P_Type: string): boolean;
stdcall;
//在表Type中查找一條記錄,函數原型聲明
function Type_Find(ADOConnection: TADOConnection; P_Type: string): boolean;
stdcall;
//取回類別列表,返回執行成功與否,函數原型聲明
function Type_GetTypeList(ADOConnection: TADOConnection; TypeList: Tstrings):
boolean; stdcall;
//在表Func中插入一條記錄,返回執行成功與否,函數原型聲明
function Func_AddNew(ADOConnection: TADOConnection;
P_Type, P_Subject, P_Uses, P_Content, P_Remark: string): boolean; stdcall;
//在表Func中更新一條記錄,返回執行成功與否,函數原型聲明
function Func_Edit(ADOConnection: TADOConnection;
P_ID: integer;
P_Type, P_Subject, P_Uses, P_Content, P_Remark: string): boolean; stdcall;
//在表Func中刪除一條記錄,返回執行成功與否,函數原型聲明
function Func_Delete(ADOConnection: TADOConnection; P_ID: integer): boolean;
stdcall;
//在表Func中查找一條記錄,返回執行成功與否,函數原型聲明
function Func_Find(ADOConnection: TADOConnection; P_ID: integer): boolean;
stdcall;
//在表Func中查找類別明細,返回執行成功與否,函數原型聲明
function Func_FindType(ADOConnection: TADOConnection; P_Type: string): boolean;
stdcall;
//在表Func中批量更新類別
function Func_UpdateType(ADOConnection: TADOConnection; OldType, NewType:
string): boolean; stdcall;
//依據ID在FUNC中取回一條記錄,返回記錄是否存在,函數原型聲明
function Func_GetRecordByID(ADOConnection: TADOConnection;
P_ID: integer;
P_Type, P_Subject, P_Uses: PChar;
P_Content, P_Remark: Tstrings): boolean; stdcall;
//依據ID取回類別,返回記錄是否存在,函數原型聲明
function Func_GetTypeByID(ADOConnection: TADOConnection; P_ID: Integer; P_Type:
PChar): boolean; stdcall;
//依據類別取得記錄集,返回執行成功與否,函數原型聲明
function Func_GetFuncByType(ADOQueryF: TADOQuery; P_Type: string): boolean;
stdcall;
//依據標題檢索函數庫,返回執行成功與否
function Func_SearchBySubject(ADOQueryF: TADOQuery; P_Subject: string): boolean;
stdcall;
//依據標題檢索,取得ID標題列表
function Func_GetIDSubList(ADOConnection: TADOConnection; SubKey: string;
IDList, SubList: Tstrings): boolean; stdcall;
//依據類別檢索,取得ID標題列表
function Func_GetIDListByType(ADOConnection: TADOConnection; P_Type: string;
IDList, SubList: Tstrings): boolean; stdcall;
{==========================================================================
單元實現部分
==========================================================================}
implementation
{==========================================================================
過程名: ShowMsg
功 能: 顯示提示對話框
參 數: Msg: string
作 者: 胡孟杰
日 期: 2005-08-29
==========================================================================}
procedure ShowMsg(Msg: string); stdcall;
begin
Application.MessageBox(PChar(Msg),
PChar(Application.Title), MB_ICONINFORMATION);
end;
{==========================================================================
函數名: Type_AddNew
功 能: 向表Type中插入一條記錄
參 數:
返回值:
作 者: 胡孟杰
日 期: 2005-08-29
==========================================================================}
function Type_AddNew(ADOConnection: TADOConnection; P_Type: string): boolean;
stdcall;
var
FHandle : THandle;
FType_AddNew : TType_AddNew;
begin
result := false;
FHandle := LoadLibrary('TType.dll');
if FHandle <> 0 then
begin
@FType_AddNew := GetProcAddress(FHandle, 'Type_AddNew');
if @FType_AddNew <> nil then
result := FType_AddNew(ADOConnection, P_Type)
else
ShowMsg(PChar('加載函數Type_AddNew失敗!'));
end
else
ShowMsg(PChar('加載TType.dll失敗!'));
FreeLibrary(FHandle);
end;
{==========================================================================
函數名: Type_Edit
功 能: 向表Type中更新一條記錄
參 數:
返回值:
作 者: 胡孟杰
日 期: 2005-08-29
==========================================================================}
function Type_Edit(ADOConnection: TADOConnection; OldType, P_Type: string):
boolean; stdcall;
var
FHandle : THandle;
FType_Edit : TType_Edit;
begin
result := false;
FHandle := LoadLibrary('TType.dll');
if FHandle <> 0 then
begin
@FType_Edit := GetProcAddress(FHandle, 'Type_Edit');
if @FType_Edit <> nil then
result := FType_Edit(ADOConnection, OldType, P_Type)
else
ShowMsg(PChar('加載函數Type_Edit失敗!'));
end
else
ShowMsg(PChar('加載TType.dll失敗!'));
FreeLibrary(FHandle);
end;
{==========================================================================
函數名: Type_Delete
功 能: 向表Type中刪除一條記錄
參 數:
返回值:
作 者: 胡孟杰
日 期: 2005-08-29
==========================================================================}
function Type_Delete(ADOConnection: TADOConnection; P_Type: string): boolean;
stdcall;
var
FHandle : THandle;
FType_Delete : TType_Delete;
begin
result := false;
FHandle := LoadLibrary('TType.dll');
if FHandle <> 0 then
begin
@FType_Delete := GetProcAddress(FHandle, 'Type_Delete');
if @FType_Delete <> nil then
result := FType_Delete(ADOConnection, P_Type)
else
ShowMsg(PChar('加載函數Type_Delete失敗!'));
end
else
ShowMsg(PChar('加載TType.dll失敗!'));
FreeLibrary(FHandle);
end;
{==========================================================================
函數名: Type_Find
功 能: 在表Type中查找一條記錄
參 數:
返回值:
作 者: 胡孟杰
日 期: 2005-08-29
==========================================================================}
function Type_Find(ADOConnection: TADOConnection; P_Type: string): boolean;
stdcall;
var
FHandle : THandle;
FType_Find : TType_Find;
begin
result := false;
FHandle := LoadLibrary('TType.dll');
if FHandle <> 0 then
begin
@FType_Find := GetProcAddress(FHandle, 'Type_Find');
if @FType_Find <> nil then
result := FType_Find(ADOConnection, P_Type)
else
ShowMsg(PChar('加載函數Type_Find失敗!'));
end
else
ShowMsg(PChar('加載TType.dll失敗!'));
FreeLibrary(FHandle);
end;
{==========================================================================
函數名: Type_GetTypeList
功 能: 取回類別列表,返回執行成功與否
參 數:
返回值:
作 者: 胡孟杰
日 期: 2005-08-29
==========================================================================}
function Type_GetTypeList(ADOConnection: TADOConnection; TypeList: Tstrings):
boolean; stdcall;
var
FHandle : THandle;
FType_GetTypeList : TType_GetTypeList;
begin
result := false;
FHandle := LoadLibrary('TType.dll');
if FHandle <> 0 then
begin
@FType_GetTypeList := GetProcAddress(FHandle, 'Type_GetTypeList');
if @FType_GetTypeList <> nil then
result := FType_GetTypeList(ADOConnection, TypeList)
else
ShowMsg(PChar('加載函數Type_GetTypeList失敗!'));
end
else
ShowMsg(PChar('加載TType.dll失敗!'));
FreeLibrary(FHandle);
end;
{==========================================================================
函數名: Func_AddNew
功 能: 在表Func中插入一條記錄,返回執行成功與否
參 數:
返回值:
作 者: 胡孟杰
日 期: 2005-08-29
==========================================================================}
function Func_AddNew(ADOConnection: TADOConnection;
P_Type, P_Subject, P_Uses, P_Content, P_Remark: string): boolean; stdcall;
var
FHandle : THandle;
FFunc_AddNew : TFunc_AddNew;
begin
result := false;
FHandle := LoadLibrary('TType.dll');
if FHandle <> 0 then
begin
@FFunc_AddNew := GetProcAddress(FHandle, 'Func_AddNew');
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -