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

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

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

Основной форум Сюда все проблемы связанные с программированием.

Ответ
 
Опции темы
Старый 15.03.2010, 16:09   #1
Dimon
Оператор ЭВМ
 
Регистрация: 22.02.2010
Сообщений: 48
Написано одно полезное сообщение
Форматирование по центру

Можно ли мне сделать так, чтобы ввеённый текст всегда отображался по центру относительно ширины экрана.
Я могу например для каждого потстраивать
DrawText(text, wi/2 - 50, 4);
DrawText(text, wi/2 - 30, 4);
Можно ли сделать чтоб для любой переменной text, заданной ей текст был по центру относиттельно ширины? Высота мне не так важна.
т. Е если текст состоит из 10 символов, то DrawText(text, wi/2 - 5, 4); и.т.д чтоб сам определял. Я просто не знаю как получить кол-во символов в переменной string.
(Offline)
 
Ответить с цитированием
Старый 15.03.2010, 17:47   #2
odd
Мастер
 
Аватар для odd
 
Регистрация: 06.09.2007
Адрес: Донецк, ДНР
Сообщений: 1,023
Написано 298 полезных сообщений
(для 713 пользователей)
Ответ: Форматирование по центру

DrawText(textwi/GetStringWidth(text)/24); 
(Offline)
 
Ответить с цитированием
Эти 2 пользователя(ей) сказали Спасибо odd за это полезное сообщение:
ABTOMAT (15.03.2010), Dimon (17.03.2010)
Старый 17.03.2010, 16:01   #3
Dimon
Оператор ЭВМ
 
Регистрация: 22.02.2010
Сообщений: 48
Написано одно полезное сообщение
Ответ: Форматирование по центру

А как сделать, чтоб если длина текста не умещалась в экран, то рисовались только умещающие символы, а в конце ставились 3 точки.
if GetStringWidth(text) < wi then
DrawString(text, wi/2 - GetStringWidth(ver)/2, 4);
else ....
что правильно сделать, подскажите пожалуйста.
(Offline)
 
Ответить с цитированием
Старый 17.03.2010, 19:14   #4
Bruteo
ПроЭктировщик
 
Регистрация: 31.01.2007
Сообщений: 128
Написано 20 полезных сообщений
(для 43 пользователей)
Ответ: Форматирование по центру

Посчитать сколько букв уместится в ширине минус три точки. У каждой буквы ширина может быть уникальной. Поэтому примерно прикинуть сколько букв, а потом добавлять или удалять по одной, пока не будет достигнут нужный размер.
И вывести эти буквы, а потом три точки.
(Offline)
 
Ответить с цитированием
Старый 17.03.2010, 19:48   #5
Dimon
Оператор ЭВМ
 
Регистрация: 22.02.2010
Сообщений: 48
Написано одно полезное сообщение
Ответ: Форматирование по центру

Сообщение от Bruteo Посмотреть сообщение
Посчитать сколько букв уместится в ширине минус три точки. У каждой буквы ширина может быть уникальной. Поэтому примерно прикинуть сколько букв, а потом добавлять или удалять по одной, пока не будет достигнут нужный размер.
И вывести эти буквы, а потом три точки.
я ничё не понял. мне нужно мулитиэкран чтоб был. пусть лучше скажет odd или кто-нибудь другой пояснее
(Offline)
 
Ответить с цитированием
Старый 17.03.2010, 22:17   #6
cherepets
Бывалый
 
Регистрация: 18.08.2009
Сообщений: 745
Написано 146 полезных сообщений
(для 215 пользователей)
Ответ: Форматирование по центру

просто условие с if убери (первую и 3ю строку)
(Offline)
 
Ответить с цитированием
Старый 17.03.2010, 22:34   #7
Dimon
Оператор ЭВМ
 
Регистрация: 22.02.2010
Сообщений: 48
Написано одно полезное сообщение
Ответ: Форматирование по центру

Сообщение от cherepets Посмотреть сообщение
просто условие с if убери (первую и 3ю строку)
тогда если длина текста будет больше ширины экрана, то этот пункт не будет работать
(Offline)
 
Ответить с цитированием
Старый 18.03.2010, 00:58   #8
cherepets
Бывалый
 
Регистрация: 18.08.2009
Сообщений: 745
Написано 146 полезных сообщений
(для 215 пользователей)
Ответ: Форматирование по центру

сотри и посмотри
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Dimon (18.03.2010)
Старый 18.03.2010, 15:14   #9
Dimon
Оператор ЭВМ
 
Регистрация: 22.02.2010
Сообщений: 48
Написано одно полезное сообщение
Ответ: Форматирование по центру

Сообщение от cherepets Посмотреть сообщение
сотри и посмотри
на больших экранах всё работает, а на маленьких нет!
(Offline)
 
Ответить с цитированием
Старый 18.03.2010, 15:20   #10
Dimon
Оператор ЭВМ
 
Регистрация: 22.02.2010
Сообщений: 48
Написано одно полезное сообщение
Ответ: Форматирование по центру

ладно всё ухитрился так
if GetStringWidth(text) < wi then
DrawString(text, wi/2 - GetStringWidth(ver)/2, 4);
else DrawString(ver, 1, 4);
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

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

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


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


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