📄 xq.~pa
字号:
unit XQ;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ComCtrls, ToolWin, ImgList, ExtCtrls, StdCtrls, DB, ADODB;
type
TXQForm = class(TForm)
ImageList1 : TImageList;
CoolBar1 : TCoolBar;
ToolBar1 : TToolBar;
ToolButton1 : TToolButton;
ToolButton2 : TToolButton;
ToolButton3 : TToolButton;
ToolButton6 : TToolButton;
ToolButton5 : TToolButton;
Splitter1 : TSplitter;
Panel1 : TPanel;
StatusBar1 : TStatusBar;
Edit1 : TLabeledEdit;
Label1 : TLabel;
DateTimePicker1 : TDateTimePicker;
Label2 : TLabel;
Edit2 : TEdit;
ToolButton4 : TToolButton;
ToolButton7 : TToolButton;
GroupBox1 : TGroupBox;
ListBox1 : TListBox;
procedure ToolButton1Click(Sender : TObject);
procedure FormShow(Sender : TObject);
procedure ToolButton3Click(Sender : TObject);
procedure ToolButton5Click(Sender : TObject);
procedure ToolButton2Click(Sender : TObject);
procedure ListBox1Click(Sender : TObject);
procedure Edit2Change(Sender : TObject);
procedure Edit2KeyPress(Sender : TObject; var Key : Char);
procedure ToolButton4Click(Sender : TObject);
private
{ Private declarations }
public
row : integer;
procedure ClearForm();
function InsertTeach() : boolean;
procedure updateTeach();
procedure loadXQ();
procedure delete();
end;
var
XQForm : TXQForm;
implementation
uses datamodule;
{$R *.dfm}
procedure TXQForm.delete();
var
query : Tadoquery;
sql : string;
i : integer;
begin
query := Tadoquery.Create(self);
query.Connection := dmfm.ADOConnection;
sql := 'delete TXQ where fname=''' + listbox1.Items[listbox1.itemindex] + '''';
query.close;
query.sql.text := sql;
query.ExecSQL;
query.Destroy;
end;
procedure TXQForm.loadXQ();
var
query : Tadoquery;
sql : string;
i : integer;
begin
query := Tadoquery.Create(self);
query.Connection := dmfm.ADOConnection;
sql := 'select fname from TXQ order by Fname';
query.close;
query.sql.text := sql;
query.open;
i := 0;
listbox1.Items.clear;
while not query.Eof do
begin
listbox1.Items.add(trim(query.Fields[0].AsString));
query.next;
i := i + 1;
end;
query.Destroy;
end;
procedure TXQForm.updateTeach();
var
query : Tadoquery;
sql : string;
begin
if listbox1.itemindex = -1 then exit;
if edit1.text = '' then
begin
messagebox(handle, '学期名称不能为空', '提示', mb_iconwarning);
exit;
end;
query := Tadoquery.Create(self);
query.Connection := dmfm.ADOConnection;
sql := format('update Txq set Fname=''%s'',FbeginDate=''%s'',FZS=%s' +
' where Fname=''%s'' ',
[edit1.text, datetostr(datetimepicker1.date), edit2.text, listbox1.items[listbox1.itemindex]]);
query.close;
query.sql.text := sql;
query.ExecSQL;
query.Destroy;
end;
function TXQForm.InsertTeach() : boolean;
var
query : Tadoquery;
sql : string;
begin
if edit1.text = '' then
begin
messagebox(handle, '姓名不能为空', '提示', mb_iconwarning);
result := false;
exit;
end;
query := Tadoquery.Create(self);
query.Connection := dmfm.ADOConnection;
sql := format('insert TXQ(Fname,FbeginDate,FZS) values(''%s'',''%s'',%s) ',
[edit1.text, datetostr(datetimepicker1.date), edit2.text]);
query.close;
query.sql.text := sql;
query.ExecSQL;
query.Destroy;
result := true;
end;
procedure TXQForm.ClearForm();
begin
edit1.Clear;
edit2.Clear;
datetimepicker1.DateTime := now;
end;
procedure TXQForm.ToolButton1Click(Sender : TObject);
begin
ClearForm;
edit1.SetFocus;
toolbutton2.Enabled := false;
toolbutton3.Enabled := true;
end;
procedure TXQForm.FormShow(Sender : TObject);
begin
toolbutton1.Enabled := true;
toolbutton2.Enabled := false;
toolbutton3.Enabled := false;
loadXQ();
row := 0;
end;
procedure TXQForm.ToolButton3Click(Sender : TObject);
begin
if not toolbutton2.Enabled then
begin
if not InsertTeach() then exit;
clearform;
edit1.SetFocus;
end
else
updateTeach();
loadXQ;
end;
procedure TXQForm.ToolButton5Click(Sender : TObject);
begin
close;
end;
procedure TXQForm.ToolButton2Click(Sender : TObject);
begin
if listbox1.ItemIndex = -1 then exit;
if messagebox(handle, '是否要删除选中的学期吗?', '警告', mb_iconwarning + mb_yesno) = idno then exit;
delete();
loadXQ();
end;
procedure TXQForm.ListBox1Click(Sender : TObject);
var
query : Tadoquery;
sql : string;
begin
if listbox1.ItemIndex = -1 then exit;
toolbutton2.Enabled := true;
toolbutton3.Enabled := true;
query := Tadoquery.Create(self);
query.Connection := dmfm.ADOConnection;
sql := format('select Fname,FBeginDate,FZS from Txq where Fname=''%s''', [listbox1.items[listbox1.itemindex]]);
query.close;
query.SQL.text := sql;
query.open;
if query.IsEmpty then exit;
edit1.text := Trim(query.Fields[0].AsString);
datetimepicker1.Date := query.Fields[1].Value;
edit2.text := Trim(query.Fields[2].AsString);
query.Destroy;
end;
procedure TXQForm.Edit2Change(Sender : TObject);
begin
if edit2.Text = '' then edit2.text := '1';
end;
procedure TXQForm.Edit2KeyPress(Sender : TObject; var Key : Char);
begin
if not (key in ['0'..'9', #8]) then key := #0;
end;
procedure TXQForm.ToolButton4Click(Sender : TObject);
var
query : Tadoquery;
sql : string;
begin
if listbox1.ItemIndex = -1 then exit;
query := Tadoquery.Create(self);
query.Connection := dmfm.ADOConnection;
sql := 'delete TconF where fvar=''CURRPERIOD'' ';
sql := sql + format(' insert TCONF(fvar,fvalue,fnote) values(''%s'',''%s'',''%s'')', ['CURRPERIOD', listbox1.items[listbox1.itemindex], '当前学期']);
query.close;
query.sql.text := sql;
query.ExecSQL;
messagebox(handle, pchar('【 ' + listbox1.items[listbox1.itemindex] + ' 】已被设置为当前学期!'), '提示', mb_iconinformation);
query.Destroy;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -