📄 jlookupd.pas
字号:
END;
procedure JDBLOOKUPBOX.DoExit;
BEGIN
// 结束 MESSAGE 窗口
IF (FSHOW_MESSAGE = TRUE) THEN
BEGIN
FMLOOKUPM.Left := SCREEN.Width +1000;
FMLOOKUPM.Top := SCREEN.Height +1000;
END;
REFRESH_EDIT;
IF FIND_QUERY_IDNO(TEXT) = '' THEN
BEGIN
DataSource.DataSet.Edit;
DataSource.DataSet.FieldByName(DataField).AsString := '';
END;
inherited;
END;
FUNCTION JDBLOOKUPBOX.FIND_QUERY_IDNO(T_STR:STRING):STRING;
BEGIN
RESULT := '';
//空字符串不做任何操作
// IF TRIM(T_STR) = '' THEN EXIT;
T_DATASOURCE.DataSet := T_QCHECK;
T_QCHECK.DatabaseName := _DatabaseName;
TRY
T_QCHECK.SQL.CLEAR;
T_QCHECK.SQL.Add('SELECT '+_Field_IDNO+','+_Field_NAME);
T_QCHECK.SQL.Add('FROM '+_TableNAME);
T_QCHECK.SQL.Add('WHERE '+_Field_IDNO+' = '''+T_STR+'''');
IF TRIM(_Field_KEY1) <> '' THEN T_QCHECK.SQL.Add('AND '+_Field_KEY1+' = '''+_Field_KEY2+'''');
T_QCHECK.Close;
T_QCHECK.Open;
EXCEPT
// SHOWMESSAGE('数据库无法打开, 数据源可能设置错误!');
END;
IF T_QCHECK.Eof = FALSE THEN RESULT := T_QCHECK.FieldByName(_Field_NAME).AsString
ELSE RESULT := '';
END;
FUNCTION JDBLOOKUPBOX.FIND_QUERY_NAME(T_STR:STRING):STRING;
BEGIN
RESULT := '';
T_DATASOURCE.DataSet := T_QCHECK;
T_QCHECK.DatabaseName := _DatabaseName;
TRY
T_QCHECK.SQL.CLEAR;
T_QCHECK.SQL.Add('SELECT '+_Field_IDNO+','+_Field_NAME);
T_QCHECK.SQL.Add('FROM '+_TableNAME);
T_QCHECK.SQL.Add('WHERE '+_Field_NAME+' = '''+T_STR+'''');
IF TRIM(_Field_KEY1) <> '' THEN T_QCHECK.SQL.Add('AND '+_Field_KEY1+' = '''+_Field_KEY2+'''');
T_QCHECK.Close;
T_QCHECK.Open;
EXCEPT
// SHOWMESSAGE('数据库无法打开, 数据源可能设置错误!');
END;
IF T_QCHECK.Eof = FALSE THEN RESULT := T_QCHECK.FieldByName(_Field_IDNO).AsString
ELSE RESULT := '';
END;
FUNCTION JDBLOOKUPBOX.FIND_QUERY_MARK(T_STR:STRING):STRING;
BEGIN
RESULT := '';
T_DATASOURCE.DataSet := T_QCHECK;
T_QCHECK.DatabaseName := _DatabaseName;
TRY
T_QCHECK.SQL.CLEAR;
T_QCHECK.SQL.Add('SELECT '+_Field_IDNO+','+_Field_NAME+','+_Field_MARK);
T_QCHECK.SQL.Add('FROM '+_TableNAME);
T_QCHECK.SQL.Add('WHERE '+_Field_MARK+' = '''+T_STR+'''');
IF TRIM(_Field_KEY1) <> '' THEN T_QCHECK.SQL.Add('AND '+_Field_KEY1+' = '''+_Field_KEY2+'''');
T_QCHECK.Close;
T_QCHECK.Open;
EXCEPT
// SHOWMESSAGE('数据库无法打开, 数据源可能设置错误!');
END;
IF T_QCHECK.Eof = FALSE THEN RESULT := T_QCHECK.FieldByName(_Field_IDNO).AsString
ELSE RESULT := '';
END;
FUNCTION JDBLOOKUPBOX.FIND_GRID_IDNO(T_STR:STRING):BOOLEAN;
BEGIN
RESULT := FALSE;
TRY
T_DATASOURCE.DataSet := T_QCHECK;
T_QCHECK.DatabaseName := _DatabaseName;
T_QCHECK.SQL.CLEAR;
T_QCHECK.SQL.Add('SELECT '+_Field_IDNO+','+_Field_NAME);
T_QCHECK.SQL.Add('FROM '+_TableNAME);
T_QCHECK.SQL.Add('WHERE '+_Field_IDNO+' LIKE ''%'+T_STR+'%''');
IF TRIM(_Field_KEY1) <> '' THEN T_QCHECK.SQL.Add('AND '+_Field_KEY1+' = '''+_Field_KEY2+'''');
T_QCHECK.SQL.Add('ORDER BY '+_Field_IDNO+','+_Field_NAME);
T_QCHECK.Close;
T_QCHECK.Open;
EXCEPT
// SHOWMESSAGE('数据库无法打开, 数据源可能设置错误!');
END;
IF T_QCHECK.Eof = FALSE THEN RESULT := TRUE
ELSE RESULT := FALSE;
END;
FUNCTION JDBLOOKUPBOX.FIND_GRID_NAME(T_STR:STRING):BOOLEAN;
BEGIN
RESULT := FALSE;
TRY
T_DATASOURCE.DataSet := T_QCHECK;
T_QCHECK.DatabaseName := _DatabaseName;
T_QCHECK.SQL.CLEAR;
T_QCHECK.SQL.Add('SELECT '+_Field_IDNO+','+_Field_NAME);
T_QCHECK.SQL.Add('FROM '+_TableNAME);
T_QCHECK.SQL.Add('WHERE '+_Field_NAME+' LIKE ''%'+T_STR+'%''');
IF TRIM(_Field_KEY1) <> '' THEN T_QCHECK.SQL.Add('AND '+_Field_KEY1+' = '''+_Field_KEY2+'''');
T_QCHECK.SQL.Add('ORDER BY '+_Field_IDNO+','+_Field_NAME);
T_QCHECK.Close;
T_QCHECK.Open;
EXCEPT
// SHOWMESSAGE('数据库无法打开, 数据源可能设置错误!');
END;
IF T_QCHECK.Eof = FALSE THEN RESULT := TRUE
ELSE RESULT := FALSE;
END;
FUNCTION JDBLOOKUPBOX.FIND_GRID_MARK(T_STR:STRING):BOOLEAN;
BEGIN
RESULT := FALSE;
TRY
T_DATASOURCE.DataSet := T_QCHECK;
T_QCHECK.DatabaseName := _DatabaseName;
T_QCHECK.SQL.CLEAR;
T_QCHECK.SQL.Add('SELECT '+_Field_IDNO+','+_Field_NAME+','+_Field_MARK);
T_QCHECK.SQL.Add('FROM '+_TableNAME);
T_QCHECK.SQL.Add('WHERE '+_Field_MARK+' LIKE ''%'+T_STR+'%''');
IF TRIM(_Field_KEY1) <> '' THEN T_QCHECK.SQL.Add('AND '+_Field_KEY1+' = '''+_Field_KEY2+'''');
T_QCHECK.SQL.Add('ORDER BY '+_Field_MARK+','+_Field_NAME);
T_QCHECK.Close;
T_QCHECK.Open;
EXCEPT
// SHOWMESSAGE('数据库无法打开, 数据源可能设置错误!');
END;
IF T_QCHECK.Eof = FALSE THEN RESULT := TRUE
ELSE RESULT := FALSE;
END;
FUNCTION JDBLOOKUPBOX.CALL_FMLOOKUP_IDNO:STRING;
BEGIN
IF Application.FindComponent('FMLOOKUP')=nil then Application.CreateForm(TFMLOOKUP, FMLOOKUP );
FMLOOKUP.Left := SCREEN.Width - FMLOOKUP.Width;
FMLOOKUP.Q_DatabaseName := _DatabaseName;
FMLOOKUP.Q_TableNAME := _TableNAME;
FMLOOKUP.Q_IDNO := _Field_IDNO;
FMLOOKUP.Q_NAME := _Field_NAME;
FMLOOKUP.Q_KEY1 := _Field_KEY1;
FMLOOKUP.Q_KEY2 := _Field_KEY2;
FMLOOKUP.ED_IDNO.TEXT := TEXT;
FMLOOKUP.ED_NAME.TEXT := TEXT;
FMLOOKUP.FIND_QUERY_IDNO(FMLOOKUP.ED_IDNO.TEXT);
FMLOOKUP.DBGRID1.Visible := TRUE;
FMLOOKUP.SHOWMODAL;
DataSource.DataSet.Edit;
TEXT := FMLOOKUP.Q_RETURN_IDNO;
RESULT := TEXT;
END;
FUNCTION JDBLOOKUPBOX.CALL_FMLOOKUP_NAME:STRING;
BEGIN
IF Application.FindComponent('FMLOOKUP')=nil then Application.CreateForm(TFMLOOKUP, FMLOOKUP );
FMLOOKUP.Left := SCREEN.Width - FMLOOKUP.Width;
FMLOOKUP.Q_DatabaseName := _DatabaseName;
FMLOOKUP.Q_TableNAME := _TableNAME;
FMLOOKUP.Q_IDNO := _Field_IDNO;
FMLOOKUP.Q_NAME := _Field_NAME;
FMLOOKUP.Q_KEY1 := _Field_KEY1;
FMLOOKUP.Q_KEY2 := _Field_KEY2;
FMLOOKUP.ED_IDNO.TEXT := TEXT;
FMLOOKUP.ED_NAME.TEXT := TEXT;
FMLOOKUP.FIND_QUERY_NAME(FMLOOKUP.ED_NAME.TEXT);
FMLOOKUP.DBGRID1.Visible := TRUE;
FMLOOKUP.SHOWMODAL;
DataSource.DataSet.Edit;
TEXT := FMLOOKUP.Q_RETURN_IDNO;
RESULT := TEXT;
END;
FUNCTION JDBLOOKUPBOX.CALL_FMLOOKUP_MARK:STRING;
BEGIN
IF Application.FindComponent('FMLOOKUP')=nil then Application.CreateForm(TFMLOOKUP, FMLOOKUP );
FMLOOKUP.Left := SCREEN.Width - FMLOOKUP.Width;
FMLOOKUP.Q_DatabaseName := _DatabaseName;
FMLOOKUP.Q_TableNAME := _TableNAME;
FMLOOKUP.Q_IDNO := _Field_IDNO;
FMLOOKUP.Q_NAME := _Field_NAME;
FMLOOKUP.Q_MARK := _Field_MARK;
FMLOOKUP.Q_KEY1 := _Field_KEY1;
FMLOOKUP.Q_KEY2 := _Field_KEY2;
FMLOOKUP.ED_IDNO.TEXT := TEXT;
FMLOOKUP.ED_NAME.TEXT := TEXT;
FMLOOKUP.ED_MARK.TEXT := TEXT;
FMLOOKUP.FIND_QUERY_MARK(FMLOOKUP.ED_MARK.TEXT);
FMLOOKUP.DBGRID2.Visible := TRUE;
FMLOOKUP.SHOWMODAL;
DataSource.DataSet.Edit;
TEXT := FMLOOKUP.Q_RETURN_IDNO;
RESULT := TEXT;
END;
FUNCTION JDBLOOKUPBOX.LABEL_CALL_FMLOOKUP_IDNO:STRING;
BEGIN
IF Application.FindComponent('FMLOOKUP')=nil then Application.CreateForm(TFMLOOKUP, FMLOOKUP );
FMLOOKUP.Left := SCREEN.Width - FMLOOKUP.Width;
FMLOOKUP.Q_DatabaseName := _DatabaseName;
FMLOOKUP.Q_TableNAME := _TableNAME;
FMLOOKUP.Q_IDNO := _Field_IDNO;
FMLOOKUP.Q_NAME := _Field_NAME;
FMLOOKUP.Q_KEY1 := _Field_KEY1;
FMLOOKUP.Q_KEY2 := _Field_KEY2;
FMLOOKUP.ED_IDNO.TEXT := TEXT;
FMLOOKUP.ED_NAME.TEXT := TEXT;
FMLOOKUP.FOCUS_QUERY_IDNO(FMLOOKUP.ED_IDNO.TEXT);
FMLOOKUP.DBGRID1.Visible := TRUE;
FMLOOKUP.SHOWMODAL;
DataSource.DataSet.Edit;
TEXT := FMLOOKUP.Q_RETURN_IDNO;
RESULT := TEXT;
END;
// LABEL ===============================================================
procedure JDBLOOKUPBOX.T_LABELCLICK(SENDER:TOBJECT);
BEGIN
// IF (_Field_MARK = '') THEN LABEL_CALL_FMLOOKUP_IDNO;
SetFocus;
LABEL_CALL_FMLOOKUP_IDNO;
IF FIND_GRID_IDNO(TEXT) = FALSE THEN SetFocus; //找不到
END;
PROCEDURE JDBLOOKUPBOX.REFRESH_EDIT;
BEGIN
// Height := FCLOSE_HEIGHT;
T_LABEL.Ctl3D := FALSE;
T_LABEL.Font := FONT;
T_LABEL.Font.Size := FONT.Size;
T_LABEL.Font.Color := CLBLUE;
T_LABEL.Color := $00FFF5EC;
T_LABEL.Top := 0;
T_LABEL.Height := Height;
T_LABEL.Left := _EDIT_WIDTH;
T_LABEL.Width := WIDTH - T_LABEL.Left;
END;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -