forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Библиотеки (http://forum.boolean.name/forumdisplay.php?f=124)
-   -   Lib_text: вывод текста в окно с переносом и стилями (http://forum.boolean.name/showthread.php?t=6093)

Piligrim 09.07.2008 11:40

Lib_text: вывод текста в окно с переносом и стилями
 
Вложений: 1
При разработке графических приложений часто возникает необходимость вывести какой-нибудь текст на экран. Если сообщение небольшое, то с этой задачей прекрасно справляется метод drawString,. Проблемы возникают при выводе длинного текста. Класс Graphics не содержит встроенного метода для отображения многострочного текста, поэтому перенос строк в j2me приходится реализовывать вручную.
Собственно, оригинал статьи http://www.mobilab.ru/articles/96/
Библиотека полностью реализует возможности класса.
Константы для шрифтов:
Код:

STYLE_PLAIN = 0;
STYLE_BOLD = 1;
STYLE_ITALIC = 2;
STYLE_UNDERLINED = 4;
SIZE_SMALL = 8;
SIZE_MEDIUM = 0;
SIZE_LARGE = 16;
FACE_SYSTEM = 0;
FACE_MONOSPACE = 32;
FACE_PROPORTIONAL = 64;


Phantom 09.07.2008 13:26

Ответ: Lib_text: вывод текста в окно с переносом и стилями
 
Блин. Я так и делал, только без:
PHP код:

public static void init() {
            
MLT = new MultiLineText();
    } 

=)

odd 09.07.2008 22:24

Ответ: Lib_text: вывод текста в окно с переносом и стилями
 
Опередили. А так хотелось самому сделать. :-(
Впрочем, есть у меня мысли по улучшению...

Piligrim 09.07.2008 23:13

Ответ: Lib_text: вывод текста в окно с переносом и стилями
 
Извиняюсь, устал смотреть как каменный цветок выходит :(

Strelok 11.07.2008 22:49

Ответ: Lib_text: вывод текста в окно с переносом и стилями
 
pilgrim, а можешь добавить функцию чтоб возвращала на сколько строк разбило текст? Очень надо

Piligrim 12.07.2008 16:00

Ответ: Lib_text: вывод текста в окно с переносом и стилями
 
Strelok, да могу конечно.
Кстати, сто лет не писал ничего на МР, забыл уже. Константы для шрифтов подойдут из самого МР, те, которые используются в SetFont.

Phantom 12.09.2008 05:18

Ответ: Lib_text: вывод текста в окно с переносом и стилями
 
Вот в этом классе используется вектор. То, что работа с ним медленнее, чем с массивом, - я понял. А по памяти как? Намного больше массива он потребляет? Там в вектор заносятся слова, как я понял. А числа в нём хранить можно? Я просто подумал, может лучше хранить не слова, а позиции слов в строке. Может так оптимизированнее будет? Что скажете?

Piligrim 12.09.2008 09:44

Ответ: Lib_text: вывод текста в окно с переносом и стилями
 
Позиции слов? А сами слова тогда где? :)
Вообще, конечно, разбивать на слова не обязательно, достаточно на строки.
Памяти вектор ест больше, он же динамический. Хранить в нем можно абсолютно любой класс.

Phantom 12.09.2008 09:54

Ответ: Lib_text: вывод текста в окно с переносом и стилями
 
А сами слова в той же строке. гг... Я просто думаю, как его применить к моей Либ_ст, чтобы скролинг сделать. Мне кажется, это практически нереально...

Rosetau 06.11.2008 22:54

Ответ: Lib_text: вывод текста в окно с переносом и стилями
 
привет всем, пожалуйста, объясните как правильно прокручивать текст?

если он по умолчанию это делает, то ни на джойстик ни на 2-8 не реагирует. код беру из примера

sasha_peleng 10.11.2008 18:47

Ответ: Lib_text: вывод текста в окно с переносом и стилями
 
Цитата:

Сообщение от Rosetau (Сообщение 90183)
привет всем, пожалуйста, объясните как правильно прокручивать текст?

если он по умолчанию это делает, то ни на джойстик ни на 2-8 не реагирует. код беру из примера

Он не прокручивает по умолчанию :stop:

Chehovich-Igor 06.01.2009 00:43

Ответ: Lib_text: вывод текста в окно с переносом и стилями
 
Вложений: 1
Цитата:

Сообщение от Rosetau (Сообщение 90183)
привет всем, пожалуйста, объясните как правильно прокручивать текст?

если он по умолчанию это делает, то ни на джойстик ни на 2-8 не реагирует. код беру из примера

Я взял и добавил в пример прокрутку текста.

Вот программа:
Program MultLine;

uses text;

Var key: integer;

Begin

text.init;
text.set_text_par(10, 10, getWidth-10, getHeight-10, 1, 16, 2, 64,'Просто проверка работы этого класса при использовании мобильного паскаля и других фишек. Это просто смешно и прикольно. Просто проверка работы этого класса при использовании мобильного паскаля и других фишек. Это просто смешно и прикольно.');

repeat
setColor(128,255,0);
fillRect(0,0,GetWidth,GetHeight);
setColor(0,128,64);
text.draw_mult_str;
Repaint; Delay(100);
key:=KeyToAction(GetKeyPressed);
if key=GA_UP then text.Mode_Up;
if key=GA_DOWN then text.Mode_Down;
if key=GA_LEFT then text.Page_Up;
if key=GA_RIGHT then text.Page_Down;
until false;

End.

и сам файл.

temned 18.01.2009 00:32

Ответ: Lib_text: вывод текста в окно с переносом и стилями
 
Парни, дайте кто-нить help к либе, с описаниями комманд. А то надо делать все по правилам :
http://forum.boolean.name/showthread.php?t=5499

Piligrim 18.01.2009 11:20

Ответ: Lib_text: вывод текста в окно с переносом и стилями
 
Цитата:

Очень нужная либа. Поддержка блутуз. Все функции описаны в примере. Но если кто не понял, просите, опишу функции в readme. Внимание: Эмуляторы стандартные не поддерживают bluetooth. Автор: pilgrim.
Да, наглости не занимать. Сам не разобрался, но выложить не забыл. То же самое будет и со всеми остальными? Похоже пора включать строку "Только для boolean.name" :(
PS: К сведению, стандартные эмуляторы, как то WTK, прекрасно работают с bluetooth. Честное слово, стоит иногда читать букварь, прежде чем вводить в заблуждение людей. >>:(

temned 18.01.2009 21:06

Раскрой
 
Я это уже исправил. Сам сделал описание. Может быть я и делаю нагло, но как быть? Посмотри сам на свои либы: что такое-кинуть людям либу с однимми class и java файлами,+пример, а дальше сами как-нибудь разбирайтесь. Кроме тебя самого никто не поймет. Посмотри как по-человечески делает odd. И пример, и описание, и либа есть у парня-прям программировать хочется. А у тебя? Пользователи сами должны делать readme к твоим либам. Если я не прав, то скатайте и посмотрите эти либы:
Lib_text
Lib_bt
Lib_socket
Lib_dbl
>>:( >>:(
p.s: а по поводу 'только для forum.boolean.name' - я не нарушаю ничьих авторских прав, наоборот даже указываю автора, распространяю либы, написанные им!


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

vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot