📄 uhintsfrm.pas
字号:
unit uHintsfrm;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, StdCtrls, Mask, RzEdit,uIHintInf,uBasefrm,
ComCtrls, RzDTP, RzBtnEdt, ABSMain, ActnList, TBXDkPanels, SpTBXDkPanels,
RzPanel, TB2Dock, TB2ToolWindow, TBX, uFunction;
type
TfrmHint = class(TBaseForm)
Panel1: TPanel;
Image1: TImage;
Label1: TLabel;
Open1: TOpenDialog;
TBXToolWindow1: TTBXToolWindow;
edName: TRzEdit;
GBCircle: TRzGroupBox;
SpTBXRadioButton1: TSpTBXRadioButton;
SpTBXRadioButton2: TSpTBXRadioButton;
SpTBXRadioButton3: TSpTBXRadioButton;
SpTBXRadioButton4: TSpTBXRadioButton;
SpTBXRadioButton5: TSpTBXRadioButton;
GBType: TRzGroupBox;
SpTBXRadioButton6: TSpTBXRadioButton;
SpTBXRadioButton7: TSpTBXRadioButton;
Label4: TLabel;
edText: TRzButtonEdit;
Label2: TLabel;
RzDate: TRzDateTimeEdit;
Label3: TLabel;
RzTime: TRzDateTimeEdit;
TBXButton1: TTBXButton;
TBXButton2: TTBXButton;
ActionList1: TActionList;
Action1: TAction;
Action2: TAction;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure SpTBXRadioButton6Click(Sender: TObject);
procedure SpTBXRadioButton7Click(Sender: TObject);
procedure edTextButtonClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure TBXButton1Click(Sender: TObject);
procedure TBXButton2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
procedure InsData(AType:cmdType;AID:integer);
end;
implementation
uses uSECData, uMain;
{$R *.dfm}
procedure TfrmHint.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action:=cafree;
end;
procedure TfrmHint.InsData(AType:cmdType;AID:integer);
var
FQuery:TABSQuery;
i,idx:integer;
begin
idx:=-1;
FQuery:=TABSQuery.Create(nil);
try
FQuery.DatabaseName:=SECData.ABSDatabase1.DatabaseName;
if AType=cdAdd then
begin
mainfrm.TheOprList.NewTaskData;
mainfrm.TheOprList.TaskData:=mainfrm.TheOprList.TaskData;
FQuery.SQL.Text:='insert into Hints(ID,Name,Type,Circle,Text,Date,Time,TypeDesc,CircleDesc)'+#13+
'values(:ID,:Name,:Type,:Circle,:Text,:Date,:Time,:TypeDesc,:CircleDesc)';
FQuery.ParamByName('ID').AsInteger:=mainfrm.OprList.GetMaxID('Hints');
mainfrm.TheOprList.TaskData^.ID:=FQuery.ParamByName('ID').AsInteger;
end
else if AType=cdEdit then
begin
for i:=0 to mainfrm.TheOprList.TaskList.Count-1 do
begin
if PTaskData(mainfrm.TheOprList.TaskList.Items[i])^.ID=AID then
begin
mainfrm.TheOprList.TaskData:=mainfrm.TheOprList.TaskList.Items[i];
idx:=i;
break;
end;
end;
FQuery.SQL.Text:='update Hints'+#13+
'set Name=:Name,'+#13+
' Type=:Type,'+#13+
' Circle=:Circle,'+#13+
' Text=:Text,'+#13+
' Date=:Date,'+#13+
' Time=:Time,'+#13+
' TypeDesc=:TypeDesc,'+#13+
' CircleDesc=:CircleDesc,'+#13+
' Runned=0'+#13+
'where ID=:ID';
FQuery.ParamByName('ID').AsInteger:=AID;
end;
FQuery.ParamByName('Name').AsString:=edName.Text;
mainfrm.TheOprList.TaskData^.Caption:=edName.Text;
for i:=0 to GBType.ControlCount-1 do
if TSpTBXRadioButton(GBType.Controls[i]).Checked then
begin
FQuery.ParamByName('Type').AsInteger:=GBType.Controls[i].Tag;
mainfrm.TheOprList.TaskData^.AType:=GBType.Controls[i].Tag;
mainfrm.TheOprList.TaskData^.TypeDesc:=TSpTBXRadioButton(GBType.Controls[i]).Caption;
FQuery.ParamByName('TypeDesc').AsString:=TSpTBXRadioButton(GBType.Controls[i]).Caption;
break;
end;
for i:=0 to GBCircle.ControlCount-1 do
if TSpTBXRadioButton(GBCircle.Controls[i]).Checked then
begin
FQuery.ParamByName('Circle').AsInteger:=GBCircle.Controls[i].Tag;
mainfrm.TheOprList.TaskData^.Circle:=GBCircle.Controls[i].Tag;
mainfrm.TheOprList.TaskData^.CircleDesc:=TSpTBXRadioButton(GBCircle.Controls[i]).Caption;
FQuery.ParamByName('CircleDesc').AsString:=TSpTBXRadioButton(GBCircle.Controls[i]).Caption;
break;
end;
mainfrm.TheOprList.TaskData^.Runned:=0;
FQuery.ParamByName('Text').AsString:=edText.Text;
mainfrm.TheOprList.TaskData^.Text:=edText.Text;
FQuery.ParamByName('Date').AsDate:=RzDate.Date;
mainfrm.TheOprList.TaskData^.Date:=RzDate.Date;
FQuery.ParamByName('Time').AsTime:=RzTime.Time;
mainfrm.TheOprList.TaskData^.Time:=RzTime.Time;
FQuery.ExecSQL;
if AType=cdAdd then
mainfrm.TheOprList.TaskList.Add(mainfrm.TheOprList.TaskData)
else if AType=cdEdit then
mainfrm.TheOprList.TaskList.Items[idx]:=mainfrm.TheOprList.TaskData;
finally
FQuery.Free;
end;
end;
procedure TfrmHint.SpTBXRadioButton6Click(Sender: TObject);
begin
edText.ButtonVisible:=false;
end;
procedure TfrmHint.SpTBXRadioButton7Click(Sender: TObject);
begin
edText.ButtonVisible:=true;
end;
procedure TfrmHint.edTextButtonClick(Sender: TObject);
begin
if open1.Execute then
edText.Text:=open1.FileName;
end;
procedure TfrmHint.FormShow(Sender: TObject);
var
i:integer;
begin
Image1.Picture.Bitmap.Handle:=GetBmp('105');
if TheCmd=cdEdit then
begin
edName.Text:=PTaskData(Data)^.Caption;
edText.Text:=PTaskData(Data)^.Text;
for i:=0 to GBCircle.ControlCount-1 do
if TSpTBXRadioButton(GBCircle.Controls[i]).Tag=PTaskData(Data)^.Circle then
begin
TSpTBXRadioButton(GBCircle.Controls[i]).Checked:=true;
break;
end;
for i:=0 to GBType.ControlCount-1 do
if TSpTBXRadioButton(GBType.Controls[i]).Tag=PTaskData(Data)^.AType then
begin
TSpTBXRadioButton(GBType.Controls[i]).Checked:=true;
break;
end;
RzDate.Date:=PTaskData(Data)^.Date;
RzTime.Time:=PTaskData(Data)^.Time;
ID:=PTaskData(Data)^.ID;
end;
end;
procedure TfrmHint.TBXButton1Click(Sender: TObject);
begin
if trim(edName.Text)='' then
begin
MessageBox(Handle, '必须键入名称。', '错误', MB_ICONHAND);
exit;
end;
if trim(edText.Text)='' then
begin
MessageBox(Handle, '必须键入内容。', '错误', MB_ICONHAND);
exit;
end;
if trim(RzDate.Text)='' then
begin
MessageBox(Handle, '必须键入起始日期。', '错误', MB_ICONHAND);
exit;
end;
if trim(RzTime.Text)='' then
begin
MessageBox(Handle, '必须键入起始时间。', '错误', MB_ICONHAND);
exit;
end;
InsData(TheCmd,ID);
ModalResult:=mrOk;
end;
procedure TfrmHint.TBXButton2Click(Sender: TObject);
begin
ModalResult:=mrCancel;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -