uguadeedit.pas
来自「一.录入学生信息(预计有81个学生」· PAS 代码 · 共 142 行
PAS
142 行
unit uGuadeEdit;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, DB, ADODB, ExtCtrls;
type
TfrmGuadeEdit = class(TForm)
Panel1: TPanel;
cmdEnsure: TButton;
cmdCancel: TButton;
dsQuery: TADODataSet;
Label1: TLabel;
Label2: TLabel;
EditCode: TEdit;
EditName: TEdit;
Label3: TLabel;
EditScore: TEdit;
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 EditScoreKeyPress(Sender: TObject; var Key: Char);
private
SelID:Integer;
IsCancel:Boolean;
{ Private declarations }
public
{ Public declarations }
end;
Function ShowGuadeEdit(SelID:Integer):Boolean;
implementation
uses uDM,uPub;
{$R *.dfm}
Function ShowGuadeEdit(SelID:Integer):Boolean;
var
frmGuadeEdit: TfrmGuadeEdit;
begin
Result:=False;
frmGuadeEdit:=TfrmGuadeEdit.Create(nil);
frmGuadeEdit.SelID:=SelID;
if Not frmGuadeEdit.ReadyData then
begin
frmGuadeEdit.Free;
Exit;
end;
frmGuadeEdit.ShowModal;
Result:=Not frmGuadeEdit.IsCancel;
frmGuadeEdit.Free;
end;
Function TfrmGuadeEdit.ReadyData():Boolean;
var TmpSQL:String;
begin
Result:=False;
TmpSQL:='Select TGrade.*,TSubject.SubjName from TGrade,TSubject Where'+
' TGrade.SubjectCode=TSubject.SubjCode And '+
' TGrade.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('SubjectCode').AsString;
EditName.Text:=dsQuery.fieldByName('SubjName').AsString;
EditScore.Text:=dsQuery.fieldByName('Score').AsString;
end
else
begin
dsQuery.Append;
dsQuery.Edit;
end;
Result:=True;
end;
Function TfrmGuadeEdit.SaveData():Boolean;
begin
Result:=False;
if EditScore.Text='' then
begin
ShowMessage('评优分数尚未输入!');
EditScore.SetFocus;
Exit;
end;
dsQuery.FieldByName('Score').AsString:=EditScore.Text;
Try
dsQuery.Post;
Except
ShowMessage('存储数据发生错误!');
Exit;
End;
Result:=True;
end;
procedure TfrmGuadeEdit.cmdCancelClick(Sender: TObject);
begin
Close;
end;
procedure TfrmGuadeEdit.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
nextfocus(self.ActiveControl,Key,Shift);
end;
procedure TfrmGuadeEdit.FormCreate(Sender: TObject);
begin
IsCancel:=True;
end;
procedure TfrmGuadeEdit.cmdEnsureClick(Sender: TObject);
begin
if Not SaveData then Exit;
IsCancel:=False;
Close;
end;
procedure TfrmGuadeEdit.EditScoreKeyPress(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 + -
显示快捷键?