usubjectedit.~pas
来自「一.录入学生信息(预计有81个学生」· ~PAS 代码 · 共 139 行
~PAS
139 行
unit uSubjectEdit;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DB, ADODB, StdCtrls, ExtCtrls;
type
TfrmSubjectEdit = class(TForm)
Label1: TLabel;
Label2: TLabel;
Panel1: TPanel;
cmdEnsure: TButton;
cmdCancel: TButton;
EditCode: TEdit;
EditName: TEdit;
dsQuery: TADODataSet;
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);
private
SelID:Integer;
IsCancel:Boolean;
{ Private declarations }
public
{ Public declarations }
end;
Function ShowSubjectEdit(SelID:Integer):Boolean;
implementation
uses uPub,uDM;
{$R *.dfm}
Function ShowSubjectEdit(SelID:Integer):Boolean;
var
frmSubjectEdit: TfrmSubjectEdit;
begin
Result:=False;
frmSubjectEdit:=TfrmSubjectEdit.Create(nil);
frmSubjectEdit.SelID:=SelID;
if Not frmSubjectEdit.ReadyData then
begin
frmSubjectEdit.Free;
Exit;
end;
frmSubjectEdit.ShowModal;
Result:=Not frmSubjectEdit.IsCancel;
frmSubjectEdit.Free;
end;
Function TfrmSubjectEdit.ReadyData():Boolean;
var TmpSQL:String;
begin
Result:=False;
TmpSQL:='Select * from TSubject 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('SubjCode').AsString;
EditName.Text:=dsQuery.fieldByName('SubjName').AsString;
end
else
begin
dsQuery.Append;
dsQuery.Edit;
end;
Result:=True;
end;
Function TfrmSubjectEdit.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('SubjCode').AsString:=EditCode.Text;
dsQuery.FieldByName('SubjName').AsString:=EditName.Text;
Try
dsQuery.Post;
Except
ShowMessage('存储数据发生错误,可能您输入的科目编号已经被使用!');
Exit;
End;
Result:=True;
end;
procedure TfrmSubjectEdit.cmdCancelClick(Sender: TObject);
begin
Close;
end;
procedure TfrmSubjectEdit.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
nextfocus(self.ActiveControl,Key,Shift);
end;
procedure TfrmSubjectEdit.FormCreate(Sender: TObject);
begin
IsCancel:=True;
end;
procedure TfrmSubjectEdit.cmdEnsureClick(Sender: TObject);
begin
if Not SaveData then Exit;
IsCancel:=False;
Close;
end;
end.
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?