📄 unit_public.pas
字号:
OutFileName := Copy(OutFileName,pos('\',OutFileName)+1,Length(OutFileName));
end;
try
AssignFile(Output,OutFileName);
Rewrite(Output);
Writeln(ReportTitle);
Writeln('');
If ObjectSource is TStringGrid Then
For RowNumber:=0 To TStringGrid(ObjectSource).RowCount-1 Do
begin
For ColNumber:=0 To TStringGrid(ObjectSource).ColCount-1 Do
begin
Write(TStringGrid(ObjectSource).Cells[ColNumber,RowNumber]+' ');
end;
WriteLn(' ');
end;
If ObjectSource Is TDBGrid Then
Begin
//将DBGrid列标题名写入Excel文件中}
For ColNumber:=0 To TDBGrid(ObjectSource).Columns.Count-1 Do
begin
write(TDBGrid(ObjectSource).Columns.Items[ColNumber].Title.Caption+' ');
{将DBGrid中的记录写入Excel文件中}
end;
Writeln(' ');
If Not ((TDBGrid(ObjectSource).DataSource.DataSet.Eof) And (TDBGrid(ObjectSource).DataSource.DataSet.Bof)) Then
Begin
TDBGrid(ObjectSource).DataSource.DataSet.First;
While Not TDBGrid(ObjectSource).DataSource.DataSet.Eof Do
Begin
For ColNumber:=0 To TDBGrid(ObjectSource).Columns.Count-1 Do
write(TDBGrid(ObjectSource).DataSource.DataSet.FieldByName(TDBGrid(ObjectSource).Columns.Items[ColNumber].FieldName).AsString+' ');
writeln(' ');
RowNumber:=RowNumber+1;
TDBGrid(ObjectSource).DataSource.DataSet.Next;
End;
End;
End;
CloseFile(Output);
Msg := '数据导出成功,存放在' + xlsFileName;
Application.MessageBox(Pchar(Msg), '提示', MB_ICONINFORMATION);
Result := True;
except
Msg := '不能正确操作Txt文件。可能是该文件已被其他程序打开, 或系统错误。';
Application.MessageBox(Pchar(Msg), '提示', MB_ICONINFORMATION);
Result:=False;
end;
ExcelSaveDialog.free;
end;
end;
end;
Function GF_ConnectDB( PS_ConnectUserName : String ) : TDatabase ;
//------------------------------------------------------------------------
//设计时间 : 2002.1.22
//初始设计者 : 曾忠诚
//模块名称 : 数据库连接名称
//模块功能 : 根据数局的用户名称得到连接当前数据库用户的database
//输入 : 数据库用户名称
//输出 : 连接到了数据数据库用户的database
//------------------------------------------------------------------------
var
i : Integer ;
Str : String ;
begin
for i := 0 to Session.DatabaseCount - 1 do
begin
Str := Session.Databases[i].Params.Values['USER NAME'];
if Pos(PS_ConnectUserName , Str) > 0 Then
begin
Result := Session.Databases[i] ;
Break;
End;
end;
end;
{
*****************************************************************
* *
* 编写作者:陈庆波 编写时间:2002-06-25 *
* *
* 函数名称:Pro_GFillInitValue *
* 内容版本:V1.0.0.0 *
* 函数功能:初始化窗体下拉框的值 *
* 传入参数:pFormName、pValue *
* 参数说明: *
* pFormName 窗体名称(Self) *
* pValue 附加值 默认值:空 *
* *
* 返 回 值:无 *
* *
* 基本要求: *
* 必须在下拉框TAG属性中,登记相应的标记(标记说明见下) *
* *
* 注意事项: *
* *
* 可使用控件:TFlatCombobox、TCombobox *
* *
* Tag标记说明: *
* 20 性别 *
* 21 民族 *
* 22 学历 *
* 23 婚姻情况 *
* 24 入网渠道 *
* 25 出账类别 *
* 26 品牌 *
* 27 消费等级 *
* 28 客户状态 *
* 29 行业 *
* 30 话费报销 *
* 31 喜好类别 (预留) *
* 32 兴趣类别 (预留) *
* 33 付款方式 *
* 34 个人客户属性 *
* 35 集团客户属性 *
* 36 企业类别 *
* 37 工号状态 *
* 38 客户级别 *
* 39 社会关系 *
* 40 服务类型 *
* 41 服务方式 *
* 42 服务质量 *
* 43 职业 *
* 44 集团名称 *
* 45 客户关系类型 *
* 46 投诉级别 *
* 47 投诉类型 *
* 48 客户满意程序 *
* 49 地址对象类型 *
* 50 地市(预留) *
* 51 局向(预留) *
* 52 工号(预留) *
* 53 (预留) *
* 54 (预留) *
* 55 (预留) *
* 56 手机品牌 *
* *
* 相关函数:Fun_GetCodeName *
* *
*****************************************************************
}
Procedure Pro_GFillInitValue(pFormName:TForm;pValue:String='');
Var
I:Integer;
QueryDictDesc:TQuery;
Begin
Application.CreateForm(TQuery,QueryDictDesc);
QueryDictDesc.DatabaseName:= session.Databases[0].DatabaseName;
For I:=0 To pFormName.ComponentCount-1 Do
If (pFormName.Components[I].ClassName='TFlatComboBox') Or
(pFormName.Components[I].ClassName='TComboBox') Then
Begin
If (pFormName.Components[I].Tag>=20) And (pFormName.Components[I].Tag<=100) Then
Begin
TComboBox(pFormName.Components[I]).Clear; //清楚控件内的值
If pValue<>'' Then
TCombobox(pFormName.Components[I]).Items.Add(pValue);
End;
If QueryDictDesc.Active Then QueryDictDesc.Close; //判断QueryDictDesc是否打开,如果打开则关闭
QueryDictDesc.SQL.Clear;
Case pFormName.Components[I].Tag Of
//性别
20:QueryDictDesc.SQL.Add('Select Par_Desc From T_D_Config Where Upper(Par_Name)=''SEX''');
//民族
21:QueryDictDesc.SQL.Add('Select Par_Desc From T_D_Config Where Upper(Par_Name)=''FOLK''');
//学历
22:QueryDictDesc.SQL.Add('Select Par_Desc From T_D_Config Where Upper(Par_Name)=''DIPLOMA_ID''');
//婚姻情况
23:QueryDictDesc.SQL.Add('Select Par_Desc From T_D_Config Where Upper(Par_Name)=''MARRIAGE''');
//入网渠道
24:QueryDictDesc.SQL.Add('Select Par_Desc From T_D_Config Where Upper(Par_Name)=''MARRIAGE''');
//出账类别
25:QueryDictDesc.SQL.Add('Select Par_Desc From T_D_Config Where Upper(Par_Name)=''OUTACCOUNTTYPE''');
//品牌名称
26:QueryDictDesc.SQL.Add('Select Par_Desc From T_D_Config Where Upper(Par_Name)=''BRANDNAME''');
//消费等级
27:QueryDictDesc.SQL.Add('Select DESCRIPTION From T_D_grade');
//客户状态
28:QueryDictDesc.SQL.Add('Select Par_Desc From T_D_Config Where Upper(Par_Name)=''CUSTSTATUS''');
//行业
29:QueryDictDesc.SQL.Add('Select Par_Desc From T_D_Config Where Upper(Par_Name)=''GROUPCALLING''');
//话费报销类型
30:QueryDictDesc.SQL.Add('Select Par_Desc From T_D_Config Where Upper(Par_Name)=''MARRIAGE''');
//预留(兴趣项目)
31:;
//预留(兴趣细项)
32:;
//付款方式
33:QueryDictDesc.SQL.Add('Select Par_Desc From T_D_Config Where Upper(Par_Name)=''PAYMENTMODE''');
//个人客户类别
34:QueryDictDesc.SQL.Add('Select Par_Desc From T_D_Config Where Upper(Par_Name)=''CUSTATT''');
//集团客户类别
35:QueryDictDesc.SQL.Add('Select Par_Desc From T_D_Config Where Upper(Par_Name)=''GROUPATT''');
//企业类别
36:QueryDictDesc.SQL.Add('Select Par_Desc From T_D_Config Where Upper(Par_Name)=''GROUPTYPE''');
//客户经理工号状态
37:QueryDictDesc.SQL.Add('Select Par_Desc From T_D_Config Where Upper(Par_Name)=''MANAGERNOSTATUS''');
//客户级别
38:QueryDictDesc.SQL.Add('Select Par_Desc From T_D_Config Where Upper(Par_Name)=''LEVEL_SEQ''');
//社会关系
39:QueryDictDesc.SQL.Add('Select Par_Desc From T_D_Config Where Upper(Par_Name)=''SOCIETYCONNECTION''');
//服务类型
40:QueryDictDesc.SQL.Add('Select ServType From T_D_ServType Where TypeCode>4');
//服务方式
41:QueryDictDesc.SQL.Add('Select ServMode From T_D_ServMode');
//服务质量
42:QueryDictDesc.SQL.Add('Select ServQuality From T_D_ServQuality');
//职业
43:QueryDictDesc.SQL.Add('Select Par_Desc From T_D_Config Where Upper(Par_Name)=''OCCUPATION''');
//集团名称
44:QueryDictDesc.SQL.Add('Select Jtyhmc From T_F_GroupInfo Where Not Jtyhmc Is Null');
//客户关系类型
45:QueryDictDesc.SQL.Add('Select Par_Desc From T_D_Config Where Upper(Par_Name)=''CUSTCONNTYPE''');
//投诉级别
46:QueryDictDesc.SQL.Add('Select Par_Desc From T_D_Config Where Upper(Par_Name)=''APPEALGRADE''');
//投诉类型
47:QueryDictDesc.SQL.Add('select APPEALSUBJECT from t_d_appealsubject Where Not APPEALSUBJECT Is Null');
//满意程序
48:QueryDictDesc.SQL.Add('Select ServQuality From T_D_ServQuality');
//地址对象类型
49:QueryDictDesc.SQL.Add('Select Par_Desc From T_D_Config Where Upper(Par_Name)=''LINKOBJECTTYPE''');
//预留
50:;
//预留
51:;
//预留
52:;
//预留
53:;
//预留
54:;
//预留
55:;
//手机品牌
56:QueryDictDesc.SQL.Add('Select MOBILE From T_D_Mobile Where Not Mobile Is Null');
End;
If QueryDictDesc.Text<>'' Then
Begin
QueryDictDesc.Open;
While Not QueryDictDesc.Eof Do
Begin
TComboBox(pFormName.Components[I]).Items.Add(Trim(QueryDictDesc.Fields[0].AsString));
QueryDictDesc.Next;
End;
QueryDictDesc.Close;
If TComboBox(pFormName.Components[I]).Items.Count>0 Then
TComboBox(pFormName.Components[I]).ItemIndex:=0;
End;
End;
QueryDictDesc.Free;
end;
Function Fun_GetCityCountyName(pQuery:TQuery;pStyle:Integer=0):String;
Var
QueryDictValue:TQuery;
Begin
Fun_GetCityCountyName:='';
Application.CreateForm(TQuery,QueryDictValue);
QueryDictValue.DatabaseName:=session.Databases[0].DatabaseName;
{
//原来的内容只有可以查询地市和局向,2002 08 23 加入可以查询关系室(曾忠诚修改)
//原来的源代码如下: 修改之后的源代码采用case方式。
If pStyle=0 Then
QueryDictValue.SQL.Add('Select CityName From T_D_City Where CityNo='''+pQuery.FieldByName('CityNo').AsString+'''')
Else
QueryDictValue.SQL.Add('Select Home_Name From T_D_County Where Off_No_Home='''+pQuery.FieldByName('Off_No_Home').AsString+''' And CityNo='''+pQuery.FieldByName('CityNo').AsString+'''');
}
case pStyle of
0 : QueryDictValue.SQL.Add('Select CityName From T_D_City Where CityNo='''+pQuery.FieldByName('CityNo').AsString+'''');
1 : QueryDictValue.SQL.Add('Select Home_Name From T_D_County Where Off_No_Home='''+pQuery.FieldByName('Off_No_Home').AsString+''' And CityNo='''+pQuery.FieldByName('CityNo').AsString+'''');
2 : QueryDictValue.SQL.Add('Select Room_Name From T_D_Room Where Off_No_Home='''+pQuery.FieldByName('Off_No_Home').AsString+''' And CityNo='''+pQuery.FieldByName('CityNo').AsString+''''+' And RoomId='''+pQuery.FieldByName('RoomID').AsString+'''');
//请注意,由于该地方的字段可能有问题,需要根据具体的字段。 在t_f_manager中的关系室的字段为Rela_Code,而在配置表中的字段为RoomId
end;
QueryDictValue.Open;
If Not(QueryDictValue.Eof And QueryDictValue.Bof) Then
Fun_GetCityCountyName:= Trim(QueryDictValue.Fields[0].AsString);
QueryDictValue.Close;
QueryDictValue.Free;
End;
{
*****************************************************************
* *
* 编写作者:陈庆波 编写时间:2002-08-03 *
* *
* 函数名称:Fun_GetCodeName *
* 内容版本:V1.0.0.0 *
* 函数功能:读取下拉框值的代码 *
* 传入参数:pObject、pValue *
* 参数说明: *
* pObject 窗体名称(Self) *
* pValue 附加值 默认值:空 *
* *
* 返 回 值:无 *
* *
* 基本要求: *
* 必须在下拉框TAG属性中,登记相应的标记(标记说明见下) *
* *
* 注意事项: *
* *
* 可使用控件:TFlatCombobox、TCombobox *
* *
* Tag标记说明: *
* 20 性别 *
* 21 民族 *
* 22 学历 *
* 23 婚姻情况 *
* 24 入网渠道 *
* 25 出账类别 *
* 26 品牌 *
* 27 消费等级 *
* 28
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -