📄 u_getsubject.pas
字号:
unit U_GetSubject;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, Buttons, ExtCtrls, Db, DBTables, HGrids, HDBGrids;
type
TFm_GetSubject = class(TForm)
Btn_Ok: TButton;
Btn_Cancel: TButton;
Bevel1: TBevel;
MGrid: THDBGrid;
MQuery: TQuery;
MDS: TDataSource;
MQueryS_KCDHAO: TStringField;
MQueryS_KCMCHENG: TStringField;
MQueryS_KCXHAO: TStringField;
MQuerySI_KCLXING: TSmallintField;
MUpSQL: TUpdateSQL;
procedure FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure QueryGetText(Sender: TField; var Text: String; DisplayText: Boolean);
procedure QuerySetText(Sender: TField; const Text: string);
private
public
end;
function Show_GetSubject(var pCode, pName: string; pGrade: integer): Boolean;
implementation
uses U_GlobalVar, U_GlobalProc;
{$R *.DFM}
function Show_GetSubject(var pCode, pName: string; pGrade: integer): Boolean;
var
Fm_GetSubject: TFm_GetSubject;
aQuery: TQuery;
begin
Result := False;
Fm_GetSubject := TFm_GetSubject.Create(Application);
aQuery := TQuery.Create(Application);
aQuery.DatabaseName := DataDBase;
aQuery.SQL.Text := 'SELECT * FROM xqkskc WHERE s_xqhao = ''' + pCode +
''' AND si_nji=' + IntToStr(pGrade);
with Fm_GetSubject do
try
try
MQuery.Open;
aQuery.Open;
while not aQuery.Eof do
begin
if MQuery.Locate('s_kcdhao', aQuery.FieldByName('s_kcdhao').AsString,
[]) then
MQuery.Delete;
aQuery.Next;
end;
if MQuery.IsEmpty then
Btn_Ok.Enabled := False;
finally
aQuery.Close;
aQuery.Free;
end;
RefreshGridColumns(MGrid, 'KC', QueryGetText, QuerySetText);
RefreshGridStyle(MGrid);
if ShowModal = mrOk then
begin
pCode := MQuery.FieldByName('s_kcdhao').AsString;
pName := MQuery.FieldByName('s_kcmcheng').AsString;
Result := True;
end;
finally
MQuery.Close;
Free;
end;
end;
procedure TFm_GetSubject.FormKeyDown(Sender: TObject;
var Key: Word; Shift: TShiftState);
begin
if (Key = VK_ESCAPE) and (Shift = []) then
ModalResult := mrCancel;
end;
procedure TFm_GetSubject.QueryGetText(Sender: TField;
var Text: String; DisplayText: Boolean);
begin
DataSetGetText(MGrid, Sender, Text, DisplayText);
end;
procedure TFm_GetSubject.QuerySetText(Sender: TField;
const Text: string);
begin
DataSetSetText(MGrid, Sender, Text);
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -