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

📄 frm_parameterreadsetting.cpp

📁 MTK 最新的flashtool工具的源代码
💻 CPP
字号:
//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop

#include "frm_ParameterReadSetting.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
Tm_ParameterReadSetting *m_ParameterReadSetting;
//---------------------------------------------------------------------------
__fastcall Tm_ParameterReadSetting::Tm_ParameterReadSetting(TComponent* Owner)
    : TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall Tm_ParameterReadSetting::BitBtn1Click(TObject *Sender)
{
	AnsiString	s;

	m_SelectFileDialog->Title = "Save file as...";
//	m_SelectFileDialog->InitialDir = MainForm->ROMBaseDir;

    if(!m_SelectFileDialog->Execute()) {
        s.printf("Fail to open file \"%s\" !", m_SelectFileDialog->FileName.c_str());
        ShowMessage(s);
        return;
    }

    m_file->Text = m_SelectFileDialog->FileName;
}
//---------------------------------------------------------------------------
void __fastcall Tm_ParameterReadSetting::m_OKClick(TObject *Sender)
{
    ParamReadbackConfig_T   *param;

    if( g_bParameterPage ){
        param = &g_ParamReadbackConfig;
    }
    else{
        param = &g_ReadbackPage_Param;
    }
    int    addr = strtoul(m_addr->Text.c_str(), NULL, 10);
    int    len  = strtoul(m_len->Text.c_str(), NULL, 10);
    AnsiString ss;

    if( 0 >= len ){
        ShowMessage("Error: Read Length is invalid value!");
        return;
    }
    else if( 0 > addr ){
        ShowMessage("Error: Read Address is invalid value!");
        return;
    }
    else if( 0 == m_file->Text.Length() ){
        ShowMessage("Error: Saved File Path is invalid!");
        return;
    }

    switch(g_ParameterType){
        case PARAM_OTP:
            param->m_otp_enable = true;
            param->m_otp.m_addr = addr;
            param->m_otp.m_len  = len;
        	if( NULL != param->m_otp.m_data ) {
		        free(param->m_otp.m_data);
        	}
            param->m_otp.m_data = (unsigned char *)malloc(len);
            param->m_otp_filepath = m_file->Text;
            if( g_bParameterPage ){
                ss.printf("addr(0x%08X), len(%lu), %s", param->m_otp.m_addr, param->m_otp.m_len, param->m_otp_filepath.c_str());
                MainForm->ed_otp_Read->Text = ss;
            }
            else{
                MainForm->RedrawReadbackList();
            }
            break;
        case PARAM_SEC_RO:
            param->m_sec_ro_enable = true;
            param->m_sec_ro.m_len = len;
        	if( NULL != param->m_sec_ro.m_data ) {
		        free(param->m_sec_ro.m_data);
        	}
            param->m_sec_ro.m_data = (unsigned char *)malloc(len);
            param->m_sec_ro_filepath = m_file->Text;
            if( g_bParameterPage ){
                ss.printf("len(%lu): %s", param->m_sec_ro.m_len, param->m_sec_ro_filepath.c_str());
                MainForm->ed_sec_ro_Read->Text = ss;
            }
            else{
                MainForm->RedrawReadbackList();
            }
            break;
        case PARAM_CUST:
            param->m_cust_para_enable = true;
            param->m_cust_para.m_len = len;
        	if( NULL != param->m_cust_para.m_data ) {
		        free(param->m_cust_para.m_data);
        	}
            param->m_cust_para.m_data = (unsigned char *)malloc(len);
            param->m_cust_para_filepath = m_file->Text;
            if( g_bParameterPage ){
                ss.printf("len(%lu): %s", param->m_cust_para.m_len, param->m_cust_para_filepath.c_str());
                MainForm->ed_cust_Read->Text = ss;
            }
            else{
                MainForm->RedrawReadbackList();
            }
            break;
        default:
            break;
    }


    Visible = false;
}
//---------------------------------------------------------------------------
void __fastcall Tm_ParameterReadSetting::m_CancelClick(TObject *Sender)
{
    Visible = false;
}
//---------------------------------------------------------------------------
void __fastcall Tm_ParameterReadSetting::FormClose(TObject *Sender,
      TCloseAction &Action)
{
    Visible = false;
}
//---------------------------------------------------------------------------

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -