Передвинуть символа в строке

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by Ss[x]dD, 30 Mar 2010.

  1. Ss[x]dD

    Ss[x]dD New Member

    Joined:
    7 Jun 2009
    Messages:
    31
    Likes Received:
    0
    Reputations:
    0
    ну т.е. если пользоваться кодом #17 то сдвиг идет слева-направо (с начала строки в конец строки) вотъ хотелось бы чтобы наоборот все осуществлялось.
     
  2. JnK

    JnK Elder - Старейшина

    Joined:
    30 Mar 2007
    Messages:
    125
    Likes Received:
    21
    Reputations:
    0
    Писал же:
    Вместо:
    insert('_',S,Paste+j);
    использовать:
    insert('_',S,length(s)-Paste+j);

    Берем длину сообщения: length(s)
    Вычитаем из нее нужное число: Paste
    добавляем сдвиг : j (это что бы не учитывались ранее вставленые _ )

    Вот исправленый пример во 2 варианте:
    PHP:
    procedure TForm1.Button1Click(SenderTObject);
    const
      
    Delimiter=',';
      
    Replacement='_';
    var
      
    I:integer;
      
    Num,Str:string;
    begin
      Str
    :=edit1.text;
      
    Num:=edit2.text+Delimiter;
      
    I:=0; {новая позицияс уже добавлеными символами}
      While 
    length(Num)>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;
     
    #22 JnK, 4 Apr 2010
    Last edited: 4 Apr 2010