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

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_afc.cpp
  15.  *
  16.  * Project:
  17.  * --------
  18.  *   Maui META APP
  19.  *
  20.  * Description:
  21.  * ------------
  22.  *   AFC 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. #ifndef  _ACCESS_AFC_H_
  43. #include "access_afc.h"
  44. #endif
  45. #ifndef  _RF_AFC_H_
  46. #include "rf_afc.h"
  47. #endif
  48. //===========================================================================
  49. //===========================================================================
  50. CACCESSAFC::CACCESSAFC( void )
  51. {
  52. }
  53. //---------------------------------------------------------------------------
  54. CACCESSAFC::~CACCESSAFC( )
  55. {
  56. }
  57. //------------------------------------------------------------------------------
  58. void CACCESSAFC::SetTabNameToAFC_PARAMETERS( TADOTable *p_ADOTab )
  59. {
  60.     p_ADOTab->Active = false;
  61.     p_ADOTab->TableName = "AFC_PARAMETERS";
  62.     p_ADOTab->Active = true;
  63. }
  64. //------------------------------------------------------------------------------
  65. void CACCESSAFC::ActivateADOTab( TADOTable *p_ADOTab )
  66. {
  67.     p_ADOTab->Active = true;
  68. }
  69. //------------------------------------------------------------------------------
  70. void CACCESSAFC::InsertNewRecordToAccess( TADOTable *p_ADOTab )
  71. {
  72.     p_ADOTab->Insert();
  73. }
  74. //------------------------------------------------------------------------------
  75. void CACCESSAFC::SetADOTableToEditMode( TADOTable *p_ADOTab )
  76. {
  77.     p_ADOTab->Edit();
  78. }
  79. //----------------------------------------------------------------------------
  80. void CACCESSAFC::PostRecordToAccess( TADOTable *p_ADOTab )
  81. {
  82.     p_ADOTab->Post();
  83. }
  84. //------------------------------------------------------------------------------
  85. bool CACCESSAFC::AddFieldToAccess( TADOTable *p_ADOTab, AnsiString as_fieldname, AnsiString as_fieldvalue )
  86. {
  87.     try
  88.     {
  89.         p_ADOTab->FieldByName(as_fieldname)->AsString = as_fieldvalue;
  90.     }
  91.     catch(...)
  92.     {
  93.         AnsiString as_msg = "add " + as_fieldname + " fields error";
  94.         throw EDatabaseError(as_msg);
  95.         return false;
  96.     }
  97.     return true;
  98. }
  99. //------------------------------------------------------------------------------
  100. bool CACCESSAFC::AddBarcodeToAccess( TADOTable *p_ADOTab, AnsiString as_ID )
  101. {
  102.     if(! AddFieldToAccess( p_ADOTab, "BARCODE", as_ID ) )  return false;
  103.     return true;
  104. }
  105. //------------------------------------------------------------------------------
  106. bool CACCESSAFC::AddPcToAccess( TADOTable *p_ADOTab )
  107. {
  108.     char hostname[256];
  109.     unsigned long len=256;
  110.     GetComputerName( hostname, &len );
  111.     if(! AddFieldToAccess( p_ADOTab, "PC", hostname ) )  return false;
  112.     return true;
  113. }
  114. //------------------------------------------------------------------------------
  115. bool CACCESSAFC::AddDateToAccess( TADOTable *p_ADOTab )
  116. {
  117.     if(! AddFieldToAccess( p_ADOTab, "DATE", DateToStr(Date()) ) )  return false;
  118.     return true;
  119. }
  120. //------------------------------------------------------------------------------
  121. bool CACCESSAFC::AddTimeToAccess( TADOTable *p_ADOTab )
  122. {
  123.     if(! AddFieldToAccess( p_ADOTab, "TIME", CurrentTimeStr() ) )  return false;
  124.     return true;
  125. }
  126. //------------------------------------------------------------------------------
  127. bool CACCESSAFC::AddCommonFieldToAccess( TADOTable *p_ADOTab, AnsiString as_ID )
  128. {
  129.     if( ! AddBarcodeToAccess( p_ADOTab, as_ID ) )  return false;
  130.     if( ! AddPcToAccess( p_ADOTab ) )              return false;
  131.     if( ! AddDateToAccess( p_ADOTab ) )            return false;
  132.     if( ! AddTimeToAccess( p_ADOTab ) )            return false;
  133.     return false;
  134. }
  135. //------------------------------------------------------------------------------
  136. bool CACCESSAFC::AddTcvcxoAFCParameterToAccess( TADOTable *p_ADOTab, int  AfcSlope, int InitAfcDac)
  137. {
  138.     try
  139.     {
  140.         p_ADOTab->FieldByName("SLOPE")->AsString = Double_To_AnsiString( 1.0*AFC_SLOPE_SCALE/AfcSlope );
  141.         p_ADOTab->FieldByName("INITIAL_VALUE")->AsString = IntToStr( InitAfcDac );
  142.     }
  143.     catch(...)
  144.     {
  145.         AnsiString as_msg = "add TCVCXO AFC fields error";
  146.         throw EDatabaseError(as_msg);
  147.         return false;
  148.     }
  149.     return true;
  150. }