⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 jlookupd.pas

📁 DELPHI编写的商场收银POS机源代码
💻 PAS
📖 第 1 页 / 共 2 页
字号:
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 + -