|
08.08.2011, 15:33
|
#1
|
ПроЭктировщик
Регистрация: 19.02.2011
Сообщений: 134
Написано 81 полезных сообщений (для 219 пользователей)
|
Lib_res8 - загрузка русского текста из ресурсных файлов
Название: res8
Версия: 1.0
Автор: YellowAfterlife
Описание: Эта библиотека реализует простой интерфейс для чтения строк из файлов в кодировке UTF-8 (в основном вам это может понадобится для корректной загрузки русского текста). Библиотека в основном предназначена для пользователей MidletPascal3.*, поскольку в нем загрузка русского текста из файла не представляется возможной.
Скачать: (ссылка) (mirror - см. вложения)
Функции:
res8.load(filename: string) - загружает в память строки из файла.
res8.unload - выгружает строки из памяти (освобождая ее).
res8.loaded: integer - возращает, загружены ли строки.
res8.length: integer - возращает количество строк.
res8.line(index: integer): string - возращает строку с указанным индексом
|
Пример кода:
program res8; uses res8; var tmp: resource; str: string; i, h: integer; begin // Загружаем строки: res8.load('/data.txt'); // файл с текстом // Выводим все на экран: setColor(42, 42, 42); fillRect(0, 0, getWidth, getHeight); setColor(240, 240, 240); h := getStringHeight(''); for i := 1 to res8.length do drawText(res8.line(i), 4, 4 + (i - 1) * h); rePaint; // Выгружаем строки (если они больше не нужны): res8.unload; // Ждем. repeat delay(1000); forever; end.
__________________
Мой сайт-блог. Игры, обновления, примеры для Haxe, JavaScript(+HTML5), GameMaker, Love2d...
|
(Offline)
|
|
Эти 2 пользователя(ей) сказали Спасибо YellowAfterlife за это полезное сообщение:
|
|
11.08.2011, 22:00
|
#2
|
Разработчик
Регистрация: 07.04.2011
Адрес: Млечный путь, Земля, Европа, Беларусь, Могилев
Сообщений: 391
Написано 94 полезных сообщений (для 319 пользователей)
|
Ответ: Lib_res8 - загрузка русского текста из ресурсных файлов
Ыть!
А можно сделать и так:
Function Decoder(Deco:string):string;
var
ch:char;
ds:string;
d_temp,i:integer;
begin
ds:='';
for i:=1 to length(Deco) do
begin
ch:=getchar(deco,(i-1));
d_temp:=ord(ch);
if d_temp>122 then ds:=ds+chr(d_temp+1104)
else
ds:=ds+getchar(deco,j-1);
end;
decoder:=ds;
end;
Стандартные возможности МП рулят! Так то!
P.S. незнаю, работает ли это в МП3.
__________________
Мечта программиста: запрограммировать процесс программирования.
Всё гениальное - просто.
http://passcall.ucoz.com
|
(Offline)
|
|
12.08.2011, 01:58
|
#3
|
ПроЭктировщик
Регистрация: 19.02.2011
Сообщений: 134
Написано 81 полезных сообщений (для 219 пользователей)
|
Ответ: Lib_res8 - загрузка русского текста из ресурсных файлов
PassCall: Если бы все было так просто, на форуме не было бы многочисленных тем по поводу этого.
Возможно стоит уделить минуту тестированию программы перед тем как писать сообщение?
MP3* просто-напросто неправильно считывает данные из файла. То есть пары русских букв считываются как одинарные символы.
P.S.: использовать глобальную переменную j в локальном коде - плохая идея.
__________________
Мой сайт-блог. Игры, обновления, примеры для Haxe, JavaScript(+HTML5), GameMaker, Love2d...
|
(Offline)
|
|
18.12.2011, 14:03
|
#4
|
Оператор ЭВМ
Регистрация: 17.12.2011
Сообщений: 26
Написано 4 полезных сообщений (для 5 пользователей)
|
Ответ: Lib_res8 - загрузка русского текста из ресурсных файлов
у меня выдает слово forever не является именем подпрограммы, функции или переменной
слово until пропущено end найдено
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
18.12.2011, 23:31
|
#5
|
Разработчик
Регистрация: 16.08.2008
Адрес: Нижегородская провинция
Сообщений: 389
Написано 48 полезных сообщений (для 93 пользователей)
|
Ответ: Lib_res8 - загрузка русского текста из ресурсных файлов
Сообщение от Maga05
у меня выдает слово forever не является именем подпрограммы, функции или переменной
слово until пропущено end найдено
|
Ищи где пропустил фигурную скобку "{" или "}" ...
__________________
- Это мы накодили WINDOWS,
- Это мы надкусили APPLE,
- Нам играют живые The Beatles
- И нестареющий Вова Высоцкий...
|
(Offline)
|
|
20.12.2011, 02:51
|
#6
|
AnyKey`щик
Регистрация: 19.12.2011
Сообщений: 4
Написано 0 полезных сообщений (для 0 пользователей)
|
Ответ: Lib_res8 - загрузка русского текста из ресурсных файлов
begin
// Загружаем строки:
showcanvas;
res := openResource('/data.txt');
if resourceAvailable(res) then
begin
Texts := readLine(res);
closeResource(res);
end;
res8.load('/data.txt'); // файл с текстом
// Выводим все на экран:
setColor(255, 255, 255);
fillRect(0, 0, getWidth, getHeight);
setColor(40, 40, 40);
h := getStringHeight('');
for i := 1 to res8.length do
drawText(res8.line(i), 4, 4 + (i - 1) * h);
drawText(Texts + ' ' + res8.loaded + ' ' + res8.length, 0, 0);
rePaint;
// Выгружаем строки (если они больше не нужны):
res8.unload;
// Ждем.
repeat delay(1000); forever;
end.
data.txt:
First
Second
...
На дисплей: First 0 0
Что то не получается - просто модифицировал пример из Lib_res8_ru.txt.
Помогите, pls
|
(Offline)
|
|
20.12.2011, 15:38
|
#7
|
Оператор ЭВМ
Регистрация: 12.10.2011
Адрес: Воронеж
Сообщений: 46
Написано 2 полезных сообщений (для 2 пользователей)
|
Ответ: Lib_res8 - загрузка русского текста из ресурсных файлов
большая просьба - добавьте функцию вроде обычного readline - чтобы читала только одну строку
|
(Offline)
|
|
28.11.2012, 11:02
|
#8
|
Оператор ЭВМ
Регистрация: 17.12.2011
Сообщений: 26
Написано 4 полезных сообщений (для 5 пользователей)
|
Ответ: Lib_res8 - загрузка русского текста из ресурсных файлов
на эмуляторе все работает нормально, а на телефоне пусто
|
(Offline)
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 17:51.
|