0

当我发送命令 "AT+CUSD=1,"*200#",15" 我得到响应:

OK


+CUSD: 0,"Crdit :1.33DA au 21/05/20.Credit offert :0DA",15  

是否有一个函数或另一个 AT 命令来获取

Crdit :1.33DA au 21/05/20.Credit offert :0DA 

这是我想要的答案?

4

1 回答 1

2

调制解调器响应是用逗号分隔的字符串包。

您可以:
- 分配此字符串以TStringList.DelimitedText获取单个子字符串的集合
- 通过第 0 个项目识别包 - 此处'CUSD'
- 将第 1 个项目作为'Crdit...'

Memo.Lines(类型)的示例TStrings

var
  s: string;
  sl: TStringList;
begin
  s := '+CUSD: 0,"Crdit :1.33DA au 21/05/20.Credit offert :0DA",15';
  sl := TStringList.Create; 
  try
    sl.Delimiter := ',';
    sl.StrictDelimiter := True;
    sl.DelimitedText := s;
    Memo1.Lines.Add(sl[1]);
  finally
    sl.Free;

result in sl:
 +CUSD: 0
 Crdit :1.33DA au 21/05/20.Credit offert :0DA
 15
in Memo:
 Crdit :1.33DA au 21/05/20.Credit offert :0DA
于 2019-12-03T15:40:02.520 回答