Склеить части строк с целой строкой

Есть текстовый файл со строками:

saa222+file1:12345
dss777+file2:1234
vcd555+file3:123

Нужно до символа + из строки извлечь все цифры и соединить их со строкой S, результат:

saa222+file1:12345222
dss777+file2:1234777
vcd555+file3:123555

Что я делаю, но вот в конце не соединяет, то есть где то есть ошибка, но где?

const
  numb = ['0' .. '9'];
     // работаем по строкам
          while not Eof(fall) do
          begin
            // читаем строку
            ReadLn(fall, s1);
        // читаем строку
            ReadLn(fall, S);
         
        
            // Обрезаем строку S1 до символа +
            s1 := Copy(s1, 1, Pos('+', s1) - 1);
        
            // Удаляем все буквы из строки S1
            for b := length(s1) downto 1 do
              if not(s1[b] in numb) then
                delete(s1, b, 1);
        
        // Склеиваем строки S+S1
             S:= S+S1;
            writeln(f1, S);
          end;

Ответы (1 шт):

Автор решения: MBo

Замените

 // читаем строку
        ReadLn(fall, s1);
    // читаем строку
        ReadLn(fall, S);

   // Обрезаем строку S1 до символа +
     s1 := Copy(s1, 1, Pos('+', s1) - 1);

на

 // читаем строку
        ReadLn(fall, S);
        s1 := Copy(S, 1, Pos('+', S) - 1);

 const
  numb = ['0' .. '9'];
var
  s, s1: string;
  b: Integer;
begin
   s := 'saa222+file1:12345';
   s1 := Copy(s, 1, Pos('+', s) - 1);
            // Удаляем все буквы из строки S1
            for b := length(s1) downto 1 do
              if not(s1[b] in numb) then
                delete(s1, b, 1);
    s:= s + s1;
   Writeln(S);

>>saa222+file1:12345222
→ Ссылка