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

📄 mmiaoc.c

📁 是一个手机功能的模拟程序
💻 C
📖 第 1 页 / 共 5 页
字号:
        editor_data.LeftSoftKey         = TxtSoftOK;        
        editor_data.RightSoftKey        = TxtDelete;
        //editor_data.TextId				= TxtEnterLimit;
        editor_data.Identifier          = data->Identifier;  
        editor_data.mode                = PHONENUMONLY_MODE;  //hbh 2003-4-9
        editor_data.AlternateLeftSoftKey     = TxtNull;
        editor_data.min_enter           = 1;

        /* create the dialog handler */
        editor_start(data->service_win, &editor_data);  /* start the editor */ 


        break;
    case SERVICES_LIMIT_CANCEL:

        // clear the limit
        data->aocInfo.acm_max = 0;

        // Password not necessary, Pin2 scenario done 
        PWD='\0';  

        cm_set_aoc_value(CM_AOC_ACMMAX,&data->aocInfo, &PWD); /* save ACMmax in AOC */

        sprintf(buf, "%ld", data->aocInfo.acm_max); 
        TRACE_EVENT(buf);

        SEND_EVENT (win, SERVICES_LIMIT_CHANGED, 0, 0);

        break;

    case SERVICES_LIMIT_CHANGED:
        dialog_info_init(&display_info);//gdy add
        display_info.KeyEvents          = KEY_CLEAR | KEY_RIGHT | KEY_LEFT| KEY_HUP;
        display_info.LeftSoftKey        = '\0';
        display_info.RightSoftKey       = '\0';
        if( FFS_flashData.language==0 )
        {
            display_info.TextString         = "\x80\x8d\x39\x75\x28\x4e\x0a\x96\x50\x00\x00";//WUFEI Modify 0812 orignal value is 0
            display_info.TextString2        = "\x80\x5D\xF1\x65\x39\x53\xD8\x00\x00";//WUFEI Modify 0812 orignal value is 0
        }
        else
        {
            display_info.TextString         = "Limit";//wufei modified 0827
            display_info.TextString2        = "Changed";//wufei modified 0827
        }
        display_info.TextId             = '\0';//WUFEI modified 0812 orignal value is TxtLimit
        display_info.TextId2            = '\0';//WUFEI Modified 0812 orignal value is TxtChanged
        display_info.Time               = FOREVER;
        display_info.Identifier         = event;
        display_info.iconindex          =REMIND_COMPLETE; //hubh 2003-4-9


        display_info.Callback           = (T_VOID_FUNC)service_dialog_cb;
        /*
         * Call Info Screen
         */
        info_dialog (win, &display_info);

        break;

