Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   С/С++, C#, Delphi, .NET, Asm (https://forum.antichat.xyz/forumdisplay.php?f=24)
-   -   Работа со строками (https://forum.antichat.xyz/showthread.php?t=26493)

mcdelon 03.11.2006 21:40

Работа со строками
 
Делаю так

Код:

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

как сделать, подскажите, ничего не происходит

TaNkist 04.11.2006 08:46

Опиши поподробней, что ты хочешь получить этой функцией.
Следуя твоему коду, получается следдующее:
Если длина строки больше или равна 10, то строке R:='...', Потом строка в строку T Вставляется строка R, т.е. никакой замены то не происходит.
Также я не нашел ни одной функции преобразования строки в число, как это написано у тебя в коментах.

mcdelon 04.11.2006 12:48

Цитата:

Сообщение от TaNkist
Также я не нашел ни одной функции преобразования строки в число, как это написано у тебя в коментах.

Length(...) Этой функцией преобразую строку в число
В Общем надо узнать число символов(букв) в tabsheet1.caption и если символов больше 10 то после 10 символа обрубить всё и вставить '...'
А потом tabsheet1.caption присвоить полученный результат

TaNkist 04.11.2006 12:58

Lenght - возвращает длину строки, но никак не преобразует строка в число.
Если я правильно тебя понял, то код должен быть такой:
Код:

//Функция написана на скорую руку и не оптимизирована как следует.
var
 T: string;
 X: integer;
begin 
  X:=Length(T);
  if X>10 then
  begin
    delete(T,11,x-10);
    T:=T+'...';   
  end;
end;


mcdelon 04.11.2006 17:59

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;


Так!!!
Работает!
Спасибо за внимание


Время: 16:28