📄 cdmasms.~cpp
字号:
break;
case 4:
Type= Type+"Delivery Acknowledgment (mobile-terminated only)";
break;
case 5:
Type= Type+"User Acknowledgment (either direction)";
break;
}
Form1->SMSMemo->Lines->Append(Type);
}
if(output_sms.OriAddrLen!=0)
{
int len;
int i;
AnsiString OriStr;
OriStr = "源地址::";
len = output_sms.OriAddrLen;
for(i=0;i<len;i++)
OriStr = OriStr+(IntToStr)((int)(output_sms.OriAddr[i]));
Form1->SMSMemo->Lines->Append(OriStr);
}
if(output_sms.DesAddrLen!=0)
{
int len;
int i;
AnsiString DesStr;
DesStr = "目的地址::";
len = output_sms.DesAddrLen;
for(i=0;i<len;i++)
DesStr = DesStr+(IntToStr)((int)(output_sms.DestAddr[i]));
Form1->SMSMemo->Lines->Append(DesStr);
}
if(output_sms.Have_Bearer_reply!=0)
{
AnsiString Reply_SEQ;
Reply_SEQ="应答序号::"+(IntToStr)((int)(output_sms.Bearer_reply));
Form1->SMSMemo->Lines->Append(Reply_SEQ);
}
if(output_sms.Have_Cause_codes!=0)
{
AnsiString Error_class;
AnsiString Cause_codes;
Error_class="错误类型::";
Cause_codes="错误原因::";
switch(output_sms.Error_class)
{
case 0:
Error_class=Error_class+"无错误";
break;
case 2:
Error_class=Error_class+"the error is caused by a temporary condition";
break;
case 3:
Error_class=Error_class+"the error is caused by a permanent condition";
break;
default:
Error_class=Error_class+"保留字段";
}
Form1->SMSMemo->Lines->Append(Error_class);
if(output_sms.Error_class!=0)
{
switch(output_sms.Cause_codes)
{
case 0:
Cause_codes=Cause_codes+"Address vacant.";
break;
case 1:
Cause_codes=Cause_codes+"Address translation failure.";
break;
case 2:
Cause_codes=Cause_codes+"Network resource shortage.";
break;
case 3:
Cause_codes=Cause_codes+"Network failure.";
break;
case 4:
Cause_codes=Cause_codes+"Invalid Teleservice ID.";
break;
case 5:
Cause_codes=Cause_codes+"Other network problem.";
break;
default:
Cause_codes=Cause_codes+"保留字段";
}
Form1->SMSMemo->Lines->Append(Cause_codes);
}
}
if(output_sms.callbackLen!=0)
{
int len;
int i;
AnsiString number;
number = "回叫号码::";
len = output_sms.callbackLen;
for(i=0;i<len;i++)
number = number+(IntToStr)((int)(output_sms.callbackNumber[i]));
Form1->SMSMemo->Lines->Append(number);
}
if(output_sms.Res_code!=0)
{
AnsiString Res_code;
Res_code= "用户响应码::";
Res_code = Res_code+(IntToStr)((int)(output_sms.Res_code));
Form1->SMSMemo->Lines->Append(Res_code);
}
if(output_sms.timerLen!=0)
{
int i;
AnsiString time;
time = "时间::";
time = time+(AnsiString)((int)(2000+output_sms.timer.year))+"年";
time = time+(AnsiString)((int)(output_sms.timer.month))+"月";
time = time+(AnsiString)((int)(output_sms.timer.day))+"日";
time = time+(AnsiString)((int)(output_sms.timer.hour))+"时";
time = time+(AnsiString)((int)(output_sms.timer.minute))+"分";
time = time+(AnsiString)((int)(output_sms.timer.second))+"秒";
Form1->SMSMemo->Lines->Append(time);
}
if(output_sms.Val_per_A_len!=0)
{
AnsiString time;
time = "绝对有效期::";
time = time+(AnsiString)((int)(2000+output_sms.Val_per_A.year))+"年";
time = time+(AnsiString)((int)(output_sms.Val_per_A.month))+"月";
time = time+(AnsiString)((int)(output_sms.Val_per_A.day))+"日";
time = time+(AnsiString)((int)(output_sms.Val_per_A.hour))+"时";
time = time+(AnsiString)((int)(output_sms.Val_per_A.minute))+"分";
time = time+(AnsiString)((int)(output_sms.Val_per_A.second))+"秒";
Form1->SMSMemo->Lines->Append(time);
}
if(output_sms.Have_Val_per_R!=0)
{
int value=0;
AnsiString Val_per_R;
Val_per_R= "相对有效期::";
if(output_sms.Val_per_R<=143)
{
value=(output_sms.Val_per_R+1)*5;
Val_per_R = Val_per_R+(IntToStr)((int)(value))+"分";
}
if(output_sms.Val_per_R>=144 && output_sms.Val_per_R<=167)
{
value=(output_sms.Val_per_R-143)/2+12;
Val_per_R = Val_per_R+(IntToStr)((int)(value))+"小时";
value=((output_sms.Val_per_R-143)%2)*30;
Val_per_R = Val_per_R+(IntToStr)((int)(value))+"分";
}
if(output_sms.Val_per_R>=168 && output_sms.Val_per_R<=196)
{
value=output_sms.Val_per_R-166;
Val_per_R = Val_per_R+(IntToStr)((int)(value))+"天";
}
if(output_sms.Val_per_R>=197 && output_sms.Val_per_R<=244)
{
value=output_sms.Val_per_R-192;
Val_per_R = Val_per_R+(IntToStr)((int)(value))+"星期";
}
if(output_sms.Val_per_R==245)
{
Val_per_R = Val_per_R+"不确定";
}
if(output_sms.Val_per_R==246)
{
Val_per_R = Val_per_R+"立即发送,如果不能立即发送则丢弃。";
}
if(output_sms.Val_per_R==247)
{
Val_per_R = Val_per_R+"Valid until mobile becomes inactive/Deliver when mobile next becomes active";
}
if(output_sms.Val_per_R==248)
{
Val_per_R = Val_per_R+"Valid until registration area changes,discard if not registered";
}
if(output_sms.Val_per_R>=249)
{
Val_per_R = Val_per_R+"保留字段";
}
Form1->SMSMemo->Lines->Append(Val_per_R);
}
if(output_sms.Def_del_time_A_len!=0)
{
AnsiString time;
time = "绝对延迟发送时间::";
time = time+(AnsiString)((int)(2000+output_sms.Def_del_time_A.year))+"年";
time = time+(AnsiString)((int)(output_sms.Def_del_time_A.month))+"月";
time = time+(AnsiString)((int)(output_sms.Def_del_time_A.day))+"日";
time = time+(AnsiString)((int)(output_sms.Def_del_time_A.hour))+"时";
time = time+(AnsiString)((int)(output_sms.Def_del_time_A.minute))+"分";
time = time+(AnsiString)((int)(output_sms.Def_del_time_A.second))+"秒";
Form1->SMSMemo->Lines->Append(time);
}
if(output_sms.Have_Def_del_time_R!=0)
{
int value=0;
AnsiString Def_del__time_A;
Def_del__time_A= "相对延迟发送时间::";
if(output_sms.Def_del_time_R<=143)
{
value=(output_sms.Def_del_time_R+1)*5;
Def_del__time_A = Def_del__time_A+(IntToStr)((int)(value))+"分";
}
if(output_sms.Def_del_time_R>=144 && output_sms.Def_del_time_R<=167)
{
value=(output_sms.Def_del_time_R-143)/2+12;
Def_del__time_A = Def_del__time_A+(IntToStr)((int)(value))+"小时";
value=((output_sms.Def_del_time_R-143)%2)*30;
Def_del__time_A = Def_del__time_A+(IntToStr)((int)(value))+"分";
}
if(output_sms.Def_del_time_R>=168 && output_sms.Def_del_time_R<=196)
{
value=output_sms.Def_del_time_R-166;
Def_del__time_A = Def_del__time_A+(IntToStr)((int)(value))+"天";
}
if(output_sms.Def_del_time_R>=197 && output_sms.Def_del_time_R<=244)
{
value=output_sms.Def_del_time_R-192;
Def_del__time_A = Def_del__time_A+(IntToStr)((int)(value))+"星期";
}
if(output_sms.Def_del_time_R==247)
{
Def_del__time_A = Def_del__time_A+"Valid until mobile becomes inactive/Deliver when mobile next becomes active";
}
Form1->SMSMemo->Lines->Append(Def_del__time_A);
}
if(output_sms.Have_Priority_Indicator!=0)
{
AnsiString Prio_Ind;
Prio_Ind= "优先级标志::";
switch(output_sms.Priority_Indicator)
{
case 0:
Prio_Ind = Prio_Ind+"Normal";
break;
case 1:
Prio_Ind = Prio_Ind+"Interactive";
break;
case 2:
Prio_Ind = Prio_Ind+"Urgent";
break;
case 3:
Prio_Ind = Prio_Ind+"Emergency";
break;
}
Form1->SMSMemo->Lines->Append(Prio_Ind);
}
if(output_sms.Have_Privacy_Indicator!=0)
{
AnsiString Priv_Ind;
Priv_Ind= "密级标志::";
switch(output_sms.Privacy_Indicator)
{
case 0:
Priv_Ind = Priv_Ind+"Not restricted (privacy level 0)";
break;
case 1:
Priv_Ind = Priv_Ind+"Restricted (privacy level 1)";
break;
case 2:
Priv_Ind = Priv_Ind+"Confidential (privacy level 2)";
break;
case 3:
Priv_Ind = Priv_Ind+"Secret (privacy level 3)";
break;
}
Form1->SMSMemo->Lines->Append(Priv_Ind);
}
if(output_sms.Have_Reply_Option!=0)
{
AnsiString Rep_opt;
char User_ack_req;
char Dak_req;
User_ack_req=(output_sms.Reply_Option>>7)&0x1;
Dak_req=(output_sms.Reply_Option>>6)&0x1;
if(User_ack_req==0 && Dak_req==0)
{
;
}
else
{
Rep_opt="Positive user (manual) acknowledgment requested::";
if(User_ack_req==0)
Rep_opt+="否";
if(User_ack_req==1)
Rep_opt+="是";
Form1->SMSMemo->Lines->Append(Rep_opt);
Rep_opt="Delivery acknowledgment request::";
if(Dak_req==0)
Rep_opt+="否";
if(Dak_req==1)
Rep_opt+="是";
Form1->SMSMemo->Lines->Append(Rep_opt);
}
}
if(output_sms.Have_Num_Of_Msgs!=0)
{
AnsiString number;
number= "消息数量::";
number=number+(AnsiString)((int)(output_sms.Num_Of_Msgs));
Form1->SMSMemo->Lines->Append(number);
}
if(output_sms.Have_Priority_Indicator!=0)
{
AnsiString Alert_Pri;
Alert_Pri= "提醒优先级标志::";
switch(output_sms.Alert_on_msg)
{
case 0:
Alert_Pri = Alert_Pri+"Use Mobile default alert";
break;
case 1:
Alert_Pri = Alert_Pri+"Use Low-priority alert";
break;
case 2:
Alert_Pri = Alert_Pri+"Use Medium-priority alert";
break;
case 3:
Alert_Pri = Alert_Pri+"Use High-priority alert";
break;
}
Form1->S
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -