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

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) 2005
  8. *
  9. *  BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
  10. *  THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
  11. *  RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
  12. *  AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
  13. *  EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
  14. *  MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
  15. *  NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
  16. *  SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
  17. *  SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
  18. *  THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
  19. *  NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
  20. *  SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
  21. *
  22. *  BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
  23. *  LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
  24. *  AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
  25. *  OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
  26. *  MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
  27. *
  28. *  THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
  29. *  WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
  30. *  LAWS PRINCIPLES.  ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
  31. *  RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
  32. *  THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
  33. *
  34. *****************************************************************************/
  35. /*****************************************************************************
  36.  *
  37.  * Filename:
  38.  * ---------
  39.  *   form_Setting.cpp
  40.  *
  41.  * Project:
  42.  * --------
  43.  *   Maui META APP
  44.  *
  45.  * Description:
  46.  * ------------
  47.  *  Setting form source
  48.  *
  49.  * Author:
  50.  * -------
  51.  *  Andy Ueng (mtk00490)
  52.  *
  53.  *============================================================================
  54.  *             HISTORY
  55.  * Below this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
  56.  *------------------------------------------------------------------------------
  57.  * $Revision$
  58.  * $Modtime$
  59.  * $Log$
  60.  * 
  61.  *------------------------------------------------------------------------------
  62.  * Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
  63.  *============================================================================
  64.  ****************************************************************************/
  65. //---------------------------------------------------------------------------
  66. #include <vcl.h>
  67. #pragma hdrstop
  68. #include "form_Setting.h"
  69. #include "form_main.h"
  70. //---------------------------------------------------------------------------
  71. #pragma package(smart_init)
  72. #pragma resource "*.dfm"
  73. TfrmSetting *frmSetting;
  74. extern TfrmMainSel *frmMainSel;
  75. //==============================================================================
  76. static void CNF_ReadFromNVRAM( void )
  77. {   frmSetting->UploadFromFlashDone();
  78. }
  79. //---------------------------------------------------------------------------
  80. static void  CNF_WriteToNVRAM( void )
  81. {   frmSetting->DownloadToFlashDone();
  82. }
  83. //---------------------------------------------------------------------------
  84. static void  CNF_ResetNVRAMData( void )
  85. {
  86.     frmSetting->CNF_ResetNVRAMData();
  87. }
  88. //==============================================================================
  89. __fastcall TfrmSetting::TfrmSetting(TComponent* Owner)
  90.         : TForm(Owner)
  91. {
  92.     
  93. }
  94. //---------------------------------------------------------------------------
  95. void __fastcall TfrmSetting::FormCreate(TObject *Sender)
  96. {
  97.     InitMsClassFromUi();
  98.     InitPlmnSelectionFromUi();
  99.     InitGprsAttachModeFromUi();
  100. }
  101. //--------------------------------------------------------------------
  102. void TfrmSetting::InitMsClassFromUi(void)
  103. {
  104.     if (rbClassCC->Checked)
  105.     {
  106.         m_sNvramEfRacPreference.uc_arg1 |= ARG1_MOBILE_CLASS_CC;
  107.     }
  108.     else if (rbClassCG->Checked)
  109.     {
  110.         m_sNvramEfRacPreference.uc_arg1 |= ARG1_MOBILE_CLASS_CG;
  111.     }
  112.     else if (rbClassBGSM->Checked)
  113.     {
  114.         m_sNvramEfRacPreference.uc_arg1 |= ARG1_MOBILE_CLASS_BGSM;
  115.     }
  116.     else if (rbClassBGprs->Checked)
  117.     {
  118.         m_sNvramEfRacPreference.uc_arg1 |= ARG1_MOBILE_CLASS_BGPRS;
  119.     }
  120. }
  121. //--------------------------------------------------------------------
  122. void TfrmSetting::InitPlmnSelectionFromUi(void)
  123. {
  124.     if (rbManual->Checked)
  125.     {
  126.         m_sNvramEfRacPreference.uc_arg1 |= ARG1_PLMN_SELECTION_MANUAL;
  127.     }
  128.     else if (rbAutomatic->Checked)
  129.     {
  130.         m_sNvramEfRacPreference.uc_arg1 |= ARG1_PLMN_SELECTION_AUTO;
  131.     }
  132. }
  133. //--------------------------------------------------------------------
  134. void TfrmSetting::InitGprsAttachModeFromUi(void)
  135. {
  136.     if (rbNotAutoAttach->Checked)
  137.     {
  138.         m_sNvramEfRacPreference.uc_arg1 |= ARG1_GPRS_ATTACH_NOTAUTO;
  139.     }
  140.     else 
  141.     {
  142.         m_sNvramEfRacPreference.uc_arg1 |= ARG1_GPRS_ATTACH_AUTO;
  143.     }
  144. }
  145. //==============================================================================
  146. void __fastcall TfrmSetting::btnUploadFromFlashClick(TObject *Sender)
  147. {
  148.     if (!NVRAMMan->Get_IsInit())
  149.     {
  150.         frmMainSel->mnuFDMDatabaseClick(Sender);
  151.     }
  152.     if (!NVRAMMan->Get_IsInit())
  153.     {
  154.         sbBandSetting->Panels->Items[0]->Text = (AnsiString) " NVRAM database file initialize fail";
  155.         Application->MessageBox("Execution Failure : NVRAM database file initialize fail", "FAILURE", MB_OK);
  156.         return;
  157.     }
  158.     CurrentPageLock();
  159.     m_cSETTING_BAND_Obj.ConfirmCallback = ::CNF_ReadFromNVRAM;
  160.     m_cSETTING_BAND_Obj.REQ_Read_From_NVRAM_Start();
  161. }
  162. //---------------------------------------------------------------------------
  163. void TfrmSetting::UploadFromFlashDone(void)
  164. {
  165.     E_METAAPP_RESULT_T state = m_cSETTING_BAND_Obj.Get_ConfirmState();
  166.     switch (state)
  167.     {
  168.         case METAAPP_SUCCESS:
  169.         {
  170.             m_cSETTING_BAND_Obj.Get_RacPreference(m_sNvramEfRacPreference);
  171.             ReDrawFields();
  172.             sbBandSetting->Panels->Items[0]->Text = (AnsiString) "  Upload band setting from flash successful";
  173.         }
  174.         break;
  175.         case METAAPP_FAIL:
  176.         {
  177.             sbBandSetting->Panels->Items[0]->Text = (AnsiString) "  Upload band setting from flash fail, please check the version of load and NVRAM database are same.";
  178.             Application->MessageBox("Execution Failure : Upload band setting form flash, please check the version of load and NVRAM database are same.", "FAILURE", MB_OK);
  179.         }
  180.         break;
  181.         case METAAPP_TIMEOUT:
  182.         {
  183.             sbBandSetting->Panels->Items[0]->Text = (AnsiString) "  Upload band setting from flash timeout";
  184.             Application->MessageBox("Execution Timeout : Upload band setting form flash", "TIMEOUT", MB_OK);
  185.         }
  186.         break;
  187.         case METAAPP_STOP:
  188.         {
  189.             sbBandSetting->Panels->Items[0]->Text = (AnsiString) "  Upload band setting from flash stop";
  190.         }
  191.         break;
  192.     }
  193.     CurrentPageReset();
  194. }
  195. //==============================================================================
  196. void __fastcall TfrmSetting::btnDownloadToFlashClick(TObject *Sender)
  197. {
  198.     if (!NVRAMMan->Get_IsInit())
  199.     {
  200.         frmMainSel->mnuFDMDatabaseClick(Sender);
  201.     }
  202.     if (!NVRAMMan->Get_IsInit())
  203.     {
  204.         sbBandSetting->Panels->Items[0]->Text = (AnsiString) " NVRAM database file initialize fail";
  205.         Application->MessageBox( "Execution Failure : NVRAM database file initialize fail", "FAILURE", MB_OK );
  206.         return;
  207.     }
  208.     CurrentPageLock();
  209.     
  210.     m_cSETTING_BAND_Obj.Set_RacPreference(m_sNvramEfRacPreference);
  211.     m_cSETTING_BAND_Obj.ConfirmCallback = ::CNF_WriteToNVRAM;
  212.     m_cSETTING_BAND_Obj.REQ_Write_To_NVRAM_Start();
  213. }
  214. //-----------------------------------------------
  215. void TfrmSetting::DownloadToFlashDone(void)
  216. {
  217.     E_METAAPP_RESULT_T state = m_cSETTING_BAND_Obj.Get_ConfirmState();
  218.     switch (state)
  219.     {
  220.         case METAAPP_SUCCESS:
  221.         {
  222.             sbBandSetting->Panels->Items[0]->Text = (AnsiString) "  Download band setting to flash successfully";
  223.         }
  224.         break;
  225.         case METAAPP_FAIL:
  226.         {
  227.             sbBandSetting->Panels->Items[0]->Text = (AnsiString) "  Download band setting to flash fail, please check the version of load and NVRAM database are same.";
  228.             Application->MessageBox("Execution Failure : Download uc_band setting to flash, please check the version of load and NVRAM database are same.", "FAILURE", MB_OK);
  229.         }
  230.         break;
  231.         case METAAPP_TIMEOUT:
  232.         {
  233.             sbBandSetting->Panels->Items[0]->Text = (AnsiString) "  Download uc_band setting to flash timeout";
  234.             Application->MessageBox("Execution Timeout : Download band setting to flash", "TIMEOUT", MB_OK);
  235.         }
  236.         break;
  237.         case METAAPP_STOP:
  238.         {
  239.             sbBandSetting->Panels->Items[0]->Text = (AnsiString) "  Download band setting to flash stop";
  240.         }
  241.     }
  242.     CurrentPageReset();
  243. }
  244. //==============================================================================
  245. void  TfrmSetting::ReDrawFields( void )
  246. {
  247. #if 0
  248.     // uc_band
  249.     switch( m_sNvramEfRacPreference.uc_band )
  250.     {
  251.         case BAND_MODE_GSM900:
  252.              rbGSM900->Checked = true;
  253.         break;
  254.         case BAND_MODE_DCS1800:
  255.              rbDCS1800->Checked = true;
  256.         break;
  257.         case BAND_MODE_PCS1900:
  258.              rbPCS1900->Checked = true;
  259.         break;
  260.         case BAND_MODE_GSM850:
  261.              rbGSM850->Checked = true;
  262.         break;
  263.         case DUAL_BAND_MODE:
  264.              rbDualBand->Checked = true;
  265.         break;
  266.         case DUAL_BAND_MODE_850_1900:
  267.              rbDualBand850_1900->Checked = true;
  268.         break;
  269.         default:
  270.              Application->MessageBox( "Band mode value not valid", "ERROR!", MB_OK );
  271.         break;
  272.     }
  273. #endif
  274.     // uc_arg1
  275.     switch ( m_sNvramEfRacPreference.uc_arg1 & MASK_ARG1_PLMN_SELECTION)
  276.     {
  277.         case ARG1_PLMN_SELECTION_MANUAL:
  278.         {
  279.             rbManual->Checked = true;
  280.         }
  281.         break;
  282.         case ARG1_PLMN_SELECTION_AUTO:
  283.         {
  284.             rbAutomatic->Checked = true;
  285.         }
  286.         break;
  287.     }
  288.     switch (m_sNvramEfRacPreference.uc_arg1 & MASK_ARG1_MOBILE_CLASS)
  289.     {
  290.         case ARG1_MOBILE_CLASS_CC:
  291.              rbClassCC->Checked = true;
  292.         break;
  293.         case ARG1_MOBILE_CLASS_CG:
  294.              rbClassCG->Checked = true;
  295.         break;
  296.         case ARG1_MOBILE_CLASS_BGSM:
  297.              rbClassBGSM->Checked = true;
  298.         break;
  299.         case ARG1_MOBILE_CLASS_BGPRS:
  300.              rbClassBGprs->Checked = true;
  301.         break;
  302.     }
  303.     switch ( m_sNvramEfRacPreference.uc_arg1 & MASK_ARG1_GPRS_ATTACH )
  304.     {
  305.         case ARG1_GPRS_ATTACH_NOTAUTO:
  306.              rbNotAutoAttach->Checked = true;
  307.         break;
  308.         case ARG1_GPRS_ATTACH_AUTO:
  309.              rbAutoAttach->Checked = true;
  310.         break;
  311.     }
  312. }
  313. #if 0
  314. //--------------------------------------------------------------------
  315. void TfrmSetting::InitBandFromUi( void )
  316. {
  317.     if( rbGSM900->Checked )
  318.     {
  319.         m_sNvramEfRacPreference.uc_band = BAND_MODE_GSM900;
  320.     }
  321.     else if( rbDCS1800->Checked )
  322.     {
  323.         m_sNvramEfRacPreference.uc_band = BAND_MODE_DCS1800;
  324.     }
  325.     else if( rbPCS1900->Checked )
  326.     {
  327.         m_sNvramEfRacPreference.uc_band = BAND_MODE_PCS1900;
  328.     }
  329.     else if( rbGSM850->Checked )
  330.     {
  331.         m_sNvramEfRacPreference.uc_band = BAND_MODE_GSM850;
  332.     }
  333.     else if( rbDualBand->Checked )
  334.     {
  335.         m_sNvramEfRacPreference.uc_band = DUAL_BAND_MODE;
  336.     }
  337.     else if( rbDualBand850_1900->Checked )
  338.     {
  339.         m_sNvramEfRacPreference.uc_band = DUAL_BAND_MODE_850_1900;
  340.     }
  341. }
  342. #endif
  343. //==============================================================================
  344. void __fastcall TfrmSetting::rbGSM900Click(TObject *Sender)
  345. {
  346.     m_sNvramEfRacPreference.uc_band = BAND_MODE_GSM900;
  347. }
  348. //---------------------------------------------------------------------------
  349. void __fastcall TfrmSetting::rbDCS1800Click(TObject *Sender)
  350. {
  351.     m_sNvramEfRacPreference.uc_band = BAND_MODE_DCS1800;
  352. }
  353. //---------------------------------------------------------------------------
  354. void __fastcall TfrmSetting::rbPCS1900Click(TObject *Sender)
  355. {
  356.     m_sNvramEfRacPreference.uc_band = BAND_MODE_PCS1900;
  357. }
  358. //---------------------------------------------------------------------------
  359. void __fastcall TfrmSetting::rbGSM850Click(TObject *Sender)
  360. {
  361.     m_sNvramEfRacPreference.uc_band = BAND_MODE_GSM850;
  362. }
  363. //---------------------------------------------------------------------------
  364. void __fastcall TfrmSetting::rbDualBandClick(TObject *Sender)
  365. {
  366.     m_sNvramEfRacPreference.uc_band = DUAL_BAND_MODE;
  367. }
  368. //---------------------------------------------------------------------------
  369. void __fastcall TfrmSetting::rbDualBand850_1900Click(TObject *Sender)
  370. {
  371.     m_sNvramEfRacPreference.uc_band = DUAL_BAND_MODE_850_1900;
  372. }
  373. //---------------------------------------------------------------------------
  374. void __fastcall TfrmSetting::btnLoadFromFileClick(TObject *Sender)
  375. {
  376.     char str[512];
  377.     bool ok;
  378.     float  fdata;
  379.     ok = OpenDialog->Execute();
  380.     if( !ok )
  381.     {
  382.         sbBandSetting->Panels->Items[0]->Text = (AnsiString) "  Load band setting from file fail";
  383.         Application->MessageBox( "Execution Failure : Load band setting from file", "FAILURE", MB_OK );
  384.         return;
  385.     }
  386.     strcpy( str, OpenDialog->FileName.c_str() );
  387.     ok = m_cSETTING_BAND_Obj.REQ_Read_From_File( str );
  388.     if( ok )
  389.     {
  390.         m_cSETTING_BAND_Obj.Get_RacPreference(m_sNvramEfRacPreference);
  391.         ReDrawFields();
  392.         sbBandSetting->Panels->Items[0]->Text = (AnsiString) "  Load band setting from file successful";
  393.     }
  394.     else
  395.     {
  396.         sbBandSetting->Panels->Items[0]->Text = (AnsiString) "  Load band setting from file fail";
  397.         Application->MessageBox( "Execution Failure : Load band setting from file", "FAILURE", MB_OK );
  398.     }
  399. }
  400. //---------------------------------------------------------------------------
  401. void __fastcall TfrmSetting::btnSaveToFileClick(TObject *Sender)
  402. {
  403.     char str[512];
  404.     bool ok;
  405.     ok = SaveDialog->Execute();
  406.     if (!ok)
  407.     {
  408.         sbBandSetting->Panels->Items[0]->Text = (AnsiString) "   Save band setting to file fail";
  409.         Application->MessageBox( "Execution Failure : Save band setting to file", "FAILURE", MB_OK );
  410.         return;
  411.     }
  412.     m_cSETTING_BAND_Obj.Set_RacPreference(m_sNvramEfRacPreference);
  413.     strcpy(str, SaveDialog->FileName.c_str());
  414.     ok = m_cSETTING_BAND_Obj.REQ_Write_To_File(str);
  415.     if (!ok)
  416.     {
  417.         sbBandSetting->Panels->Items[0]->Text = (AnsiString) "  Save band setting to file fail";
  418.         Application->MessageBox( "Execution Failure : Save band setting to file", "FAILURE", MB_OK );
  419.     }
  420.     else
  421.     {
  422.         sbBandSetting->Panels->Items[0]->Text = (AnsiString) "  Save band setting to file successfully";
  423.     }
  424. }
  425. //---------------------------------------------------------------------------
  426. void __fastcall TfrmSetting::btnChangeDBClick(TObject *Sender)
  427. {
  428.     frmMainSel->mnuFDMDatabaseClick(Sender);
  429.     if (!NVRAMMan->Get_IsInit())
  430.     {
  431.         sbBandSetting->Panels->Items[0]->Text = (AnsiString) "  NVRAM database file initialization fail";
  432.         Application->MessageBox( "Execution Failure : NVRAM database file initialization fail", "FAILURE", MB_OK );
  433.         return;
  434.     }
  435.     sbBandSetting->Panels->Items[0]->Text = (AnsiString) "  Change NVRAM database file successfully";
  436. }
  437. //-----------------------------------------------
  438. void  TfrmSetting::CNF_ResetNVRAMData( void )
  439. {
  440.     int state = m_cSETTING_BAND_Obj.Get_ConfirmState();
  441.     CurrentPageReset();
  442.     if( state==METAAPP_SUCCESS )
  443.     {
  444.         sbBandSetting->Panels->Items[0]->Text = (AnsiString) "  Reset AGC path loss setting in flash successfully";
  445.     }
  446.     else  if( state==METAAPP_FAIL )
  447.     {
  448.         sbBandSetting->Panels->Items[0]->Text = (AnsiString) "  Reset AGC path loss setting in flash fail, please check the version of load and NVRAM database are same.";
  449.         Application->MessageBox( "Execution Failure : Reset AGC path loss setting in flash, please check the version of load and NVRAM database are same.", "FAILURE", MB_OK );
  450.     }
  451.     else  if( state==METAAPP_TIMEOUT )
  452.     {
  453.         sbBandSetting->Panels->Items[0]->Text = (AnsiString) "  Reset AGC path loss setting in flash timeout";
  454.         Application->MessageBox( "Execution Timeout : Reset AGC path loss setting in flash", "TIMEOUT", MB_OK );
  455.     }
  456.     else  if( state==METAAPP_STOP )
  457.     {
  458.         sbBandSetting->Panels->Items[0]->Text = (AnsiString) "  Reset AGC path loss setting in flash stop";
  459.        // Application->MessageBox( "Execution Stop : Reset AGC path loss setting in flash", "STOP", MB_OK );
  460.     }
  461. }
  462. //==========================================================================
  463. #if 0
  464. void TfrmSetting::Display_BandSupport( void )
  465. {
  466.     RfMsCapabilityEx_S  capability;
  467.     capability = frmMainSel->Get_FinalMSCap();
  468.     if( capability.band_support.GSM850 )  rbGSM850->Visible  = true;
  469.     if( capability.band_support.GSM900 )  rbGSM900->Visible  = true;
  470.     if( capability.band_support.DCS1800 ) rbDCS1800->Visible = true;
  471.     if( capability.band_support.PCS1900 ) rbPCS1900->Visible = true;
  472.     if( capability.band_support.GSM900 &&  capability.band_support.DCS1800 )  rbDualBand->Visible = true;
  473.     if( capability.band_support.GSM850 &&  capability.band_support.PCS1900 )  rbDualBand850_1900->Visible = true;
  474.         if( capability.band_support.GSM900 )        rbGSM900->Checked  = true;
  475.         else if( capability.band_support.DCS1800 )  rbDCS1800->Checked = true;
  476.         else if( capability.band_support.PCS1900 )  rbPCS1900->Checked = true;
  477.         else                                        rbGSM850->Checked  = true;
  478. }
  479. #endif
  480. //--------------------------------------------------------------------------
  481. void __fastcall TfrmSetting::btnResetNVRAMDataClick(TObject *Sender)
  482. {
  483.     if( ! NVRAMMan->Get_IsInit() )
  484.     {   frmMainSel->mnuFDMDatabaseClick(Sender);
  485.     }
  486.     if( ! NVRAMMan->Get_IsInit() )
  487.     {
  488.         sbBandSetting->Panels->Items[0]->Text = (AnsiString) "  NVRAM database file initialization fail";
  489.         Application->MessageBox( "Execution Failure : NVRAM database file initialization", "FAILURE", MB_OK );
  490.         return;
  491.     }
  492.     m_cSETTING_BAND_Obj.ConfirmCallback = ::CNF_ResetNVRAMData;
  493.     m_cSETTING_BAND_Obj.REQ_Reset_NVRAM_Data();
  494.     CurrentPageLock();
  495. }
  496. //---------------------------------------------------------------------------
  497. void  TfrmSetting::CurrentPageLock( void )
  498. {
  499.     btnUploadFromFlash->Enabled = false;
  500.     btnDownloadToFlash->Enabled = false;
  501.    // btnResetNVRAMData->Enabled = false;
  502.     btnChangeDB->Enabled = false;
  503.     btnLoadFromFile->Enabled = false;
  504.     btnSaveToFile->Enabled = false;
  505. }
  506. //----------------------------------------------------------------------------
  507. void  TfrmSetting::CurrentPageReset( void )
  508. {
  509.     btnUploadFromFlash->Enabled = true;
  510.     btnDownloadToFlash->Enabled = true;
  511.    // btnResetNVRAMData->Enabled = true;
  512.     btnChangeDB->Enabled = true;
  513.     btnLoadFromFile->Enabled = true;
  514.     btnSaveToFile->Enabled = true;
  515. }
  516. //----------------------------------------------------------------------------
  517. void __fastcall TfrmSetting::rbClassCCClick(TObject *Sender)
  518. {
  519.     m_sNvramEfRacPreference.uc_arg1 = (m_sNvramEfRacPreference.uc_arg1 & (0xFF ^ MASK_ARG1_MOBILE_CLASS)) | ARG1_MOBILE_CLASS_CC;
  520. }
  521. //---------------------------------------------------------------------------
  522. void __fastcall TfrmSetting::rbClassCGClick(TObject *Sender)
  523. {
  524.     m_sNvramEfRacPreference.uc_arg1 = (m_sNvramEfRacPreference.uc_arg1 & (0xFF ^ MASK_ARG1_MOBILE_CLASS)) | ARG1_MOBILE_CLASS_CG;
  525. }
  526. //---------------------------------------------------------------------------
  527. void __fastcall TfrmSetting::rbClassBGSMClick(TObject *Sender)
  528. {
  529.     m_sNvramEfRacPreference.uc_arg1 = (m_sNvramEfRacPreference.uc_arg1 & (0xFF ^ MASK_ARG1_MOBILE_CLASS)) | ARG1_MOBILE_CLASS_BGSM;
  530. }
  531. //---------------------------------------------------------------------------
  532. void __fastcall TfrmSetting::rbClassBGprsClick(TObject *Sender)
  533. {
  534.     m_sNvramEfRacPreference.uc_arg1 = (m_sNvramEfRacPreference.uc_arg1 & (0xFF ^ MASK_ARG1_MOBILE_CLASS)) | ARG1_MOBILE_CLASS_BGPRS;
  535. }
  536. //---------------------------------------------------------------------------
  537. void __fastcall TfrmSetting::rbManualClick(TObject *Sender)
  538. {
  539.     m_sNvramEfRacPreference.uc_arg1 = (m_sNvramEfRacPreference.uc_arg1 & (0xFF ^ MASK_ARG1_PLMN_SELECTION)) | ARG1_PLMN_SELECTION_MANUAL;
  540. }
  541. //---------------------------------------------------------------------------
  542. void __fastcall TfrmSetting::rbAutomaticClick(TObject *Sender)
  543. {
  544.     m_sNvramEfRacPreference.uc_arg1 = (m_sNvramEfRacPreference.uc_arg1 & (0xFF ^ MASK_ARG1_PLMN_SELECTION)) | ARG1_PLMN_SELECTION_AUTO;
  545. }
  546. //---------------------------------------------------------------------------
  547. void __fastcall TfrmSetting::rbNotAutoAttachClick(TObject *Sender)
  548. {
  549.     m_sNvramEfRacPreference.uc_arg1 = (m_sNvramEfRacPreference.uc_arg1 & (0xFF ^ MASK_ARG1_GPRS_ATTACH)) | ARG1_GPRS_ATTACH_NOTAUTO;
  550. }
  551. //---------------------------------------------------------------------------
  552. void __fastcall TfrmSetting::rbAutoAttachClick(TObject *Sender)
  553. {
  554.     m_sNvramEfRacPreference.uc_arg1 = (m_sNvramEfRacPreference.uc_arg1 & (0xFF ^ MASK_ARG1_GPRS_ATTACH)) | ARG1_GPRS_ATTACH_AUTO;
  555. }
  556. //---------------------------------------------------------------------------