access_apc.cpp
上传用户:gelin96
上传日期:2017-01-08
资源大小:20993k
文件大小:6k
源码类别:

MTK

开发平台:

C++ Builder

  1. /*****************************************************************************
  2. *  Copyright Statement:
  3. *  --------------------
  4. *  This software is protected by Copyright and the information contained
  5. *  herein is confidential. The software may not be copied and the information
  6. *  contained herein may not be used or disclosed except with the written
  7. *  permission of MediaTek Inc. (C) 2001
  8. *
  9. *****************************************************************************/
  10. /*****************************************************************************
  11.  *
  12.  * Filename:
  13.  * ---------
  14.  *   access_apc.cpp
  15.  *
  16.  * Project:
  17.  * --------
  18.  *   Maui META APP
  19.  *
  20.  * Description:
  21.  * ------------
  22.  *   APC calibration export to Microsoft Access source
  23.  *
  24.  * Author:
  25.  * -------
  26.  *  Andy Ueng (mtk00490)
  27.  *
  28.  *============================================================================
  29.  *             HISTORY
  30.  * Below this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
  31.  *------------------------------------------------------------------------------
  32.  * $Revision$
  33.  * $Modtime$
  34.  * $Log$
  35.  *
  36.  *------------------------------------------------------------------------------
  37.  * Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
  38.  *============================================================================
  39.  ****************************************************************************/
  40. #include <IniFiles.hpp>
  41. #pragma hdrstop
  42. // Access
  43. #ifndef  _ACCESS_APC_H_
  44. #include "access_apc.h"
  45. #endif
  46. // RF
  47. #ifndef  _RF_APC_H_
  48. #include "rf_apc.h"
  49. #endif
  50. // misc
  51. #ifndef  _BAND_UTILS_H_
  52. #include "band_utils.h"
  53. #endif
  54. #ifndef  _META_UTILS_H_
  55. #include "meta_utils.h"
  56. #endif
  57. #ifndef _META_CONST_H_
  58. #include "meta_const.h"
  59. #endif
  60. //===========================================================================
  61. //===========================================================================
  62. CACCESSAPC::CACCESSAPC( void )
  63. {
  64. }
  65. //---------------------------------------------------------------------------
  66. CACCESSAPC::~CACCESSAPC( )
  67. {
  68. }
  69. //------------------------------------------------------------------------------
  70. void CACCESSAPC::SetTabNameToAPC_PARAMETERS( TADOTable *p_ADOTab )
  71. {
  72.     p_ADOTab->Active = false;
  73.     p_ADOTab->TableName = "APC_PARAMETERS";
  74.     p_ADOTab->Active = true;
  75. }
  76. //------------------------------------------------------------------------------
  77. void CACCESSAPC::SetTabNameToAPC_PCL_POWER( TADOTable *p_ADOTab )
  78. {
  79.     p_ADOTab->Active = false;
  80.     p_ADOTab->TableName = "APC_PCL_POWER";
  81.     p_ADOTab->Active = true;
  82. }
  83. //----------------------------------------------------------------------------
  84. void CACCESSAPC::PostRecordToAccess( TADOTable *p_ADOTab )
  85. {
  86.     p_ADOTab->Post();
  87. }
  88. //------------------------------------------------------------------------------
  89. bool CACCESSAPC::AddFieldToAccess( TADOTable *p_ADOTab, AnsiString as_fieldname, AnsiString as_fieldvalue )
  90. {
  91.     try
  92.     {
  93.         p_ADOTab->FieldByName(as_fieldname)->AsString = as_fieldvalue;
  94.     }
  95.     catch(...)
  96.     {
  97.         AnsiString as_msg = "add " + as_fieldname + " fields error";
  98.         throw EDatabaseError(as_msg);
  99.         return false;
  100.     }
  101.     return true;
  102. }
  103. //------------------------------------------------------------------------------
  104. bool CACCESSAPC::AddBarcodeToAccess( TADOTable *p_ADOTab, AnsiString as_ID )
  105. {
  106.     if(! AddFieldToAccess( p_ADOTab, "BARCODE", as_ID ) )  return false;
  107.     return true;
  108. }
  109. //------------------------------------------------------------------------------
  110. bool CACCESSAPC::AddPcToAccess( TADOTable *p_ADOTab )
  111. {
  112.     char hostname[256];
  113.     unsigned long len=256;
  114.     GetComputerName( hostname, &len );
  115.     if(! AddFieldToAccess( p_ADOTab, "PC", hostname ) )  return false;
  116.     return true;
  117. }
  118. //------------------------------------------------------------------------------
  119. bool CACCESSAPC::AddDateToAccess( TADOTable *p_ADOTab )
  120. {
  121.     if(! AddFieldToAccess( p_ADOTab, "DATE", DateToStr(Date()) ) )  return false;
  122.     return true;
  123. }
  124. //------------------------------------------------------------------------------
  125. bool CACCESSAPC::AddTimeToAccess( TADOTable *p_ADOTab )
  126. {
  127.     if(! AddFieldToAccess( p_ADOTab, "TIME", CurrentTimeStr() ) )  return false;
  128.     return true;
  129. }
  130. //------------------------------------------------------------------------------
  131. void CACCESSAPC::AddTxPcldBmParameterToAccess( TADOTable *p_ADOTab, FrequencyBand freqband,
  132.                                                AnsiString as_tx_pcl, double **p_PCL_dBm)
  133. {
  134.     AnsiString  as_SUBBAND_NAME[] =
  135.     {
  136.        "GSM400",
  137.        "GSM850",
  138.        "GSM",
  139.        "DCS",
  140.        "PCS"
  141.     };
  142.     AnsiString  as_sub_tx_pcl;
  143.     AnsiString asFieldName;
  144.     int  i_sub_tx_pcl;
  145. #if 0
  146.     switch( freqband )
  147.     {
  148.         case FrequencyBand850:
  149.         if( ! META_factory_cfg->getGSM850_PCL( as_tx_pcl ) )
  150.         {
  151.             Application->MessageBox( "get GSM850 PCL fail" , "Error", MB_OK );
  152.             return;
  153.         }
  154.         break;
  155.         case FrequencyBand900:
  156.         if( ! META_factory_cfg->getGSM900_PCL( as_tx_pcl ) )
  157.         {
  158.             Application->MessageBox( "get GSM900 PCL fail" , "Error", MB_OK );
  159.             return;
  160.         }
  161.         break;
  162.         case FrequencyBand1800:
  163.         if( ! META_factory_cfg->getDCS1800_PCL( as_tx_pcl ) )
  164.         {
  165.             Application->MessageBox( "get DCS1800 PCL fail" , "Error", MB_OK );
  166.             return;
  167.         }
  168.         break;
  169.         case FrequencyBand1900:
  170.         if( ! META_factory_cfg->getPCS1900_PCL( as_tx_pcl ) )
  171.         {
  172.             Application->MessageBox( "get PCS1900 PCL fail" , "Error", MB_OK );
  173.             return;
  174.         }
  175.         break;
  176.         default:
  177.             assert(false);
  178.         break;
  179.     }
  180. #endif
  181.     int band = FreqBand_To_BandIdx( freqband );
  182.     for(int i=0; i<16; i++)
  183.     {
  184.         if (band == FrequencyBand900 && i==15 )
  185.         {
  186.             continue;
  187.         }
  188.         if (! getAnsiStrSubItem( as_tx_pcl, i+1, DEFAULT_SEP_CHAR, as_sub_tx_pcl) )
  189.         {
  190.             Application->MessageBox( "get PCL sub item fail" , "Error", MB_OK );
  191.             return;
  192.         }
  193.         i_sub_tx_pcl = as_sub_tx_pcl.ToInt();
  194.         asFieldName = as_SUBBAND_NAME[band] + "_PCL" + IntToStr(i_sub_tx_pcl) +"_P";
  195.         p_ADOTab->FieldByName( asFieldName)->AsInteger = p_PCL_dBm[band][i];
  196.     }
  197. }