В подобных случаях я делаю примерно так:
создаю тип данных, в данном случае
type
rec=record
name:string;
num:integer;
country:string;
end;
дальше создаю две функции, типа
function read(s:string):rec;
function write(r:rec):string;
функция read разбивает строку на составляющие и возвращает уже
запись, содержащую нужные поля;
функция write наоборот, формирует строку на основе записи.
Дальше все просто - читаем строку, получаем из неё данные с помощью read, изменяем или просто читаем нужные поля, снова собираем строку на основе измененной записи с помощью write и записываем в rms.