📄 db_utl.pas
字号:
END;
END;
//调用系统设置文件 ===============================================================
FUNCTION UNSETREAD (UNNAME, ID :STRING):STRING;
VAR QDBCHECK : TQUERY;
BEGIN
TRY
QDBCHECK := TQUERY.Create(APPLICATION.Owner);
QDBCHECK.DatabaseName := 'MAIN';
QDBCHECK.SQL.Clear;
QDBCHECK.SQL.Add('SELECT * FROM SYSLST');
QDBCHECK.SQL.Add('WHERE LSTENO = '''+UNNAME+'''');
QDBCHECK.SQL.Add(' AND LSTITM = '''+ID +'''');
QDBCHECK.Close;
QDBCHECK.Open;
IF QDBCHECK.Eof = FALSE THEN RESULT := QDBCHECK.FieldByName('LSTNAM').AsString;
IF QDBCHECK.Eof = TRUE THEN RESULT := '';
FINALLY
QDBCHECK.Free;
END;
END;
FUNCTION UNSETWRITE(UNNAME, ID, NAMEVALUE :STRING):BOOLEAN;
VAR QDBCHECK : TQUERY;
BEGIN
TRY
QDBCHECK := TQUERY.Create(APPLICATION.Owner);
QDBCHECK.DatabaseName := 'MAIN';
QDBCHECK.SQL.Clear;
QDBCHECK.SQL.Add('SELECT * FROM SYSLST');
QDBCHECK.SQL.Add('WHERE LSTID1 = '''+UNNAME+'''');
QDBCHECK.SQL.Add(' AND LSTID2 = '''+ID +'''');
QDBCHECK.Close;
QDBCHECK.Open;
TRY
IF QDBCHECK.Eof = FALSE THEN
BEGIN //FOUND
QDBCHECK.SQL.Clear;
QDBCHECK.SQL.Add('UPDATE SYSLST');
QDBCHECK.SQL.Add('SET ');
QDBCHECK.SQL.Add('LSTNAM = '''+NAMEVALUE+'''');
QDBCHECK.SQL.Add('WHERE LSTID1 = '''+UNNAME+'''');
QDBCHECK.SQL.Add(' AND LSTID2 = '''+ID +'''');
QDBCHECK.ExecSQL;
END ELSE BEGIN // NOT FOUND
QDBCHECK.SQL.Clear;
QDBCHECK.SQL.Add('INSERT INTO SYSLST');
QDBCHECK.SQL.Add('( LSTID1, LSTID2, LSTNAM, LSTMRK )');
QDBCHECK.SQL.Add('VALUES ');
QDBCHECK.SQL.Add('('''+UNNAME +''',');
QDBCHECK.SQL.Add(' '''+ID +''',');
QDBCHECK.SQL.Add(' '''+NAMEVALUE+''',');
QDBCHECK.SQL.Add(' '''+ '' +''')');
QDBCHECK.ExecSQL;
END;
RESULT := TRUE;
EXCEPT
RESULT := FALSE;
END;
FINALLY
QDBCHECK.Free;
END;
END;
FUNCTION UNSETWRITEMRK(UNNAME, ID, NAMEVALUE, NAMEMARK :STRING):BOOLEAN;
VAR QDBCHECK : TQUERY;
BEGIN
TRY
QDBCHECK := TQUERY.Create(APPLICATION.Owner);
QDBCHECK.DatabaseName := 'MAIN';
QDBCHECK.SQL.Clear;
QDBCHECK.SQL.Add('SELECT * FROM SYSLST');
QDBCHECK.SQL.Add('WHERE LSTID1 = '''+UNNAME+'''');
QDBCHECK.SQL.Add(' AND LSTID2 = '''+ID +'''');
QDBCHECK.Close;
QDBCHECK.Open;
TRY
IF QDBCHECK.Eof = FALSE THEN
BEGIN //FOUND
QDBCHECK.SQL.Clear;
QDBCHECK.SQL.Add('UPDATE SYSLST');
QDBCHECK.SQL.Add('SET ');
QDBCHECK.SQL.Add('LSTNAM = '''+NAMEVALUE+''',');
QDBCHECK.SQL.Add('LSTMRK = '''+NAMEMARK +''' ');
QDBCHECK.SQL.Add('WHERE LSTID1 = '''+UNNAME+'''');
QDBCHECK.SQL.Add(' AND LSTID2 = '''+ID +'''');
QDBCHECK.ExecSQL;
END ELSE BEGIN // NOT FOUND
QDBCHECK.SQL.Clear;
QDBCHECK.SQL.Add('INSERT INTO SYSLST');
QDBCHECK.SQL.Add('( LSTID1, LSTID2, LSTNAM, LSTMRK )');
QDBCHECK.SQL.Add('VALUES ');
QDBCHECK.SQL.Add('('''+UNNAME +''',');
QDBCHECK.SQL.Add(' '''+ID +''',');
QDBCHECK.SQL.Add(' '''+NAMEVALUE+''',');
QDBCHECK.SQL.Add(' '''+NAMEMARK +''')');
QDBCHECK.ExecSQL;
END;
RESULT := TRUE;
EXCEPT
RESULT := FALSE;
END;
FINALLY
QDBCHECK.Free;
END;
END;
FUNCTION UNSETREADMRK (UNNAME, ID :STRING):STRING;
VAR QDBCHECK : TQUERY;
BEGIN
TRY
QDBCHECK := TQUERY.Create(APPLICATION.Owner);
QDBCHECK.DatabaseName := 'MAIN';
QDBCHECK.SQL.Clear;
QDBCHECK.SQL.Add('SELECT * FROM SYSLST');
QDBCHECK.SQL.Add('WHERE LSTID1 = '''+UNNAME+'''');
QDBCHECK.SQL.Add(' AND LSTID2 = '''+ID +'''');
QDBCHECK.Close;
QDBCHECK.Open;
IF QDBCHECK.Eof = FALSE THEN RESULT := QDBCHECK.FieldByName('LSTMRK').AsString;
IF QDBCHECK.Eof = TRUE THEN RESULT := '';
FINALLY
QDBCHECK.Free;
END;
END;
//调用系统设置文件 ===============================================================
//调用系统设置文件2 ==============================================================
FUNCTION UNSET_READ_SST (LSTENO :STRING):STRING;
VAR QDBCHECK : TQUERY;
BEGIN
TRY
QDBCHECK := TQUERY.Create(APPLICATION.Owner); QDBCHECK.DatabaseName := 'MAIN';
QDBCHECK.SQL.Clear;
QDBCHECK.SQL.Add('SELECT * FROM SYSSST');
QDBCHECK.SQL.Add('WHERE LSTENO = '''+LSTENO+'''');
QDBCHECK.Close;
QDBCHECK.Open;
IF QDBCHECK.Eof = FALSE THEN RESULT := QDBCHECK.FieldByName('LSTSTR').AsString;
IF QDBCHECK.Eof = TRUE THEN RESULT := '';
FINALLY
QDBCHECK.Free;
END;
END;
FUNCTION UNSET_READ_SIN (LSTENO :STRING):INTEGER;
VAR QDBCHECK : TQUERY;
BEGIN
TRY
QDBCHECK := TQUERY.Create(APPLICATION.Owner); QDBCHECK.DatabaseName := 'MAIN';
QDBCHECK.SQL.Clear;
QDBCHECK.SQL.Add('SELECT * FROM SYSSIN');
QDBCHECK.SQL.Add('WHERE LSTENO = '''+LSTENO+'''');
QDBCHECK.Close;
QDBCHECK.Open;
IF QDBCHECK.Eof = FALSE THEN RESULT := QDBCHECK.FieldByName('LSTINT').AsINTEGER;
IF QDBCHECK.Eof = TRUE THEN RESULT := -999999;
FINALLY
QDBCHECK.Free;
END;
END;
FUNCTION UNSET_READ_SBL (LSTENO :STRING):BOOLEAN;
VAR QDBCHECK : TQUERY;
BEGIN
TRY
QDBCHECK := TQUERY.Create(APPLICATION.Owner); QDBCHECK.DatabaseName := 'MAIN';
QDBCHECK.SQL.Clear;
QDBCHECK.SQL.Add('SELECT * FROM SYSSBL');
QDBCHECK.SQL.Add('WHERE LSTENO = '''+LSTENO+'''');
QDBCHECK.Close;
QDBCHECK.Open;
IF QDBCHECK.Eof = FALSE THEN RESULT := QDBCHECK.FieldByName('LSTBLN').AsBOOLEAN;
IF QDBCHECK.Eof = TRUE THEN RESULT := FALSE;
FINALLY
QDBCHECK.Free;
END;
END;
FUNCTION UNSET_READ_SME (LSTENO :STRING):STRING;
VAR QDBCHECK : TQUERY;
BEGIN
TRY
QDBCHECK := TQUERY.Create(APPLICATION.Owner); QDBCHECK.DatabaseName := 'MAIN';
QDBCHECK.SQL.Clear;
QDBCHECK.SQL.Add('SELECT * FROM SYSSME');
QDBCHECK.SQL.Add('WHERE LSTENO = '''+LSTENO+'''');
QDBCHECK.Close;
QDBCHECK.Open;
IF QDBCHECK.Eof = FALSE THEN RESULT := QDBCHECK.FieldByName('LSTMEM').AsString;
IF QDBCHECK.Eof = TRUE THEN RESULT := '';
FINALLY
QDBCHECK.Free;
END;
END;
FUNCTION UNSET_WRITE_SST (LSTENO :STRING; VALUE :STRING ):BOOLEAN;
VAR QDBCHECK : TQUERY;
BEGIN
TRY
QDBCHECK := TQUERY.Create(APPLICATION.Owner); QDBCHECK.DatabaseName := 'MAIN';
QDBCHECK.SQL.Clear;
QDBCHECK.SQL.Add('SELECT * FROM SYSSST');
QDBCHECK.SQL.Add('WHERE LSTENO = '''+LSTENO+'''');
QDBCHECK.Close;
QDBCHECK.Open;
TRY
IF QDBCHECK.Eof = FALSE THEN
BEGIN //FOUND
QDBCHECK.SQL.Clear;
QDBCHECK.SQL.Add('UPDATE SYSSST SET ');
QDBCHECK.SQL.Add('LSTSTR = '''+VALUE+'''');
QDBCHECK.SQL.Add('WHERE LSTENO = '''+LSTENO+'''');
QDBCHECK.ExecSQL;
END ELSE BEGIN // NOT FOUND
QDBCHECK.SQL.Clear;
QDBCHECK.SQL.Add('INSERT INTO SYSSST');
QDBCHECK.SQL.Add('( LSTENO, LSTSTR )');
QDBCHECK.SQL.Add('VALUES ');
QDBCHECK.SQL.Add('('''+LSTENO +''',');
QDBCHECK.SQL.Add(' '''+VALUE +''')');
QDBCHECK.ExecSQL;
END;
RESULT := TRUE;
EXCEPT
RESULT := FALSE;
END;
FINALLY
QDBCHECK.Free;
END;
END;
FUNCTION UNSET_WRITE_SIN (LSTENO :STRING; VALUE :INTEGER):BOOLEAN;
VAR QDBCHECK : TQUERY;
BEGIN
TRY
QDBCHECK := TQUERY.Create(APPLICATION.Owner); QDBCHECK.DatabaseName := 'MAIN';
QDBCHECK.SQL.Clear;
QDBCHECK.SQL.Add('SELECT * FROM SYSSIN');
QDBCHECK.SQL.Add('WHERE LSTENO = '''+LSTENO+'''');
QDBCHECK.Close;
QDBCHECK.Open;
TRY
IF QDBCHECK.Eof = FALSE THEN
BEGIN //FOUND
QDBCHECK.SQL.Clear;
QDBCHECK.SQL.Add('UPDATE SYSSIN SET ');
QDBCHECK.SQL.Add('LSTINT = '+INTTOSTR(VALUE)+'');
QDBCHECK.SQL.Add('WHERE LSTENO = '''+LSTENO+'''');
QDBCHECK.ExecSQL;
END ELSE BEGIN // NOT FOUND
QDBCHECK.SQL.Clear;
QDBCHECK.SQL.Add('INSERT INTO SYSSIN');
QDBCHECK.SQL.Add('( LSTENO, LSTINT )');
QDBCHECK.SQL.Add('VALUES ');
QDBCHECK.SQL.Add('('''+LSTENO +''',');
QDBCHECK.SQL.Add(' '+INTTOSTR(VALUE) +' )');
QDBCHECK.ExecSQL;
END;
RESULT := TRUE;
EXCEPT
RESULT := FALSE;
END;
FINALLY
QDBCHECK.Free;
END;
END;
FUNCTION UNSET_WRITE_SBL (LSTENO :STRING; VALUE :BOOLEAN):BOOLEAN;
VAR QDBCHECK : TQUERY;
BEGIN
TRY
QDBCHECK := TQUERY.Create(APPLICATION.Owner); QDBCHECK.DatabaseName := 'MAIN';
QDBCHECK.SQL.Clear;
QDBCHECK.SQL.Add('SELECT * FROM SYSSBL');
QDBCHECK.SQL.Add('WHERE LSTENO = '''+LSTENO+'''');
QDBCHECK.Close;
QDBCHECK.Open;
TRY
IF QDBCHECK.Eof = FALSE THEN
BEGIN //FOUND
QDBCHECK.SQL.Clear;
QDBCHECK.SQL.Add('UPDATE SYSSBL SET ');
QDBCHECK.SQL.Add('LSTBLN = '+BOOLEANTOSTR(VALUE)+'');
QDBCHECK.SQL.Add('WHERE LSTENO = '''+LSTENO+'''');
QDBCHECK.ExecSQL;
END ELSE BEGIN // NOT FOUND
QDBCHECK.SQL.Clear;
QDBCHECK.SQL.Add('INSERT INTO SYSSBL');
QDBCHECK.SQL.Add('( LSTENO, LSTBLN )');
QDBCHECK.SQL.Add('VALUES ');
QDBCHECK.SQL.Add('('''+LSTENO +''',');
QDBCHECK.SQL.Add(' '+BOOLEANTOSTR(VALUE) +')');
QDBCHECK.ExecSQL;
END;
RESULT := TRUE;
EXCEPT
RESULT := FALSE;
END;
FINALLY
QDBCHECK.Free;
END;
END;
FUNCTION UNSET_WRITE_SME (LSTENO :STRING; VALUE :STRING ):BOOLEAN;
VAR QDBCHECK : TQUERY;
BEGIN
TRY
QDBCHECK := TQUERY.Create(APPLICATION.Owner); QDBCHECK.DatabaseName := 'MAIN';
QDBCHECK.SQL.Clear;
QDBCHECK.SQL.Add('SELECT * FROM SYSSME');
QDBCHECK.SQL.Add('WHERE LSTENO = '''+LSTENO+'''');
QDBCHECK.Close;
QDBCHECK.Open;
TRY
IF QDBCHECK.Eof = FALSE THEN
BEGIN //FOUND
QDBCHECK.SQL.Clear;
QDBCHECK.SQL.Add('UPDATE SYSSME SET ');
QDBCHECK.SQL.Add('LSTMEM = '''+VALUE+'''');
QDBCHECK.SQL.Add('WHERE LSTENO = '''+LSTENO+'''');
QDBCHECK.ExecSQL;
END ELSE BEGIN // NOT FOUND
QDBCHECK.SQL.Clear;
QDBCHECK.SQL.Add('INSERT INTO SYSSME');
QDBCHECK.SQL.Add('( LSTENO, LSTMEM )');
QDBCHECK.SQL.Add('VALUES ');
QDBCHECK.SQL.Add('('''+LSTENO +''',');
QDBCHECK.SQL.Add(' '''+VALUE +''')');
QDBCHECK.ExecSQL;
END;
RESULT := TRUE;
EXCEPT
RESULT := FALSE;
END;
FINALLY
QDBCHECK.Free;
END;
END;
//调用系统设置文件2 ==============================================================
{
FUNCTION COMM_OPENPORT(T_PORT:STRING):BOOLEAN;
BEGIN
TRY
_BCP_DATA := '';
FM_DB_UTL.COMM1.CommName := TRIM(T_PORT);
IF TEST_OPEN_FILE(FM_DB_UTL.COMM1.CommName) = TRUE THEN FM_DB_UTL.COMM1.StartComm;
RESULT := TRUE;
EXCEPT
RESULT := FALSE;
SHOWMESSAGE('无法开启通讯连接端口, 请检查设定再重新进入程序!');
END;
END;
FUNCTION COMM_DATACLEAR:BOOLEAN;
BEGIN
_BCP_DATA := '';
RESULT := TRUE;
END;
FUNCTION COMM_CLOSEPORT:BOOLEAN;
BEGIN
TRY
FM_DB_UTL.COMM1.StopComm;
RESULT := TRUE;
EXCEPT
RESULT := FALSE;
SHOWMESSAGE('无法关闭通讯连接端口, 请检查设定再重新进入程序!');
END;
END;
procedure TFM_DB_UTL.Comm1ReceiveData(Sender: TObject; Buffer: Pointer; BufferLength: Word);
BEGIN
_BCP_DATA := _BCP_DATA + PCHAR(BUFFER);
//BCP_LIGHT.Visible := TRUE;
//IF BCP_LIGHT.Brush.Color <> CLBLUE THEN BCP_LIGHT.Brush.Color := CLBLUE ELSE BCP_LIGHT.Brush.Color := CLRED ;
IF POS(#26,_BCP_DATA) >= 1 THEN
SHOWMESSAGE('传输完成!'+#10#13+'下次传输时, 请先清除数据,请勿连续传两次!');
END;
}
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -