如何从 TComPort - Delphi 获得正确的响应?
How to get just the correct response from TComPort - Delphi?
当我发送命令 "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
哪个是我想要的答案?
调制解调器响应是用逗号分隔的字符串包。
您可以:
- 将此字符串分配给 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
当我发送命令 "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
哪个是我想要的答案?
调制解调器响应是用逗号分隔的字符串包。
您可以:
- 将此字符串分配给 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