#if 0
    case SERVICES_LAST_CHARGE: //wufei modified

        cm_get_aoc_value(CM_AOC_PUCT,&data->aocInfo);    /* Get currency and price per unit */
        cm_get_aoc_value(CM_AOC_PUCT,&data->aocInfo);    /* Get currency and price per unit */

        if( (strlen((char*)data->aocInfo.ppu) EQ 0) && (data->aocInfo.ccm NEQ '\0') ) //wufei
        {
            TRACE_EVENT ("get only :ACM ; PPU ==0 and ACM!=0");

            //show only the units ACM from last call
            sprintf(line, "%ld", acm_last_call); 


        }
        else if( (strlen((char*)data->aocInfo.ppu) NEQ 0) && (data->aocInfo.ccm NEQ '\0') ) //wufei
        {
            TRACE_FUNCTION ("get only :ACM ; PPU !=0 and ACM!=0");

            // add currency
            //sprintf(line, "%ld %s", acm_last_call, data->aocInfo.cur);   
            service_calculate (win, (char*)line, data->aocInfo.ccm);


        }
        else //wufei
            strcpy ((char *)line, "0");




        if( acm_last_call EQ '\0' )
            strcpy ((char *)line, "0");
        dialog_info_init(&display_info);//gdy add

        display_info.TextId             = '\0';//WUFEI Modify 0812 orignal value is TxtLastCharge
        display_info.TextId2            = '\0';
        if( FFS_flashData.language==0 )
            display_info.TextString         = "\x80\x4e\x0a\x6b\x21\x90\x1a\x8b\xdd\x8d\x39\x75\x28\x00\x00";//WUFEI Modify 0812 orignal value is 0 ,now TxtLastCharge
        else
            display_info.TextString         ="Last Charge";//wufei modified 0827


        if( strlen(line)<3 )  //for gudy dialog hu binhao 2002-2-27
        {
            strcat(line,"  ");
        }
        display_info.TextString2        = line;
        display_info.KeyEvents          = KEY_CLEAR | KEY_RIGHT | KEY_HUP;
        display_info.LeftSoftKey        = '\0';
        display_info.RightSoftKey       = TxtSoftBack;  //hu binhao 2003-2-17
        display_info.Time               = FOREVER;
        display_info.iconindex              =REMIND_NORECORD;
        display_info.Identifier         = event;

        display_info.Callback           = (T_VOID_FUNC)service_dialog_cb;
        /*
         * Call Info Screen
         */
        info_dialog (win, &display_info);



        break;

    case SERVICES_TOTAL_CHARGE:

        memset(line,'\0',sizeof(line));

        cm_get_aoc_value(CM_AOC_ACM,&data->aocInfo);  /* Get the ACM      */
        cm_get_aoc_value(CM_AOC_PUCT,&data->aocInfo);    /* Get currency and price per unit */


        /* nm test only  set the default  */
        //		    data->aocInfo.acm=125;
        //		    strcpy ((char *)data->aocInfo.cur, "DM");
        //		    strcpy ((char *)data->aocInfo.ppu, "1.5");
        /* nm test only  set the default  */

        sprintf(buf, "ACM: %ld", data->aocInfo.acm); 
        TRACE_EVENT(buf);
        sprintf(buf, "PPU:%s", data->aocInfo.ppu); 
        TRACE_EVENT(buf);
        sprintf(buf, "CUR:%s", data->aocInfo.cur); 
        TRACE_EVENT(buf);


        if( (strlen((char*)data->aocInfo.ppu) EQ 0) && data->aocInfo.acm NEQ '\0' )
        {
            //show only the units ACM
            sprintf(line, "%ld", data->aocInfo.acm);    
            TRACE_EVENT ("get only :ACM ; PPU ==0 and ACM!=0");

        }
        if( (strlen((char*)data->aocInfo.ppu) NEQ 0) && data->aocInfo.acm NEQ '\0' )
        {

            service_calculate (win, (char*)line, data->aocInfo.acm);

            TRACE_EVENT ("calculate ACM * PPU; PPU !=0 and ACM!=0");
        }

        if( data->aocInfo.acm EQ '\0' )
            strcpy ((char *)line, "0");
        dialog_info_init(&display_info);//gdy add
        display_info.TextId             = '\0';//WUFEI Modify 0812 orignal value is TxtTotalCharge 
        display_info.TextId2            = '\0';
        if( FFS_flashData.language==0 )
            display_info.TextString         = "\x80\x7d\x2f\x8b\xa1\x90\x1a\x8b\xdd\x8d\x39\x75\x28\x00\x00";//WUFEI Modify 0812 orignal value is 0 now TxtTotalCharge
        else
            display_info.TextString         = "Total Charge";//wufei modified 0827

        if( strlen(line)<3 )  //for gudy dialog hu binhao 2002-2-27
        {
            strcat(line,"  ");
        }
        display_info.TextString2        = line;
        display_info.KeyEvents          = KEY_CLEAR | KEY_RIGHT| KEY_HUP;
        display_info.LeftSoftKey        = '\0';
        display_info.RightSoftKey       = TxtSoftBack;
        display_info.Time               = FOREVER;
        display_info.iconindex              =REMIND_NORECORD;
        display_info.Identifier         = event;

        display_info.Callback           = (T_VOID_FUNC)service_dialog_cb;
        /*
         * Call Info Screen
         */
        info_dialog (win, &display_info);

        break;
