Logo Море(!) аналитической информации!
IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware
Архив форумов ЦИТФорума
Море(!) вопросов - Море(!) ответов
 
 FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 
Как правильно задавать вопросы

Выравнивание строки по обоим краям

 
Перейти:  
Этот форум закрыт, вы не можете писать новые сообщения и редактировать старые.   Эта тема закрыта, вы не можете писать ответы и редактировать сообщения.    Список форумов Архив форумов ЦИТФорума -> Программирование
Предыдущая тема :: Следующая тема  
Автор Сообщение
Tau



Зарегистрирован: 19.12.2001
Сообщения: 2
Откуда: Москва

СообщениеДобавлено: Ср Дек 19 2001 05:35    Заголовок сообщения: Выравнивание строки по обоим краям Ответить с цитатой

Если у кого есть, нужен 'простой' алгоритм субжа, а то все, что ни придумаю - весит строк 50-60, а хочется чего-то легковесного и приятного.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
cj



Зарегистрирован: 01.11.2001
Сообщения: 22

СообщениеДобавлено: Ср Дек 19 2001 16:00    Заголовок сообщения: Выравнивание строки по обоим краям Ответить с цитатой

а какой алгоритм получился?
мне надо просто сделать аналогичную задачу!

я предлагаю сделать следующим образом:

в зависемости от ширены страницы, надо брать максимальное колличество слов(которое может в ней поместиться), а пустые места расширять пробелами!

вся проблема в простой реадизации первой задачи! получаеться очень сложная структура!


буду рад если вы пришлете мне на мыло свой вариант решения этой задачи!!!
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Mike



Зарегистрирован: 17.11.2001
Сообщения: 339
Откуда: ekb

СообщениеДобавлено: Вс Дек 23 2001 22:22    Заголовок сообщения: Как тебе такая шняга для Бильдера ? (только не указывай в вызове RS :) Ответить с цитатой

