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

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

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

Ответ
 
Опции темы
Старый 07.05.2011, 10:28   #1
im_zorg
Знающий
 
Регистрация: 25.10.2009
Сообщений: 338
Написано 53 полезных сообщений
(для 61 пользователей)
Лишний char.

Какую кодировку использовать что бы избежать вот такой хрени (скрин в аттаче). Использую resloader(за 22.04.2009), более позднии не использую т.к. изза этого косяки с отступом, chr(10),chr(13) и т.д. Так же юзаю parse(14.12.2008.).
procedure getmenuitem(ss:string);
begin
            tempstr
:=LoadText(ss);
            
line(tempstr,';');
            
itemcount:=(len/3)-1;
            for 
i:=0 to itemcount do
            
begin
                    menuitem
[i].name:=parse.get(i*3);
                    
menuitem[i].id:=sti(parse.get(i*3+1));
                    
menuitem[i].txt:=parse.get(i*3+2);
            
end;
            
parse.clear;
            
menu;
end
Помогите.
З.Ы. Почему если использовать иллюстрации в font32, то на keemulator'e все хорошо скроллируется, а на sjboy'e когда пол картинки внизу все зависает?
З.Ы. Почему бы не добавить в lib_font32 илюстрации, но так что бы в тхт надо было прописывать путь к картинке, а не [img1] тогда бы в коде проги не надо было бы добовлять их с помощью addimage?
Изображения
Тип файла: bmp sjboy.BMP (143.7 Кб, 1246 просмотров)
__________________
Я вернулсо в мидлет паскаль О_о уже написал новый проект Сайт моей компании: http://mpcompany.ucoz.com/ Сайт проекта "Путник" : http://putnik-project.ru/
(Offline)
 
Ответить с цитированием
Старый 07.05.2011, 12:18   #2
cherepets
Бывалый
 
Регистрация: 18.08.2009
Сообщений: 745
Написано 146 полезных сообщений
(для 215 пользователей)
Ответ: Лишний char.

А пример текстового файла?
Мне кажется что вообще тебе переходы на новую строку в файле не нужны. Либо точка с запятой не нужна, а парсить по переходу.
(Offline)
 
Ответить с цитированием
Старый 07.05.2011, 12:19   #3
im_zorg
Знающий
 
Регистрация: 25.10.2009
Сообщений: 338
Написано 53 полезных сообщений
(для 61 пользователей)
Ответ: Лишний char.

Пункт 1 Меню;1;menu.txt;
Пункт 1 Меню;1;menu1.txt;
Пункт 1 ;0;nomer1.txt;
Пункт 1 ;0;nomer2.txt;
Пункт 1 ;0;nomer3.txt;
Пункт 1 ;0;nomer4.txt;
Пункт 1 ;0;nomer5.txt;
StartApp;1;mainmenu.css;
###
вот пример текстогого файла...
__________________
Я вернулсо в мидлет паскаль О_о уже написал новый проект Сайт моей компании: http://mpcompany.ucoz.com/ Сайт проекта "Путник" : http://putnik-project.ru/
(Offline)
 
Ответить с цитированием
Старый 07.05.2011, 12:24   #4
im_zorg
Знающий
 
Регистрация: 25.10.2009
Сообщений: 338
Написано 53 полезных сообщений
(для 61 пользователей)
Ответ: Лишний char.

Изменил на
Пункт 1Меню;1;menu.txt;Пункт 1Меню;1;menu1.txt;Пункт 1;0;nomer1.txt;Пункт 1;0;nomer2.txt;Пункт 1;0;nomer3.txt;Пункт 1;0;nomer4.txt;Пункт 1;0;nomer5.txt;StartApp;1;mainmenu.css;
### 
Теперь в самом начала у первого пункта квадратик(
__________________
Я вернулсо в мидлет паскаль О_о уже написал новый проект Сайт моей компании: http://mpcompany.ucoz.com/ Сайт проекта "Путник" : http://putnik-project.ru/
(Offline)
 
Ответить с цитированием
Старый 08.05.2011, 16:52   #5
PassCall
Разработчик
 
Аватар для PassCall
 
Регистрация: 07.04.2011
Адрес: Млечный путь, Земля, Европа, Беларусь, Могилев
Сообщений: 391
Написано 94 полезных сообщений
(для 319 пользователей)
Ответ: Лишний char.

1. Используй Lib_font32. Для отступов:

'текст'+Chr(32)+chr(13)+'еще текст' для переноса
'текст'+Chr(32)+chr(13)+chr(13)+'еще текст' для переноса с отступом

2. Зачем тебе resloader?
__________________
Мечта программиста: запрограммировать процесс программирования.

Всё гениальное - просто.

http://passcall.ucoz.com
(Offline)
 
Ответить с цитированием
Старый 11.05.2011, 19:34   #6
im_zorg
Знающий
 
Регистрация: 25.10.2009
Сообщений: 338
Написано 53 полезных сообщений
(для 61 пользователей)
Ответ: Лишний char.

Перовое) это за меня делает все функция format в font32 как я понял по описанию и исходнику либы... Второе) Она экономит память и загружает 25 строк по 100 символов каждая быстрее стандартной на 10-15 секунд зависит это конечно и от самого тела\эмулятора)
__________________
Я вернулсо в мидлет паскаль О_о уже написал новый проект Сайт моей компании: http://mpcompany.ucoz.com/ Сайт проекта "Путник" : http://putnik-project.ru/
(Offline)
 
Ответить с цитированием
Старый 11.05.2011, 19:36   #7
im_zorg
Знающий
 
Регистрация: 25.10.2009
Сообщений: 338
Написано 53 полезных сообщений
(для 61 пользователей)
Ответ: Лишний char.

Вопрос все есче в силе. как убрать этот епа...ый квадратик в начале файла?
__________________
Я вернулсо в мидлет паскаль О_о уже написал новый проект Сайт моей компании: http://mpcompany.ucoz.com/ Сайт проекта "Путник" : http://putnik-project.ru/
(Offline)
 
Ответить с цитированием
Старый 11.05.2011, 20:00   #8
PassCall
Разработчик
 
Аватар для PassCall
 
Регистрация: 07.04.2011
Адрес: Млечный путь, Земля, Европа, Беларусь, Могилев
Сообщений: 391
Написано 94 полезных сообщений
(для 319 пользователей)
Сообщение Ответ: Лишний char.

Сообщение от im_zorg Посмотреть сообщение
Второе) Она экономит память и загружает 25 строк по 100 символов каждая быстрее стандартной на 10-15 секунд зависит это конечно и от самого тела\эмулятора)
Да ну... а сама либа что нисколько в памяти не занимает?
Эту либу выгодно юзать тогда, когда необходимо прочитать РЕАЛЬНО большой файл (например, книгу). В других случаях я не вижу смысла использовать эту либу.

Быстрее на 10-15 секунд? Обычно ресурс на телефоне читается около 0.5 -1.5 секунды, если текст большой, то секунд 5 максимум!
__________________
Мечта программиста: запрограммировать процесс программирования.

Всё гениальное - просто.

http://passcall.ucoz.com
(Offline)
 
Ответить с цитированием
Старый 11.05.2011, 20:06   #9
PassCall
Разработчик
 
Аватар для PassCall
 
Регистрация: 07.04.2011
Адрес: Млечный путь, Земля, Европа, Беларусь, Могилев
Сообщений: 391
Написано 94 полезных сообщений
(для 319 пользователей)
Ответ: Лишний char.

И вообще, самая лучшая либа - lib_ровные_руки + lib_мозг.

А насчет проблемы - попробуй поставить первым символом ";".
__________________
Мечта программиста: запрограммировать процесс программирования.

Всё гениальное - просто.

http://passcall.ucoz.com
(Offline)
 
Ответить с цитированием
Старый 12.05.2011, 01:31   #10
odd
Мастер
 
Аватар для odd
 
Регистрация: 06.09.2007
Адрес: Донецк, ДНР
Сообщений: 1,023
Написано 298 полезных сообщений
(для 713 пользователей)
Ответ: Лишний char.

А что за текстовый редактор вы используете? Может это редактор что-то левое вставляет?
Я обычно использую Notepad++ или MiB Editor 1.26
(Offline)
 
Ответить с цитированием
Старый 12.05.2011, 01:44   #11
Phantom
Элита
 
Аватар для Phantom
 
Регистрация: 14.06.2008
Адрес: Украина, Киев
Сообщений: 2,273
Написано 754 полезных сообщений
(для 1,833 пользователей)
Ответ: Лишний char.

Сообщение от im_zorg Посмотреть сообщение
Вопрос все есче в силе. как убрать этот епа...ый квадратик в начале файла?
Сохраняй UTF-8 без BOM
(Offline)
 
