Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Программирование игр для мобильных телефонов > MidletPascal > Наше Open Source Software

Наше Open Source Software Наработки для использования в Ваших проектах

Ответ
 
Опции темы
Старый 09.04.2013, 23:01   #1
Maga05
Оператор ЭВМ
 
Регистрация: 17.12.2011
Сообщений: 26
Написано 4 полезных сообщений
(для 5 пользователей)
Обрезка строки по ширине

Функция обрезает строку s, если ее ширина больше ширины width, или возвращает строку s, если ширина строки меньше ширины width. symbol - строка, вставляемая в конец возвращаемой строки, если строка не помещается в ширину width, при этом ширина с символом умещается в ширину (учитывайте это, т. к. если не использовать дополнительный символ больше места останется для строки s), либо используйте строку '(none)', если символ не нужен.

fitstring(s,symbol: string;width: integer): string;

var
strw, i, n: integer;
ch: char;
ws: string;
begin
strw:= 0;
i := 0;if TextWidth(s)>width then
begin
if locase(symbol)='(none)' then width:=width;
else width:=width-TextWidth(symbol);
while (true) do
begin
ch:=GetChar(s, i);
strw:= strw+TextWidth(ch);
if strw > width then break;
else
ws:=ws+ch;
i:=i+1;
end;
if locase(symbol)='(none)' then fitstring := ws;
else
fitstring := ws+symbol;
end;
else
fitstring:=s;
end;
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Часовой пояс GMT +4, время: 09:37.


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com