#endif

    case SERVICES_RESET_CHARGE:

        // clear the charge counter for all calls
        data->aocInfo.acm = 0;
        acm_last_call    = 0;

        cm_set_aoc_value(CM_AOC_ACM,&data->aocInfo, &PWD); /* save ACM in AOC */

        sprintf(buf, "%ld", data->aocInfo.acm); 
        TRACE_EVENT(buf);

        SEND_EVENT (win, SERVICES_CHARGE_CHANGED, 0, 0);

        break;

    case SERVICES_CHARGE_CHANGED:
        dialog_info_init(&display_info);//gdy add

        display_info.KeyEvents          = KEY_CLEAR | KEY_RIGHT | KEY_LEFT |KEY_HUP;
        display_info.LeftSoftKey        = '\0';
        display_info.RightSoftKey       = '\0';
        display_info.TextString         = '\0';
        display_info.TextString2        = '\0';
        display_info.TextId             = TxtResetCharge;
        display_info.TextId2            = TxtNull;
        display_info.Time               = FOREVER;
        display_info.Identifier         = event;
        display_info.iconindex          =REMIND_COMPLETE; //hubh 2003-4-9

        display_info.Callback           = (T_VOID_FUNC)service_dialog_cb;
        /*
         * Call Info Screen
         */
        info_dialog (win, &display_info);


        break;
    case SERVICES_OUT_OF_RANGE:
        dialog_info_init(&display_info);//gdy add
        TRACE_EVENT("SERVICES_OUT_OF_RANGE");

        display_info.KeyEvents          = KEY_CLEAR | KEY_RIGHT | KEY_LEFT | KEY_HUP;
        display_info.LeftSoftKey        = '\0';
        display_info.RightSoftKey       = '\0';
        display_info.TextString         = '\0';
        display_info.TextString2        = '\0';
        display_info.TextId             = TxtOutofRange;
        display_info.TextId2            = TxtNull;
        display_info.Time               = THREE_SECS;
        display_info.Identifier         = event;

        display_info.Callback           = (T_VOID_FUNC)service_dialog_cb;
        /*
         * Call Info Screen
         */
        info_dialog (win, &display_info);
        break;

    case SERVICES_AOC_NOT_SUPPORTED:

        TRACE_EVENT("SERVICES_OUT_OF_RANGE");
        dialog_info_init(&display_info);//gdy add

        display_info.KeyEvents          = KEY_CLEAR | KEY_RIGHT | KEY_LEFT | KEY_HUP;
        display_info.LeftSoftKey        = '\0';
        display_info.RightSoftKey       = '\0';
        display_info.TextString         = '\0';
        display_info.TextString2        = '\0';
        display_info.TextId             = TxtNotAllowed;
        display_info.TextId2            = TxtNull;
        display_info.Time               = THREE_SECS;
        display_info.Identifier         = event;

        display_info.Callback           = (T_VOID_FUNC)service_dialog_cb;
        /*
         * Call Info Screen
         */
        info_dialog (win, &display_info);
        break;
    case SERVICES_RATE_VIEW:                //WUFEI Add the following code
        memset(line,'\0',sizeof(line));
        dialog_info_init(&display_info);//gdy add

        cm_get_aoc_value(CM_AOC_PUCT,&data->aocInfo);    /* Get currency and price per unit */

        sprintf(buf, "PPU:%s", data->aocInfo.ppu); //WUFEI MODIFY
        TRACE_FUNCTION(buf);
        sprintf(buf, "CUR:%s", data->aocInfo.cur); //WUFEI MODIFY
        TRACE_FUNCTION(buf);

        if( strlen((char*)data->aocInfo.ppu) NEQ 0 )
        {
            sprintf(line, "%s %s", data->aocInfo.ppu, data->aocInfo.cur);     
            TRACE_FUNCTION ("get only :ACMMAX ; PPU ==0 and ACMMAX!=0");
        }
        //from ASCII TO GSM DEFAULT
        for( i=0; i< MAX_LINE; i++ )
        {
            if( line[i] EQ 0x80 OR line[i] EQ 0xFF )
                line[i] = '\0';
        }

        if( data->aocInfo.ppu NEQ '\0' )
        {
            display_info.TextId       = '\0';//WUFEI Modify 0812 orignal value is Txt1Unit
            display_info.TextId2      = '\0';//WUFEI Modify 0812 orignal value is TxtNull
            if( FFS_flashData.language==0 )
                display_info.TextString   = "\x80\x00\x31\x90\x1a\x8b\xdd\x53\x55\x4f\x4d\xff\x1d\x00\x00";//WUFEI Modify 0812 orignal value is 0 ,now txt1unit
            else
                display_info.TextString   = "1 Unit=...";//wufei modified 0827
            display_info.TextString2  = line;
        }
        else
        {
            display_info.TextId       = '\0';//WUFEI Modify 0812orignal value is TxtWithout
            display_info.TextId2      = '\0';//WUFEI Modify 0812 orignal value is TxtRate
            if( FFS_flashData.language==0 )
            {
                display_info.TextString   = "\x80\x90\x1a\x8b\xdd\x8d\x39\x73\x87\x00\x00";//WUFEI Modify 0812 orignal value is 0,now txtrate
                display_info.TextString2  = "\x80\x65\xe0\x00\x00";//WUFEI Modify 0812 orignal value is 0,now txtwithout
            }
            else
            {
                display_info.TextString   = "Rate";
                display_info.TextString2  = "NO";//wufei modified 0827
            }
        }

        display_info.KeyEvents          = KEY_CLEAR | KEY_RIGHT  | KEY_HUP;
        display_info.LeftSoftKey        = '\0';
        display_info.RightSoftKey       = TxtSoftBack;  //hu binhao 2003-2-17
        display_info.iconindex= REMIND_NORECORD;  /*2003/11/20, wangyan add*/
        display_info.Time               = THREE_SECS;
        display_info.Identifier         = event;
        display_info.Callback           = (T_VOID_FUNC)service_dialog_cb;
        /*
         * Call Info Screen
         */
        info_dialog (win, &display_info);

        break;

    case SERVICES_RATE_CANCEL:              //WUFEI Add the following code

        memset(data->aocInfo.ppu, '\0', sizeof(data->aocInfo.ppu));
        memset(data->aocInfo.cur, 0x80, sizeof(data->aocInfo.cur));
        // Password not necessary, Pin2 scenario done 
        PWD='\0';  

        sprintf(buf, "%s %s", data->aocInfo.ppu,data->aocInfo.cur); 
        TRACE_FUNCTION(buf);
        if( cm_set_aoc_value(CM_AOC_PUCT,&data->aocInfo, &PWD) EQ CM_OK )/* save ACMmax in AOC */

            SEND_EVENT (win, SERVICES_RATE_CHANGED, 0, 0);
        else
            SEND_EVENT (win, SERVICES_AOC_NOT_SUPPORTED, 0,0);
        break;
    }
}

//-----------------------------end of wufei modified------------------------------


/*******************************************************************************

 $Function:    	service_loadEditDefault

 $Description:	fill up editor-sttribut with default
 
 $Returns:		
 
 $Arguments:		
                
*******************************************************************************/
void service_loadEditDefault (T_EDITOR_DATA *editor_data) //wufei modified the value of px py sx xy/ 0813 
{
    TRACE_FUNCTION ("service_loadEditDefault()");


    editor_data->editor_attr.win.px   = 6;
    editor_data->editor_attr.win.py   = 38;
    editor_data->editor_attr.win.sx   = 100;
    editor_data->editor_attr.win.sy   = 58;
    editor_data->editor_attr.fgColor  = 0;
    editor_data->editor_attr.font     = 0;
    editor_data->editor_attr.mode     = edtCurBar1;
    editor_data->editor_attr.controls = 0;
    editor_data->editor_attr.text     = '\0';  
    editor_data->editor_attr.size     = 0;
    editor_data->editor_attr.e_size   = 0;          /* 2003/12/04 sunsj fix the ascii char text size */
    editor_data->hide                 = FALSE;
    editor_data->Identifier           = 0;  /* optional */
    //editor_data->mode               = DIGITS_MODE;
    editor_data->destroyEditor        = TRUE;   //2003-4-10
    editor_data->LeftSoftKey          = TxtSoftSelect;
    editor_data->AlternateLeftSoftKey = TxtNull;
    editor_data->RightSoftKey    

⌨️ 快捷键说明

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