AnsiString WidthString(AnsiString s,int LL,AnsiString RS="")
{
TStringList *S=new TStringList;
int L=s.Length();
for(int i=1,j;i' 'Wink i++;
if (ij) if (unsigned(s[i-1])' ') S-Add(s.SubString(j,i-j)+" "); }
for(int i=0;iCount;) {
int L=0,j=i,N=0,L2=0;
while(LCount) L+=(L2=S-Strings[i++].Length()),N++;
if (LLL && N1) L-=L2,i--,N--;
int DL=(N1)? (LL-L)/(N-1):0;
if (DLStrings[j]+sp;
str=str.Trim();
if (N0) {
int DDL=LL-str.Length()-S-Strings[j].Length()+1;
if (DDLStrings[j++]; }
RS=RS.Trim()+"\r\n"+str; }
delete S;
return RS;
}
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
Mike



Зарегистрирован: 17.11.2001
Сообщения: 339
Откуда: ekb

СообщениеДобавлено: Вс Дек 23 2001 22:24    Заголовок сообщения: Re: Как тебе такая шняга для Бильдера ? (только не указывай в вызове RS :) Ответить с цитатой

Класс! она съела все знаки больше и меньше и т.п.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
Mike



Зарегистрирован: 17.11.2001
Сообщения: 339
Откуда: ekb

СообщениеДобавлено: Вс Дек 23 2001 22:26    Заголовок сообщения: Re: Как тебе такая шняга для Бильдера ? (только не указывай в вызове RS :) Ответить с цитатой

Да, стало абсолютно нечитаемо, если сильно надо, могу намылить
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
Mike



Зарегистрирован: 17.11.2001
Сообщения: 339
Откуда: ekb

СообщениеДобавлено: Вс Дек 23 2001 22:50    Заголовок сообщения: Должно проканать Ответить с цитатой

AnsiString WidthString(AnsiString s,int LL,AnsiString RS="")
{
TStringList *S = new TStringList;
int L = s.Length();
for(int i = 1,j;i ' 'Wink i++;
if (i j) if (unsigned(s[i - 1]) ' ') S - Add(s.SubString(j,i-j)+" "); }
for(int i = 0;i Count;) {
int L = 0,j = i,N = 0,L2 = 0;
while(L Count) L + = (L2 = S - Strings[i++].Length()),N++;
if (L LL && N 1) L - = L2,i--,N--;
int DL = (N 1)? (LL-L)/(N-1):0;
if (DL Strings[j]+sp;
str=str.Trim();
if (N 0) {
int DDL = LL-str.Length() - S - Strings[j].Length()+1;
if (DDL Strings[j++]; }
RS = RS.Trim()+"\r\n" + str; }
delete S;
return RS;
}
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
Mike



Зарегистрирован: 17.11.2001
Сообщения: 339
Откуда: ekb

СообщениеДобавлено: Вс Дек 23 2001 22:50    Заголовок сообщения: Должно проканать Ответить с цитатой

AnsiString WidthString(AnsiString s,int LL,AnsiString RS="")
{
TStringList *S = new TStringList;
int L = s.Length();
for(int i = 1,j;i ' 'Wink i++;
if (i j) if (unsigned(s[i - 1]) ' ') S - Add(s.SubString(j,i-j)+" "); }
for(int i = 0;i Count;) {
int L = 0,j = i,N = 0,L2 = 0;
while(L Count) L + = (L2 = S - Strings[i++].Length()),N++;
if (L LL && N 1) L - = L2,i--,N--;
int DL = (N 1)? (LL-L)/(N-1):0;
if (DL Strings[j]+sp;
str=str.Trim();
if (N 0) {
int DDL = LL-str.Length() - S - Strings[j].Length()+1;
if (DDL Strings[j++]; }
RS = RS.Trim()+"\r\n" + str; }
delete S;
return RS;
}
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
Mike



Зарегистрирован: 17.11.2001
Сообщения: 339
Откуда: ekb

СообщениеДобавлено: Вс Дек 23 2001 22:50    Заголовок сообщения: Re: Как тебе такая шняга для Бильдера ? (только не указывай в вызове RS :) Ответить с цитатой

AnsiString WidthString(AnsiString s,int LL,AnsiString RS="")
{
TStringList *S = new TStringList;
int L = s.Length();
for(int i = 1,j;i ' 'Wink i++;
if (i j) if (unsigned(s[i - 1]) ' ') S - Add(s.SubString(j,i-j)+" "); }
for(int i = 0;i Count;) {
int L = 0,j = i,N = 0,L2 = 0;
while(L Count) L + = (L2 = S - Strings[i++].Length()),N++;
if (L LL && N 1) L - = L2,i--,N--;
int DL = (N 1)? (LL-L)/(N-1):0;
if (DL Strings[j]+sp;
str=str.Trim();
if (N 0) {
int DDL = LL-str.Length() - S - Strings[j].Length()+1;
if (DDL Strings[j++]; }
RS = RS.Trim()+"\r\n" + str; }
delete S;
return RS;
}
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
Mike



Зарегистрирован: 17.11.2001
Сообщения: 339
Откуда: ekb

СообщениеДобавлено: Вс Дек 23 2001 22:51    Заголовок сообщения: Re: Должно проканать Ответить с цитатой

Умная, зараза
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
Tau



Зарегистрирован: 19.12.2001
Сообщения: 2
Откуда: Москва

СообщениеДобавлено: Чт Янв 10 2002 03:35    Заголовок сообщения: Да я полчаса в ванной посидел и придумал :)(-) Ответить с цитатой

.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Показать сообщения:   
Этот форум закрыт, вы не можете писать новые сообщения и редактировать старые.   Эта тема закрыта, вы не можете писать ответы и редактировать сообщения.    Список форумов Архив форумов ЦИТФорума -> Программирование Часовой пояс: GMT + 3
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах


Powered by phpBB © 2001, 2002 phpBB Group
Русская поддержка phpBB

 

IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

Информация для рекламодателей PR-акции, размещение рекламы — adv@citforum.ru,
тел. +7 495 6608306, ICQ 232284597
Пресс-релизы — pr@citforum.ru
Послать комментарий
Информация для авторов
This Web server launched on February 24, 1997
Copyright © 1997-2000 CIT, © 2001-2006 CIT Forum
Внимание! Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Подробнее...