|
07.05.2011, 10:28
|
#1
|
Знающий
Регистрация: 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?
|
(Offline)
|
|
07.05.2011, 12:18
|
#2
|
Бывалый
Регистрация: 18.08.2009
Сообщений: 745
Написано 146 полезных сообщений (для 215 пользователей)
|
Ответ: Лишний char.
А пример текстового файла?
Мне кажется что вообще тебе переходы на новую строку в файле не нужны. Либо точка с запятой не нужна, а парсить по переходу.
|
(Offline)
|
|
07.05.2011, 12:19
|
#3
|
Знающий
Регистрация: 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;
###
вот пример текстогого файла...
|
(Offline)
|
|
07.05.2011, 12:24
|
#4
|
Знающий
Регистрация: 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; ###
Теперь в самом начала у первого пункта квадратик(
|
(Offline)
|
|
08.05.2011, 16:52
|
#5
|
Разработчик
Регистрация: 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
|
Знающий
Регистрация: 25.10.2009
Сообщений: 338
Написано 53 полезных сообщений (для 61 пользователей)
|
Ответ: Лишний char.
Перовое) это за меня делает все функция format в font32 как я понял по описанию и исходнику либы... Второе) Она экономит память и загружает 25 строк по 100 символов каждая быстрее стандартной на 10-15 секунд зависит это конечно и от самого тела\эмулятора)
|
(Offline)
|
|
11.05.2011, 19:36
|
#7
|
Знающий
Регистрация: 25.10.2009
Сообщений: 338
Написано 53 полезных сообщений (для 61 пользователей)
|
Ответ: Лишний char.
Вопрос все есче в силе. как убрать этот епа...ый квадратик в начале файла?
|
(Offline)
|
|
11.05.2011, 20:00
|
#8
|
Разработчик
Регистрация: 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
|
Разработчик
Регистрация: 07.04.2011
Адрес: Млечный путь, Земля, Европа, Беларусь, Могилев
Сообщений: 391
Написано 94 полезных сообщений (для 319 пользователей)
|
Ответ: Лишний char.
И вообще, самая лучшая либа - lib_ровные_руки + lib_мозг.
А насчет проблемы - попробуй поставить первым символом ";".
__________________
Мечта программиста: запрограммировать процесс программирования.
Всё гениальное - просто.
http://passcall.ucoz.com
|
(Offline)
|
|
12.05.2011, 01:31
|
#10
|
Мастер
Регистрация: 06.09.2007
Адрес: Донецк, ДНР
Сообщений: 1,023
Написано 298 полезных сообщений (для 713 пользователей)
|
Ответ: Лишний char.
А что за текстовый редактор вы используете? Может это редактор что-то левое вставляет?
Я обычно использую Notepad++ или MiB Editor 1.26
|
(Offline)
|
|
12.05.2011, 01:44
|
#11
|
Элита
Регистрация: 14.06.2008
Адрес: Украина, Киев
Сообщений: 2,273
Написано 754 полезных сообщений (для 1,833 пользователей)
|
Ответ: Лишний char.
Сообщение от im_zorg
Вопрос все есче в силе. как убрать этот епа...ый квадратик в начале файла?
|
Сохраняй UTF-8 без BOM
|
(Offline)
|
|
12.05.2011, 09:31
|
#12
|
Нуждающийся
Регистрация: 26.12.2008
Сообщений: 57
Написано 22 полезных сообщений (для 28 пользователей)
|
Ответ: Лишний char.
Открой текстовый файл в любом HEX редакторе и посмотри нет ли там чего лишнего.
|
(Offline)
|
|
12.05.2011, 10:32
|
#13
|
Разработчик
Регистрация: 07.04.2011
Адрес: Млечный путь, Земля, Европа, Беларусь, Могилев
Сообщений: 391
Написано 94 полезных сообщений (для 319 пользователей)
|
Ответ: Лишний char.
А вообще мне кажется что стандартный шрифт не поддерживает нормального переноса. Я както пытался совими силами сделать перенос - тоже квадратик. Вывод - юзай фонт_32.
__________________
Мечта программиста: запрограммировать процесс программирования.
Всё гениальное - просто.
http://passcall.ucoz.com
|
(Offline)
|
|
12.05.2011, 18:09
|
#14
|
ПроЭктировщик
Регистрация: 19.02.2011
Сообщений: 134
Написано 81 полезных сообщений (для 219 пользователей)
|
Ответ: Лишний char.
Сообщение от PassCall
А вообще мне кажется что стандартный шрифт не поддерживает нормального переноса. Я както пытался совими силами сделать перенос - тоже квадратик. Вывод - юзай фонт_32.
|
На самом деле р̶у̶к̶и̶-̶б̶е̶л̶к̶и прямые руки (и MP3.x) рулят.
Процедура которая внедряет поддержку юниксовых (0x0D \ 10ый символ) переносов строк:
procedure DrawTextF(text: string; x, y: integer); var s: string; begin debug(text); if Pos(text, #10) = -1 then DrawText(text, x, y) else begin s := Copy(text, 0, Pos(text, #10)); DrawText(s, x, y); DrawTextF(Copy(text, Length(s)+1, Length(text)), x, y + GetStringHeight(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
|
Знающий
Регистрация: 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:Результат не удовлетворил(( Аттач..
|
(Offline)
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 19:22.
|