?? 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 + -