?? constunt.pas
字號(hào):
if Trim(Fields[0].AsString) <> '' then
Result.Add(Fields[0].AsString);
Next;
end;
Close;
finally
Free;
end;
end;
function TLogonInf.GetHwggLst: TStringList;
begin
Result := TStringList.Create;
with TADOQuery.Create(nil) do
try
Connection := FdbCkgl;
Prepared;
Close;
SQL.Clear;
SQL.Add('select gg from rk group by gg');
Open;
while not Eof do
begin
if Trim(Fields[0].AsString) <> '' then
Result.Add(Fields[0].AsString);
Next;
end;
Close;
finally
Free;
end;
end;
function TLogonInf.GetYsfsLst: TStringList;
const
cYsfs: array[0..3] of string = ('汽車', '火車', '飛機(jī)', '輪船');
var
I: Byte;
begin
Result := TStringList.Create;
with TADOQuery.Create(nil) do
try
Connection := FdbCkgl;
Prepared;
Close;
SQL.Clear;
SQL.Add('select yxfs from ck group by yxfs');
Open;
while not Eof do
begin
if Trim(Fields[0].AsString) <> '' then
Result.Add(Fields[0].AsString);
Next;
end;
Close;
for I := 0 to Length(cYsfs) - 1 do
if Result.IndexOf(cYsfs[I]) = -1 then
Result.Add(cYsfs[I]);
finally
Free;
end;
end;
function TLogonInf.GetShdzLst: TStringList;
begin
Result := TStringList.Create;
with TADOQuery.Create(nil) do
try
Connection := FdbJbda;
Prepared;
Close;
SQL.Clear;
SQL.Add('select dz from kh');
Open;
while not Eof do
begin
if Trim(Fields[0].AsString) <> '' then
Result.Add(Fields[0].AsString);
Next;
end;
Close;
Connection := FdbCkgl;
SQL.Clear;
SQL.Add('select shdz from ck group by shdz');
Open;
while not Eof do
begin
if Result.IndexOf(Fields[0].AsString) = - 1 then
Result.Add(Fields[0].AsString);
Next;
end;
Close;
finally
Free;
end;
end;
function TLogonInf.GetJhrmLst: TStringList;
begin
Result := TStringList.Create;
with TADOQuery.Create(nil) do
try
Connection := FdbCkgl;
Close;
SQL.Clear;
SQL.Add('select jhr from jc group by jhr');
Open;
while not Eof do
begin
Result.Add(Fields[0].AsString);
Next;
end;
Close;
finally
Free;
end;
end;
function TLogonInf.GetAllRecord(const TabName,
FieldName: ShortString): TStringList;
begin
Result := TStringList.Create;
with TADOQuery.Create(nil) do
try
Connection := FdbJbda;
Prepared;
Close;
SQL.Clear;
SQL.Add('select %s from %s');
SQL.Text := Format(SQL.Text, [FieldName, TabName]);
Open;
while not Eof do
begin
if Trim(Fields[0].AsString) <> '' then
Result.Add(Fields[0].AsString);
Next;
end;
Close;
finally
Free;
end;
end;
function TLogonInf.GetTabEnNameLst: TStringList;
var
I: Byte;
begin
Result := TStringList.Create;
Result.Clear;
for I := 0 to Length(CkEnTab) - 1 do
Result.Add(CkEnTab[I]);
end;
function TLogonInf.GetTabCnNameLst: TStringList;
var
I: Byte;
begin
Result := TStringList.Create;
Result.Clear;
for I := 0 to Length(CkCnTab) - 1 do
Result.Add(CkCnTab[I]);
end;
function TLogonInf.GetFieldCnNameLst: TStringList;
var
I: Byte;
begin
Result := TStringList.Create;
Result.Clear;
FFieldTypeLst := TStringList.Create;
FFieldTypeLst.Clear;
with TADOQuery.Create(nil) do
try
Connection := FdbCkgl;
Close;
SQL.Clear;
SQL.Add('select * from ' + CkEnTab[FTabNameIndex]
+ ' where bh = -1');
Open;
for I := 0 to FieldCount - 1 do
begin
Result.Add(GetCnFieldName(Fields[I].FieldName));
case Fields[I].DataType of
ftString, ftMemo, ftFixedChar, ftWideString, ftFmtMemo:
if Fields[I].FieldName = CkEnTab[FTabNameIndex] + 'rq' then
FFieldTypeLst.Add('date')
else
FFieldTypeLst.Add('string');
ftBoolean:
FFieldTypeLst.Add('boolean');
else
FFieldTypeLst.Add('int');
end;
end;
Close;
finally
Free;
end;
end;
procedure TLogonInf.SetTabNameIndex(Value: Integer);
begin
FTabNameIndex := Value;
end;
procedure TLogonInf.SetFieldNameIndex(Value: Integer);
begin
FFieldNameIndex := Value;
end;
procedure TLogonInf.SetOpratorIndex(Value: Integer);
begin
FOpratorIndex := Value;
end;
procedure TLogonInf.SetLinkIndex(Value: Integer);
begin
FLinkIndex := Value;
end;
function TLogonInf.GetCnFieldName(const EnFieldName: ShortString)
: ShortString;
var
I: Word;
begin
Result := EnFieldName;
for I := 0 to Length(En_FieldName) - 1 do
if EnFieldName = En_FieldName[I] then
Result := Cn_FieldName[I];
end;
function TLogonInf.GetOpratorCnLst: TStringList;
var
I: Byte;
begin
Result := TStringList.Create;
Result.Clear;
for I := 0 to Length(Cn_Oprator) - 1 do
Result.Add(Cn_Oprator[I]);
end;
function TLogonInf.GetLinkCnLst: TStringList;
var
I: Byte;
begin
Result := TStringList.Create;
Result.Clear;
for I := 0 to Length(Cn_Link) - 1 do
Result.Add(Cn_Link[I]);
end;
function TLogonInf.GetChangePwd: Boolean;
begin
Result := True;
with TADOQuery.Create(nil) do
try
Connection := FdbJbda;
Connection.BeginTrans;
Close;
SQL.Clear;
if FNewPassWord = '' then
FNewPassWord := 'null'
else
FNewPassWord := #39 + FNewPassWord + #39;
SQL.Add('update czy set mm = ' + FNewPassWord
+ ' where name = ''' + FUserName + #39);
try
ExecSQL;
Connection.CommitTrans;
except
Result := False;
Connection.RollbackTrans;
end;
finally
Free;
end;
end;
procedure TLogonInf.SetNewPassWord(Value: ShortString);
begin
FNewPassWord := Value;
end;
function TLogonInf.GetNextPzh(const TabName, VDate: ShortString)
: ShortString;
begin
with TADOQuery.Create(nil) do
try
Connection := FdbCkgl;
Close;
SQL.Clear;
SQL.Add('select count(bh) from %s where %s = ''%s''');
SQL.Text := Format(SQL.Text, [TabName, TabName + 'rq', VDate]);
Open;
Result := Format('%s%4.4d', [FormatDateTime(GDateFormat,
StrToDate(VDate)), Fields[0].AsInteger]);
Close;
finally
Free;
end;
end;
function TLogonInf.UpdateLog(const Content: string): Boolean;
begin
Result := True;
with TADOQuery.Create(nil) do
try
Connection := FdbCkgl;
Close;
Close;
SQL.Clear;
SQL.Add('insert into log ([logdate], [content], [username]) '
+ 'values ('''
+ DateToStr(Now) + ''', '''
+ Content + ''', ''' + FUserName + ''')');
try
ExecSQL;
except
Result := False;
end;
Close;
finally
Free;
end;
end;
function TLogonInf.UpdateKc(const Ck, Hwlb, Hwgg, Hwdw, Hwcd: string;
const Hwsl, Dj: Double): Boolean;
begin
Result := True;
with TADOQuery.Create(nil) do
try
Connection := FdbCkgl;
Close;
Close;
SQL.Clear;
if Dj = 0 then
SQL.Add('select ck, hwlb, hwgg, hwdw, hwsl, dj, hwcd from kc '
+ 'where hwlb = ''' + Hwlb + ''' and hwgg = '''
+ Hwgg + ''' and ck = ''' + Ck + #39)
else
SQL.Add('select ck, hwlb, hwgg, hwdw, hwsl, dj, hwcd from kc '
+ 'where hwlb = ''' + Hwlb + ''' and hwgg = '''
+ Hwgg + ''' and ck = ''' + Ck + ''' and dj = '
+ CurrToStr(Dj) + ' and hwcd = ''' + Hwcd + #39);
Open;
if RecordCount = 0 then
begin
Append;
Fields[0].AsString := Ck;
Fields[1].AsString := Hwlb;
Fields[2].AsString := Hwgg;
Fields[3].AsString := Hwdw;
Fields[4].Value := Hwsl;
Fields[5].Value := Dj;
Fields[6].AsString := Hwcd;
end
else
begin
Edit;
Fields[4].AsInteger := Fields[4].Value + Hwsl;
end;
try
Post;
except
Result := False;
end;
Close;
finally
Free;
end;
end;
function TLogonInf.Sjbf(const TargetDir: ShortString): Boolean;
var
ExistsFileName: string;
begin
Result := True;
with TIniFile.Create(WorkPath + 'infor.ini') do
try
try
ExistsFileName := ReadString('Normal', 'DBJbdaConnection', '');
CopyFile(PChar(ExistsFileName), PChar(TargetDir
+ ExtractFileName(ExistsFileName)), True);
ExistsFileName := ReadString('Normal', 'DBCkglConnection', '');
CopyFile(PChar(ExistsFileName), PChar(TargetDir
+ ExtractFileName(ExistsFileName)), True);
except
Result := False;
end;
finally
Free;
end;
end;
function TLogonInf.Sjhf(const FileNames: TStringList): Boolean;
var
ExistsFileName: string;
begin
Result := False;
if FileNames.Count <> 2 then
Exit;
FdbJbda.Connected := False;
FdbCkgl.Connected := False;
with TIniFile.Create(WorkPath + 'infor.ini') do
try
ExistsFileName := ReadString('Normal', 'DBJbdaConnection', '');
CopyFile(PChar(FileNames.Strings[0]),
PChar(ExtractFilePath(ExistsFileName)
+ ExtractFileName(FileNames.Strings[0])), False);
CopyFile(PChar(FileNames.Strings[1]),
PChar(ExtractFilePath(ExistsFileName)
+ ExtractFileName(FileNames.Strings[1])), False);
finally
Free;
end;
Result := True;
end;
procedure TLogonInf.Ckpd(const PdBeginTime, PdEndTime: string);
begin
with TADOQuery.Create(nil) do
try
Connection := FdbCkgl;
Close; //, , kcsl
SQL.Clear;
SQL.Add('insert into pd (pdbrq, pderq, hplb, cd, gg, pdck, '
+ 'pky, czy, jldw) select ''%s'', ''%s'', rk.hplb, rk.cd, '
+ 'rk.gg, rk.cfck, '
// + 'iif(sum(ck.ckze - rk.rkze)=null,0,sum(ck.ckze - rk.rkze)) '
+ 'sum(ck.ckze - rk.rkze) / 2, ''%s'', rk.jldw '
+ 'from rk, ck '
+ 'where rk.rkrq >= ''%s'' and rk.rkrq <= ''%s'' '
+ 'group by rk.hplb, rk.cd, rk.gg, rk.cfck, ck.chck, rk.jldw'
);
//,
SQL.Text := Format(SQL.Text,
[PdBeginTime, PdEndTime, LogonInf.UserName,
PdBeginTime, PdEndTime]);
//MessageBox(0, PChar(SQL.Text), MsgI, Msg1IBTN);
//Exit;
ExecSQL;
finally
Free;
end;
end;
procedure TLogonInf.DeletePdData(const TableName: string);
begin
with TADOQuery.Create(nil) do
try
Connection := FdbCkgl;
Close;
SQL.Clear;
SQL.Add('delete from %s');
SQL.Text := Format(SQL.Text, [TableName]);
ExecSQL;
Close;
finally
Free;
end;
end;
function TLogonInf.GetEnFieldName(const CnFieldName: string): string;
var
I: Word;
begin
Result := CnFieldName;
for I := 0 to Length(Cn_FieldName) - 1 do
if CnFieldName = Cn_FieldName[I] then
Result := En_FieldName[I];
end;
end.
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -