如何从Pascal TextEdit GUI中的String条目中提取实部和虚部?

时间:2018-11-06 13:03:18

标签: delphi delphi-2009

我正在尝试使用Delphi Pascal创建一个复数计算器。第一部分是提取字符串条目,通过在'i'上插入定界符来分离实部和虚部。例如:一个数字条目可以是: 7 + 2i 或任何其他组合。这是我的方法:

TForm2.btnExtractClick(Sender: TObject);
var sCode, pic: string;
    sConst: integer;
     im,re: integer;
    iConst: string;
    j,k, delimiterPos: integer;
 begin
 memDisplay.Clear;
 sCode := Edit1.Text;
 sConst := Pos (sCode, 'i');
 im := StrToInt(Copy(sCode, sConst - 1));
 Delete(sCode, sConstant - 1, im);
 re := StrToInt(sCode);

但是我遇到以下错误:

enter image description here

enter image description here

1 个答案:

答案 0 :(得分:1)

您搜索的子字符串应该是Pos的第一个参数。

替换

Pos(sCode, 'i')

Pos('i', sCode)

此功能记录在这里:http://docwiki.embarcadero.com/Libraries/en/System.Pos

您的代码还有许多其他问题,但这可以回答这里提出的主要问题,即为什么Pos返回0。我不会尝试调试您的其余代码,尤其是因为这不是您的真实代码,因为它包含编译错误。

要解决代码中的后续问题,您必须学习使用调试器。每行代码执行完毕后,逐步遍历代码并检查每个局部变量的值。将调试器下看到的值与基于纸张静态分析的期望值进行比较。