Работа со строками

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by mcdelon, 3 Nov 2006.

  1. mcdelon

    mcdelon New Member

    Joined:
    22 Oct 2006
    Messages:
    14
    Likes Received:
    0
    Reputations:
    0
    Делаю так

    Code:
    var
     R: string;
     T: string;
     X: integer;
    begin
      X := Length(T);
      if X >= 10 then
      //преобразую строку в число и проверяю если оно больше то
        R := '...';
      //R := Заменяю ... буквы после 10 символа
        Insert(R,T,10);
    как сделать, подскажите, ничего не происходит
     
  2. TaNkist

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

    Joined:
    6 Apr 2006
    Messages:
    147
    Likes Received:
    47
    Reputations:
    19
    Опиши поподробней, что ты хочешь получить этой функцией.
    Следуя твоему коду, получается следдующее:
    Если длина строки больше или равна 10, то строке R:='...', Потом строка в строку T Вставляется строка R, т.е. никакой замены то не происходит.
    Также я не нашел ни одной функции преобразования строки в число, как это написано у тебя в коментах.
     
  3. mcdelon

    mcdelon New Member

    Joined:
    22 Oct 2006
    Messages:
    14
    Likes Received:
    0
    Reputations:
    0
    Length(...) Этой функцией преобразую строку в число
    В Общем надо узнать число символов(букв) в tabsheet1.caption и если символов больше 10 то после 10 символа обрубить всё и вставить '...'
    А потом tabsheet1.caption присвоить полученный результат
     
  4. TaNkist

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

    Joined:
    6 Apr 2006
    Messages:
    147
    Likes Received:
    47
    Reputations:
    19
    Lenght - возвращает длину строки, но никак не преобразует строка в число.
    Если я правильно тебя понял, то код должен быть такой:
    Code:
    //Функция написана на скорую руку и не оптимизирована как следует.
    var
     T: string;
     X: integer;
    begin  
      X:=Length(T);
      if X>10 then
      begin
        delete(T,11,x-10);
        T:=T+'...';    
      end;
    end;
    
     
  5. mcdelon

    mcdelon New Member

    Joined:
    22 Oct 2006
    Messages:
    14
    Likes Received:
    0
    Reputations:
    0
    var
    T: string;
    X: integer;
    begin
    T := tabsheet.caption;
    X:=Length(T);
    if X>10 then
    begin
    delete(T,11,x-10);
    tabsheet.caption:=T+'...';
    end;
    end;


    Так!!!
    Работает!
    Спасибо за внимание
     
    #5 mcdelon, 4 Nov 2006
    Last edited: 4 Nov 2006