Верно, одну строковую переменную надо было оставить, тут всё правильно. Но:
- не сделали
- есть
- есть
- не сделали
- не сделали (где пробелы???)
- так, но if Eof(F) then Break тоже выше надо
- так, но такая белиберда с pos, delete и copy, что естественно тут ошибки
- читать вы не хотите, а не представляете, насколько сильно это облегчило б вам жизнь(практически до одной строчки)
- тоже нет
Pos(Substr: string; S: string) - даёт позицию первой строки во второй. Т.е.
I:=Pos('е', 'легко') сделает
I равным
2
Delete(var S: string; Index, Count:Integer) - процедура, а не функция, слева ничего не надо писать. Удаляет
Count символов(букв или цифр) у строки
S начиная с позиции под номером
Index. Если
S:='легко';, то
Delete(S, 3, 2) сделает
S равным
'лео'
Copy(S; Index, Count: Integer) возвращает часть строки, опять же
Count символов начиная с позиции
Index. Получаем
S:=Copy('легко', 3, 3) сделает
S равным
'гко'.
А вообще - читайте документацию.