📄 otkind.pas
字号:
unit otkind;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Grids, DBGrids, ExtCtrls, DBCtrls, ComCtrls, ToolWin, ImgList, Db, ADODB,
StdCtrls, Mask, Menus;
type
Tformotkind = class(TForm)
ImageList2: TImageList;
ToolBar2: TToolBar;
ToolButton8: TToolButton;
ToolButton6: TToolButton;
ToolButton7: TToolButton;
tbnsort: TToolButton;
tbnfind: TToolButton;
ToolButton9: TToolButton;
ToolButton10: TToolButton;
DBNavigator1: TDBNavigator;
DBGrid1: TDBGrid;
Panel1: TPanel;
Splitter1: TSplitter;
Label1: TLabel;
DBEdit1: TDBEdit;
Label2: TLabel;
DBEdit2: TDBEdit;
Label3: TLabel;
DBEdit3: TDBEdit;
Label4: TLabel;
DBEdit4: TDBEdit;
Label5: TLabel;
DBEdit5: TDBEdit;
Label6: TLabel;
DBEdit6: TDBEdit;
DBCheckBox1: TDBCheckBox;
DBEdit7: TDBEdit;
DBEdit8: TDBEdit;
DBEdit9: TDBEdit;
DBCheckBox2: TDBCheckBox;
DBEdit10: TDBEdit;
DBEdit11: TDBEdit;
DBEdit12: TDBEdit;
DBCheckBox3: TDBCheckBox;
DBEdit13: TDBEdit;
DBEdit14: TDBEdit;
DBEdit15: TDBEdit;
DBCheckBox4: TDBCheckBox;
DBEdit16: TDBEdit;
DBEdit17: TDBEdit;
DBEdit18: TDBEdit;
DBCheckBox5: TDBCheckBox;
DBEdit19: TDBEdit;
Label19: TLabel;
Label7: TLabel;
Label8: TLabel;
Label9: TLabel;
Label10: TLabel;
Label11: TLabel;
Label12: TLabel;
Label13: TLabel;
Label14: TLabel;
Label15: TLabel;
Label16: TLabel;
Label17: TLabel;
Label18: TLabel;
PopupMenu1: TPopupMenu;
N1: TMenuItem;
N2: TMenuItem;
N4: TMenuItem;
N3: TMenuItem;
DBText1: TDBText;
DBText2: TDBText;
Label20: TLabel;
procedure FormCreate(Sender: TObject);
procedure ToolButton10Click(Sender: TObject);
procedure tbnfindClick(Sender: TObject);
procedure DBGrid1TitleClick(Column: TColumn);
procedure FormKeyPress(Sender: TObject; var Key: Char);
procedure DBNavigator1BeforeAction(Sender: TObject;
Button: TNavigateBtn);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure tbnsortClick(Sender: TObject);
procedure N1Click(Sender: TObject);
procedure N2Click(Sender: TObject);
procedure N4Click(Sender: TObject);
procedure N3Click(Sender: TObject);
procedure DBGrid1KeyPress(Sender: TObject; var Key: Char);
procedure FormKeyUp(Sender: TObject; var Key: Word;
Shift: TShiftState);
private
{ Private declarations }
manyfield:boolean;
findex:array[1..5] of integer;
fsort:array[1..5] of string;
fcount:0..5;
f:string; //排序的字段
public
{ Public declarations }
procedure formchangelan;
end;
var
formotkind: Tformotkind;
implementation
uses datamol,publicfunction,cvcode,main, canfind;
{$R *.DFM}
procedure Tformotkind.FormCreate(Sender: TObject);
begin
datamod.adootkind.open;
formchangelan;
end;
procedure Tformotkind.ToolButton10Click(Sender: TObject);
begin
close;
end;
procedure Tformotkind.tbnfindClick(Sender: TObject);
begin
// if assigned(formcanfind) then formcanfind.close;
// findrecorder(datamod.adootkind,'adootkind','atd02010');
end;
procedure Tformotkind.DBGrid1TitleClick(Column: TColumn);
begin
if f='DESC' then
f:='ASC'
else
f:='DESC';
datamod.ADOotkind.Sort :=column.FieldName+' '+f;
end;
procedure Tformotkind.FormKeyPress(Sender: TObject; var Key: Char);
begin
if activecontrol=dbgrid1 then
exit;
if key=#13 then
begin
key:=#0;
selectnext(activecontrol,true,true);
end;
end;
procedure Tformotkind.DBNavigator1BeforeAction(Sender: TObject;
Button: TNavigateBtn);
var i:integer;
dbx:Tdbcheckbox;
begin
case button of
nbinsert,
nbedit :begin
for i:=1 to 5 do
begin
dbx:=Tdbcheckbox(findcomponent('DBcheckBox'+inttostr(i)));
with dbx do
begin
dbx.checked:=false;
end;
end;
dbedit1.SetFocus;
end;
end;
end;
procedure Tformotkind.FormClose(Sender: TObject; var Action: TCloseAction);
begin
datamod.adootkind.close;
end;
procedure Tformotkind.tbnsortClick(Sender: TObject);
var i:1..5;
begin
if manyfield then
begin
manyfield:=false;
tbnsort.hint:='设定多字段排序';
popupmenu1.Items[0].Enabled :=false;
popupmenu1.Items[1].Enabled :=false;
popupmenu1.Items[2].Enabled :=false;
popupmenu1.Items[3].Enabled :=false;
end
else begin
manyfield:=true;
tbnsort.hint:='取消多字段排序'; //说明现在dbgrid1正处于多字段排序中
f:='';
popupmenu1.Items[0].Enabled :=true;
popupmenu1.Items[1].Enabled :=true;
popupmenu1.Items[2].Enabled :=true;
popupmenu1.Items[3].Enabled :=true;
fcount:=0;
for i:=1 to 5 do
begin
findex[i]:=0;
fsort[i]:='';
end;
end;
end;
procedure Tformotkind.N1Click(Sender: TObject);
var i:integer;
begin
for i:=1 to fcount do
if dbgrid1.SelectedIndex =findex[i] then
begin
fsort[i]:='ASC';
exit;
end;
if fcount<5 then
begin
fcount:=fcount+1;
findex[fcount]:=dbgrid1.selectedindex;
fsort[fcount]:='ASC';
dbgrid1.Columns[dbgrid1.selectedindex].Color :=clgray;
end;
end;
procedure Tformotkind.N2Click(Sender: TObject);
var i:integer;
begin
for i:=1 to fcount do
if dbgrid1.SelectedIndex =findex[i] then
begin
fsort[i]:='DESC';
exit;
end;
if fcount<5 then
begin
fcount:=fcount+1;
findex[fcount]:=dbgrid1.selectedindex;
fsort[fcount]:='DESC';
dbgrid1.Columns[dbgrid1.selectedindex].Color :=clgray;
end;
end;
procedure Tformotkind.N4Click(Sender: TObject);
var i:1..5;
begin
datamod.ADOotkind.Sort:='';
for i:=1 to fcount do
begin
if dbgrid1.Columns[findex[i]].Color=clgray then
begin
datamod.ADOotkind.Sort :=datamod.ADOotkind.Sort+dbgrid1.Columns[findex[i]].FieldName+' '+fsort[i];
if i<fcount then datamod.ADOotkind.Sort:=datamod.ADOotkind.Sort+',';
end;
end;
end;
procedure Tformotkind.N3Click(Sender: TObject);
var i:1..5;
begin
for i:=1 to fcount do
dbgrid1.Columns[findex[i]].Color :=clwindow;
fcount:=0;
end;
procedure Tformotkind.DBGrid1KeyPress(Sender: TObject; var Key: Char);
begin
dbgrid_keypress(dbgrid1,key);
end;
procedure Tformotkind.formchangelan;
var i,j:integer;
begin
if language='Chinese_GB' then
begin
Caption:=BIG5toGB(Caption);
Font.Charset:=GB2312_CHARSET;
for i:=0 to ComponentCount-1 do
begin
if components[i].ClassType=TToolBar then
begin
TToolBar(components[i]).Font.Charset:=GB2312_CHARSET;
for j:=0 to TToolBar(components[i]).ButtonCount-1 do
begin
TToolBar(components[i]).Buttons[j].Caption:=BIG5toGB(TToolBar(components[i]).Buttons[j].Caption);
TToolBar(components[i]).Buttons[j].Hint:=BIG5toGB(TToolBar(components[i]).Buttons[j].Hint);
end;
end;
if components[i].ClassType=TTabSheet then
begin
TTabSheet(components[i]).Font.Charset:=GB2312_CHARSET;
TTabSheet(components[i]).Caption:=BIG5toGB(TTabSheet(components[i]).Caption);
TTabSheet(components[i]).Hint:=BIG5toGB(TTabSheet(components[i]).Hint);
end;
if components[i].ClassType=TButton then
begin
TButton(components[i]).Font.Charset:=GB2312_CHARSET;
TButton(Components[i]).Caption:=BIG5toGB(TButton(Components[i]).Caption);
TButton(Components[i]).Hint:=BIG5toGB(TButton(Components[i]).Hint);
end;
if components[i].ClassType=TRadioButton then
begin
TRadioButton(components[i]).Font.Charset:=GB2312_CHARSET;
TRadioButton(components[i]).Caption:=BIG5toGB(TRadioButton(Components[i]).Caption);
TRadioButton(components[i]).Hint:=BIG5toGB(TRadioButton(Components[i]).Hint);
end;
if components[i].ClassType=TLabel then
begin
TLabel(components[i]).Font.Charset:=GB2312_CHARSET;
TLabel(components[i]).Caption:=BIG5toGB(TLabel(Components[i]).Caption);
TLabel(components[i]).Hint:=BIG5toGB(TLabel(Components[i]).Hint);
end;
if components[i].ClassType=TStaticText then
begin
TStaticText(components[i]).Font.Charset:=GB2312_CHARSET;
TStaticText(Components[i]).Caption:=BIG5toGB(TStaticText(components[i]).Caption);
TStaticText(Components[i]).Hint:=BIG5toGB(TStaticText(components[i]).Hint);
end;
if components[i].ClassType=TGroupBox then
begin
TGroupBox(components[i]).Font.Charset:=GB2312_CHARSET;
TGroupBox(components[i]).Caption:=BIG5toGB(TGroupBox(Components[i]).Caption);
TGroupBox(components[i]).Hint:=BIG5toGB(TGroupBox(Components[i]).Hint);
end;
if components[i].ClassType=TRadioGroup then
begin
TRadioGroup(components[i]).Font.Charset:=GB2312_CHARSET;
TRadioGroup(components[i]).Caption:=BIG5toGB(TRadioGroup(components[i]).Caption);
TRadioGroup(components[i]).Hint:=BIG5toGB(TRadioGroup(components[i]).Hint);
for j:=0 to TRadioGroup(components[i]).Items.Count-1 do
TRadioGroup(components[i]).Items.Strings[j]:=BIG5toGB(TRadioGroup(components[i]).Items.Strings[j]);
end;
if components[i].ClassType=TCheckBox then
begin
TCheckBox(components[i]).Font.Charset:=GB2312_CHARSET;
TCheckBox(components[i]).Caption:=BIG5toGB(TCheckBox(Components[i]).Caption);
TCheckBox(components[i]).Hint:=BIG5toGB(TCheckBox(Components[i]).Hint);
end;
if components[i].ClassType=TCombobox then
begin
TCombobox(components[i]).Font.Charset:=GB2312_CHARSET;
TCombobox(components[i]).Hint:=BIG5toGB(TCombobox(components[i]).Hint);
for j:=0 to TCombobox(components[i]).Items.Count-1 do
TCombobox(components[i]).Items.Strings[j]:=BIG5toGB(TCombobox(components[i]).Items.Strings[j]);
end;
if components[i].ClassType=TDBCombobox then
begin
TDBCombobox(components[i]).Font.Charset:=GB2312_CHARSET;
TDBCombobox(components[i]).Hint:=BIG5toGB(TDBCombobox(components[i]).Hint);
for j:=0 to TDBCombobox(components[i]).Items.Count-1 do
TDBCombobox(components[i]).Items.Strings[j]:=BIG5toGB(TDBCombobox(components[i]).Items.Strings[j]);
end;
if components[i].ClassType=TPanel then
begin
TPanel(components[i]).Font.Charset:=GB2312_CHARSET;
TPanel(components[i]).Caption:=BIG5toGB(TPanel(components[i]).Caption);
TPanel(components[i]).Hint:=BIG5toGB(TPanel(components[i]).Hint);
end;
if components[i].ClassType=TDBCheckBox then
begin
TDBCheckBox(components[i]).Font.Charset:=GB2312_CHARSET;
TDBCheckBox(components[i]).Caption:=BIG5toGB(TDBCheckBox(Components[i]).Caption);
TDBCheckBox(components[i]).Hint:=BIG5toGB(TDBCheckBox(Components[i]).Hint);
end;
if components[i].ClassType=TDBNavigator then
begin
for j:=0 to TDBNavigator(components[i]).Hints.Count-1 do
TDBNavigator(components[i]).Hints[j]:=BIG5toGB(TDBNavigator(Components[i]).Hints[j]);
end;
if Components[i].ClassType=TDBGrid then
begin
TDBGrid(components[i]).Hint:=BIG5toGB(TDBGrid(components[i]).Hint);
for j:=0 to TDBGrid(components[i]).Columns.Count-1 do
TDBGrid(components[i]).Columns[j].Title.Caption:=BIG5toGB(TDBGrid(components[i]).Columns[j].Title.Caption);
end;
end; //for
end; //if
end;
procedure Tformotkind.FormKeyUp(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if key=VK_F1 then
begin
//showmessage('ok!')
//MessageDlg(Key + ' has been pressed', mtInformation, [mbOK], 0);
Application.HelpFile :=Extractfilepath(application.ExeName)+ 'help\pasahelp.hlp';
application.HelpJump('SHM_CONTENTS0053');
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -