utermedit.pas
来自「一.录入学生信息(预计有81个学生」· PAS 代码 · 共 144 行
PAS
144 行
unit uTermEdit;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, DB, ADODB;
type
TfrmTermEdit = class(TForm)
Panel1: TPanel;
cmdEnsure: TButton;
cmdCancel: TButton;
Label1: TLabel;
Label2: TLabel;
EditCode: TEdit;
EditName: TEdit;
dsQuery: TADODataSet;
Label3: TLabel;
Function ReadyData():Boolean;
Function SaveData():Boolean;
procedure cmdCancelClick(Sender: TObject);
procedure FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure FormCreate(Sender: TObject);
procedure cmdEnsureClick(Sender: TObject);
procedure EditCodeKeyPress(Sender: TObject; var Key: Char);
private
SelID:Integer;
IsCancel:Boolean;
{ Private declarations }
public
{ Public declarations }
end;
Function ShowTermEdit(SelID:Integer):Boolean;
implementation
uses uDM,uPub;
{$R *.dfm}
Function ShowTermEdit(SelID:Integer):Boolean;
var
frmTermEdit: TfrmTermEdit;
begin
Result:=False;
frmTermEdit:=TfrmTermEdit.Create(nil);
frmTermEdit.SelID:=SelID;
if Not frmTermEdit.ReadyData then
begin
frmTermEdit.Free;
Exit;
end;
frmTermEdit.ShowModal;
Result:=Not frmTermEdit.IsCancel;
frmTermEdit.Free;
end;
Function TfrmTermEdit.ReadyData():Boolean;
var TmpSQL:String;
begin
Result:=False;
TmpSQL:='Select * from TTerm Where ID='+IntToStr(SelID);
dsQuery.Close;
dsQuery.CommandText:=TmpSQL;
Try
dsQuery.Open;
Except
ShowMessage('读取本地数据文件发生错误!');
Exit;
end;
if Not dsQuery.IsEmpty then
begin
dsQuery.Edit;
EditCode.Text:=dsQuery.fieldByName('TermCode').AsString;
EditName.Text:=dsQuery.fieldByName('TermName').AsString;
end
else
begin
dsQuery.Append;
dsQuery.Edit;
end;
Result:=True;
end;
Function TfrmTermEdit.SaveData():Boolean;
begin
Result:=False;
if EditCode.Text='' then
begin
ShowMessage('学期编号尚未输入!');
EditCode.SetFocus;
Exit;
end;
if EditName.Text='' then
begin
ShowMessage('学期名称尚未输入!');
EditName.SetFocus;
Exit;
end;
dsQuery.FieldByName('TermCode').AsString:=EditCode.Text;
dsQuery.FieldByName('TermName').AsString:=EditName.Text;
Try
dsQuery.Post;
Except
ShowMessage('存储数据发生错误,可能您输入的学期编号已经被使用!');
Exit;
End;
Result:=True;
end;
procedure TfrmTermEdit.cmdCancelClick(Sender: TObject);
begin
Close;
end;
procedure TfrmTermEdit.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
nextfocus(self.ActiveControl,Key,Shift);
end;
procedure TfrmTermEdit.FormCreate(Sender: TObject);
begin
IsCancel:=True;
end;
procedure TfrmTermEdit.cmdEnsureClick(Sender: TObject);
begin
if Not SaveData then Exit;
IsCancel:=False;
Close;
end;
procedure TfrmTermEdit.EditCodeKeyPress(Sender: TObject; var Key: Char);
begin
if Not (Key in ['0'..'9',#8]) then Key:=#0;
end;
end.
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?