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

📄 unit_public.pas

📁 delphi开发的中国移动大客户管理系统,后台数据库为oracle
💻 PAS
📖 第 1 页 / 共 5 页
字号:
           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 + -