Как извлечь реальную часть и мнимую часть из записи String в графическом интерфейсе Pascal TextEdit? - PullRequest
0 голосов
/ 06 ноября 2018

Я пытаюсь создать калькулятор комплексных чисел, используя 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 голосов
/ 06 ноября 2018

Подстрока, которую вы ищете, должна быть первым аргументом Pos.

Заменить

Pos(sCode, 'i')

с

Pos('i', sCode)

Эта функция описана здесь: http://docwiki.embarcadero.com/Libraries/en/System.Pos

Есть много других проблем с вашим кодом, но это отвечает на основной вопрос, поставленный здесь, а именно, почему Pos возвращает 0. Я не буду пытаться отлаживать остальную часть вашего кода, не в последнюю очередь потому, что это не ваш настоящий код, поскольку он содержит ошибки компиляции.

Чтобы устранить последующие проблемы в вашем коде, вы должны научиться использовать отладчик. Пошагово просматривайте код и проверяйте значение каждой локальной переменной после выполнения каждой строки кода. Сравните значения, которые вы видите в отладчике, со значениями, которые вы ожидаете увидеть на основе статического анализа на бумаге.

...