Ответить с цитированием
Старый 12.05.2011, 09:31   #12
12121
Нуждающийся
 
Регистрация: 26.12.2008
Сообщений: 57
Написано 22 полезных сообщений
(для 28 пользователей)
Ответ: Лишний char.

Открой текстовый файл в любом HEX редакторе и посмотри нет ли там чего лишнего.
(Offline)
 
Ответить с цитированием
Старый 12.05.2011, 10:32   #13
PassCall
Разработчик
 
Аватар для PassCall
 
Регистрация: 07.04.2011
Адрес: Млечный путь, Земля, Европа, Беларусь, Могилев
Сообщений: 391
Написано 94 полезных сообщений
(для 319 пользователей)
Сообщение Ответ: Лишний char.

А вообще мне кажется что стандартный шрифт не поддерживает нормального переноса. Я както пытался совими силами сделать перенос - тоже квадратик. Вывод - юзай фонт_32.
__________________
Мечта программиста: запрограммировать процесс программирования.

Всё гениальное - просто.

http://passcall.ucoz.com
(Offline)
 
Ответить с цитированием
Старый 12.05.2011, 18:09   #14
YellowAfterlife
ПроЭктировщик
 
Аватар для YellowAfterlife
 
Регистрация: 19.02.2011
Сообщений: 134
Написано 81 полезных сообщений
(для 219 пользователей)
Ответ: Лишний char.

Сообщение от PassCall Посмотреть сообщение
А вообще мне кажется что стандартный шрифт не поддерживает нормального переноса. Я както пытался совими силами сделать перенос - тоже квадратик. Вывод - юзай фонт_32.
На самом деле р̶у̶к̶и̶-̶б̶е̶л̶к̶и прямые руки (и MP3.x) рулят.

Процедура которая внедряет поддержку юниксовых (0x0D \ 10ый символ) переносов строк:
procedure DrawTextF(textstringxyinteger);
var 
sstring;
begin debug(text);
  if 
Pos(text#10) = -1 then DrawText(text, x, y)
  
else begin
    s 
:= Copy(text0Pos(text#10));
    
DrawText(sxy);
    
DrawTextF(Copy(textLength(s)+1Length(text)), xGetStringHeight(s));
  
end;
end
Пример использования:
begin
  DrawTextF
('Hello'#10'World!', 4, 4);
  
RePaint;
  
Delay(5000);
end
Для MP2.x прийдется заменить <#10> на константу\переменную-строку и потом прибавлять ее через <+>.
__________________

Мой сайт-блог. Игры, обновления, примеры для Haxe, JavaScript(+HTML5), GameMaker, Love2d...
(Offline)
 
Ответить с цитированием
Старый 12.05.2011, 21:21   #15
im_zorg
Знающий
 
Регистрация: 25.10.2009
Сообщений: 338
Написано 53 полезных сообщений
(для 61 пользователей)
Ответ: Лишний char.

Сообщение от PassCall Посмотреть сообщение
Да ну... а сама либа что нисколько в памяти не занимает?
Эту либу выгодно юзать тогда, когда необходимо прочитать РЕАЛЬНО большой файл (например, книгу). В других случаях я не вижу смысла использовать эту либу.

Быстрее на 10-15 секунд? Обычно ресурс на телефоне читается около 0.5 -1.5 секунды, если текст большой, то секунд 5 максимум!
ой мс(миллисекунд)
Я и так юзаю самую последнюю версию lib_font32 своими силами загрузить тхт не получилось..
юзал такой код:
function loadtext(s:string):string;
var 
    
res:resource;
    
ss,text:string
begin 
    res 
:= OpenResource('/text.txt'); // Открываем файл
    
repeat 
        ss 
:= ReadLine(res); // Читаем строку из файла 
        
if ss='#' then text := text Chr(32)+ Chr(13);
        if 
ss='###' then break; // Если конец файла, то прекращаем чтение 
        
text := text+ss// Что-то делаем co строкой 
    
until ss='###';
    
CloseResource(res);
    
loadtext:=text;
end
результат белый экран.
Phantom сейчас попробую

Update:Результат не удовлетворил(( Аттач..
Изображения
Тип файла: bmp sjboy.BMP (143.7 Кб, 1190 просмотров)
__________________
Я вернулсо в мидлет паскаль О_о уже написал новый проект Сайт моей компании: http://mpcompany.ucoz.com/ Сайт проекта "Путник" : http://putnik-project.ru/
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

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

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


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


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