ну т.е. если пользоваться кодом #17 то сдвиг идет слева-направо (с начала строки в конец строки) вотъ хотелось бы чтобы наоборот все осуществлялось.
Писал же: Вместо: insert('_',S,Paste+j); использовать: insert('_',S,length(s)-Paste+j); Берем длину сообщения: length(s) Вычитаем из нее нужное число: Paste добавляем сдвиг : j (это что бы не учитывались ранее вставленые _ ) Вот исправленый пример во 2 варианте: PHP: procedure TForm1.Button1Click(Sender: TObject); const Delimiter=','; Replacement='_'; var I:integer; Num,Str:string; begin Str:=edit1.text; Num:=edit2.text+Delimiter; I:=0; {новая позиция, с уже добавлеными символами} While length(Num)>0 do begin insert(Replacement,Str,length(Str)-strtoint(copy(Num,1,pos(Del imiter,Num)-1))+I); delete(Num,1,pos(Delimiter,Num)); inc(I); end; edit1.Text:=Str; end;