Подстрока, которую вы ищете, должна быть первым аргументом Pos
.
Заменить
Pos(sCode, 'i')
с
Pos('i', sCode)
Эта функция описана здесь: http://docwiki.embarcadero.com/Libraries/en/System.Pos
Есть много других проблем с вашим кодом, но это отвечает на основной вопрос, поставленный здесь, а именно, почему Pos
возвращает 0
. Я не буду пытаться отлаживать остальную часть вашего кода, не в последнюю очередь потому, что это не ваш настоящий код, поскольку он содержит ошибки компиляции.
Чтобы устранить последующие проблемы в вашем коде, вы должны научиться использовать отладчик. Пошагово просматривайте код и проверяйте значение каждой локальной переменной после выполнения каждой строки кода. Сравните значения, которые вы видите в отладчике, со значениями, которые вы ожидаете увидеть на основе статического анализа на бумаге.