📄 uglobal.~pas
字号:
unit Uglobal;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, StdCtrls, Buttons, ComCtrls, Grids, DBGrids, DBCtrls,
Mask, DB, Menus, CheckLst, ADODB;
{数据库操作相关}
//将数据表中指定的一个字段值放在一个DBCombobox中
Function c_getid(Sdbset:TAdoDataset;field1,dsetname:string;dtyname:string;Sdbcb:TDBComboBox):Boolean;
//将数据表中指定的一个字段值放在一个Combobox中
Function c_getid2(Sdbset:TAdoDataset;field1,dsetname:string;dtyname:string;Sdbcb:TComboBox):Boolean;
//将数据表中指定的两个字段值放在一个DBCombobox和一个Combobox中
Function c_getPid2(Sdbset:TAdoDataset;field1,field2,dsetname:string;dtyname:string;Sdbcb1:TDBComboBox;Sdbcb2:TComboBox):Boolean;
//将数据表中指定的两个字段值放在两个Combobox中
Function c_getPid3(Sdbset:TAdoDataset;field1,field2,dsetname:string;dtyname:string;Sdbcb1,Sdbcb2:TComboBox):Boolean;
//将数据表中指定的四个字段值放在四个Combobox中
Function c_getMid(Sdbset:TAdoDataset;field1,field2,field3,field4,dsetname:string;dtyname:string;Sdbcb1,Sdbcb2,Sdbcb3,Sdbcb4:TComboBox):Boolean;
//提示框,警告框函数
Function MSG(sMsg:string;sType:string):Boolean;
//判断字符串是否为整数
function IfInt(sInput:string):Boolean;
//判断字符串是否为浮点数
function IfNum(sInput:string):Boolean;
var
ReportIndex:Integer;
implementation
{------------------------------------------------------
// 功能描述:取数据库2个字段值放在2个DBCombobox中
// 变量输入:Sdbset 为dataset;dsetname 表名 Sdbcb1,2 为DBcombobox
// 变量输出:
// 返回结果:True/False 是/否
-------------------------------------------------------}
Function c_getid(Sdbset:TAdoDataset;field1,dsetname:string;dtyname:string;Sdbcb:TDBComboBox):Boolean;
var
ind : integer;
begin
try
with Sdbset do
begin
if Active then
Active := False;
CommandText := 'Select * from ' + dsetname + ' where ' + dtyname + ' = 1 order by ID';
Active := True;
first;
Sdbcb.Clear;
ind := 0;
while not eof do
begin
sdbcb.ItemIndex := ind;
Sdbcb.Items.Add(Fieldbyname(field1).Value);
ind := ind + 1;
next;
end;
sdbcb.ItemIndex := -1;
end;
result := True;
except
result := False;
end;
end;
{------------------------------------------------------
// 功能描述:取数据库2个字段值放在2个Combobox中
// 变量输入:Sdbset 为dataset;dsetname 表名 Sdbcb1,2 为DBcombobox
// 变量输出:
// 返回结果:True/False 是/否
-------------------------------------------------------}
Function c_getid2(Sdbset:TAdoDataset;field1,dsetname:string;dtyname:string;Sdbcb:TComboBox):Boolean;
var
ind : integer;
begin
try
with Sdbset do
begin
if Active then
Active := False;
CommandText := 'Select * from ' + dsetname + ' where ' + dtyname + ' = 1 order by ID';
Active := True;
first;
Sdbcb.Clear;
ind := 0;
while not eof do
begin
sdbcb.ItemIndex := ind;
Sdbcb.Items.Add(Fieldbyname(field1).Value);
ind := ind + 1;
next;
end;
sdbcb.ItemIndex := -1;
end;
result := True;
except
result := False;
end;
end;
{------------------------------------------------------
// 功能描述:取数据库某2个字段值放在1个DBCombobox和1个ComBoBox中
// 变量输入:Sdbset 为dataset;dsetname 表名 Sdbcb1 为DBcombobox ,Sdbcb2为ComboBox
// 变量输出:
// 返回结果:True/False 是/否
-------------------------------------------------------}
Function c_getPid2(Sdbset:TAdoDataset;field1,field2,dsetname:string;dtyname:string;Sdbcb1:TDBComboBox;Sdbcb2:TComboBox):Boolean;
var
ind : integer;
begin
try
with Sdbset do
begin
if Active then
Active := False;
CommandText := 'Select '+field1+','+field2+' from ' + dsetname + ' where ' + dtyname + ' = 1 ';
Active := True;
first;
Sdbcb1.Clear;
Sdbcb2.Clear;
ind := 0;
while not eof do
begin
sdbcb1.ItemIndex := ind;
sdbcb2.ItemIndex := ind;
Sdbcb1.Items.Add(Fieldbyname(field1).Value);
Sdbcb2.Items.Add(Fieldbyname(field2).Value);
ind := ind + 1;
next;
end;
sdbcb1.ItemIndex := -1;
sdbcb2.ItemIndex := -1;
end;
result := True;
except
result := False;
end;
end;
{------------------------------------------------------
// 功能描述:取数据库某2个字段值放在12个ComBoBox中
// 变量输入:Sdbset 为dataset;dsetname 表名 Sdbcb1 ,Sdbcb2为ComboBox
// 变量输出:
// 返回结果:True/False 是/否
-------------------------------------------------------}
Function c_getPid3(Sdbset:TAdoDataset;field1,field2,dsetname:string;dtyname:string;Sdbcb1,Sdbcb2:TComboBox):Boolean;
var
ind : integer;
begin
try
with Sdbset do
begin
if Active then
Active := False;
CommandText := 'Select '+field1+','+field2+' from ' + dsetname + ' where ' + dtyname + ' = 1 ';
Active := True;
first;
Sdbcb1.Clear;
Sdbcb2.Clear;
sdbcb1.ItemIndex:=0;
sdbcb2.ItemIndex:=0;
Sdbcb1.Items.Add('All');
Sdbcb2.Items.Add('All');
ind := 1;
while not eof do
begin
sdbcb1.ItemIndex := ind;
sdbcb2.ItemIndex := ind;
Sdbcb1.Items.Add(Fieldbyname(field1).Value);
Sdbcb2.Items.Add(Fieldbyname(field2).Value);
ind := ind + 1;
next;
end;
sdbcb1.ItemIndex := 0;
sdbcb2.ItemIndex := 0;
end;
result := True;
except
result := False;
end;
end;
{------------------------------------------------------
// 功能描述:取数据库某4个字段值放在4个ComBoBox中中
// 变量输入:Sdbset 为dataset;dsetname 表名 Sdbcb1,Sdbcb2,3,4为ComboBox
// 变量输出:
// 返回结果:True/False 是/否
-------------------------------------------------------}
Function c_getMid(Sdbset:TAdoDataset;field1,field2,field3,field4,dsetname:string;dtyname:string;Sdbcb1,Sdbcb2,Sdbcb3,Sdbcb4:TComboBox):Boolean;
var
ind : integer;
v:variant;
begin
try
with Sdbset do
begin
if Active then
Active := False;
CommandText := 'Select '+field1+','+field2+','+field3+','+field4+' from ' + dsetname + ' where ' + dtyname + ' = 1 ';
Active := True;
first;
Sdbcb1.Clear;
Sdbcb2.Clear;
Sdbcb3.Clear;
Sdbcb4.Clear;
ind := 0;
while not eof do
begin
sdbcb1.ItemIndex := ind;
sdbcb2.ItemIndex := ind;
sdbcb3.ItemIndex := ind;
sdbcb4.ItemIndex := ind;
Sdbcb1.Items.Add(Fieldbyname(field1).Value);
Sdbcb2.Items.Add(Fieldbyname(field2).Value);
Sdbcb3.Items.Add(Fieldbyname(field3).Value);
if Fieldbyname(field4).Value=null then
v:=100.0
else
v:=Fieldbyname(field4).Value;
Sdbcb4.Items.Add(v);
ind := ind + 1;
next;
end;
sdbcb1.ItemIndex := -1;
sdbcb2.ItemIndex := -1;
sdbcb3.ItemIndex := -1;
sdbcb4.ItemIndex := -1;
end;
result := True;
except
result := False;
end;
end;
{------------------------------------------------------
// 功能描述:提示框,警告框函数
// 变量输入:Handle 句柄,sMsg 消息内容,sType 消息形式
// 变量输出:
// 返回结果:True/False 是/否
-------------------------------------------------------}
Function MSG(sMsg:string;sType:string):Boolean;
var
iType : integer;
begin
iType:=0;
if UpperCase(sType) = 'W' then iType:=0;
if UpperCase(sType) = 'Q' then iType:=1;
if UpperCase(sType) = 'E' then iType:=0;
if UpperCase(sType) = 'I' then iType:=0;
with Application do
begin
if iType = 0 then
begin
if UpperCase(sType) = 'W' then
MessageBox(Pchar(sMsg),'警告信息', MB_ICONWARNING + MB_OK)
else if UpperCase(sType) = 'E' then
MessageBox(Pchar(sMsg),'错误信息',MB_ICONERROR + MB_OK)
else
MessageBox(Pchar(sMsg),'提示信息',MB_ICONINFORMATION + MB_OK);
Result := True;
end
else
begin
if MessageBox(Pchar(sMsg),'提示信息',MB_ICONQUESTION+MB_YesNo) = IDYES then
Result := True
else
Result := False;
end;
end;
end;
{----------------------------------------------
// 功能描述:判断字符串是否为整数
// 变量输入:sInput 输入字符串
// 变量输出:
// 返回结果:True/False 是/否
-----------------------------------------------}
function IfInt(sInput:string):Boolean;
var
iTemp:int64;
begin
Result := False;
if not TryStrToInt64(Trim(sInput),iTemp) then
begin
ShowMessage('输入内容不是整数');
end
else
begin
Result := True;
end;
end;
{-----------------------------------------------
// 功能描述:判断字符串是否为浮点数
// 变量输入:sInput 输入字符串
// 变量输出:
// 返回结果:True/False 是/否
------------------------------------------------}
function IfNum(sInput:string):Boolean;
var
fTemp : Double;
begin
Result := False;
if not TryStrToFloat(Trim(sInput),fTemp) then
begin
ShowMessage('输入内容不是数字');
end
else
begin
Result := True;
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -