|
Основной форум Сюда все проблемы связанные с программированием. |
04.03.2009, 23:26
|
#1
|
Нуждающийся
Регистрация: 28.01.2009
Сообщений: 65
Написано одно полезное сообщение (для 2 участников)
|
lib_jsr75 & files проблема
Мне надо read_byte() с одного файла и write_byte() в другой одновременно, тоесть не закрывая первый.
jsr75mf не умеет read_byte() и write_byte(). Есть какойто выход?
|
(Offline)
|
|
04.03.2009, 23:55
|
#2
|
злобный флудер
Регистрация: 10.07.2007
Сообщений: 2,585
Написано 789 полезных сообщений (для 1,476 пользователей)
|
Ответ: lib_jsr75 & files проблема
Мне надо одновременно съесть колбасу и сыр. У меня нет ни того ни другого, что делать ? ы
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
05.03.2009, 01:33
|
#3
|
Модератор
Регистрация: 03.04.2007
Сообщений: 2,252
Написано 597 полезных сообщений (для 817 пользователей)
|
Ответ: lib_jsr75 & files проблема
Можно писать не прямо в файл, а в строку, а потом сохранить её, или загрузить файл в строку и читать из нее. Просто библиотеку Lib_jsr75mf переделать я могу, но когда - не знаю, сейчас очень большие проблемы со временем.
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
05.03.2009, 01:46
|
#4
|
Нуждающийся
Регистрация: 28.01.2009
Сообщений: 65
Написано одно полезное сообщение (для 2 участников)
|
Ответ: lib_jsr75 & files проблема
а как это записать байт в строку? дай пример пожалуйста
|
(Offline)
|
|
05.03.2009, 01:51
|
#5
|
Модератор
Регистрация: 03.04.2007
Сообщений: 2,252
Написано 597 полезных сообщений (для 817 пользователей)
|
Ответ: lib_jsr75 & files проблема
Если я ничего не путаю, то просто
S:=S+Byte;
Дальше, когда записали все, просто сохраняем с помощью lib_jsr75.
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
05.03.2009, 01:56
|
#6
|
Мастер
Регистрация: 06.09.2007
Адрес: Донецк, ДНР
Сообщений: 1,023
Написано 298 полезных сообщений (для 713 пользователей)
|
Ответ: lib_jsr75 & files проблема
Если не хочешь мучиться со строками (а скорее всего потом будут проблемы при чтении строки назад посимвольно), то используй специальную библиотеку Lib_bytes кажется называется. Там можно хранить информацию как массив байтов.
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
05.03.2009, 02:05
|
#7
|
Нуждающийся
Регистрация: 28.01.2009
Сообщений: 65
Написано одно полезное сообщение (для 2 участников)
|
Ответ: lib_jsr75 & files проблема
ясно, спасибо. Буду пробовать
|
(Offline)
|
|
05.03.2009, 02:18
|
#8
|
Нуждающийся
Регистрация: 28.01.2009
Сообщений: 65
Написано одно полезное сообщение (для 2 участников)
|
Ответ: lib_jsr75 & files проблема
vint, s:=s+byte(); или s:=s+byte; не работает. О_о
|
(Offline)
|
|
05.03.2009, 07:58
|
#9
|
AnyKey`щик
Регистрация: 17.12.2008
Сообщений: 6
Написано 0 полезных сообщений (для 0 пользователей)
|
Ответ: lib_jsr75 & files проблема
возможен такой вариант (если конечно в J2ME возможно открытие 2х файлов одновременно )
1. берётся джава декомпайлер (например CAVAJ JAVA DECOMPILER)
2. открывается через него файл class библиотеки lib_jsr75i (lib_jsr75i.class)
3. копируется код библиотеки
4. создаётся библиотека с lib_jsr75if2 (например в jGRASP) вставляется копируемый код
5. переименовывается имя класса lib_jsr75i на lib_jsr75if2
6. компилируется библиотека lib_jsr75if2
7. lib_jsr75if2.class копируется в Lib Мидлет Паскаля
8. подключается библиотека lib_jsr75if2 в проекте
далее в коде Мидлет Паскаля
Lib_jsr75i.open_file("Файл 1");
Lib_jsr75if2.open_file("Файл 2");
ну и далее чтение из первого файла Lib_jsr75i.read_byte() и запись во второй файл Lib_jsr75if2.write_byte()
|
(Offline)
|
|
05.03.2009, 13:06
|
#10
|
Модератор
Регистрация: 03.04.2007
Сообщений: 2,252
Написано 597 полезных сообщений (для 817 пользователей)
|
Ответ: lib_jsr75 & files проблема
Сообщение от Doctor Drive
vint, s:=s+byte(); или s:=s+byte; не работает. О_о
|
Так и знал, что перепутаю...
Должно работать примерно так:
var b:integer; s:string; begin b:=read_byte; //обработка ... s:=s+chr(b); //после обработки всего файла write_file('output.bin',s);
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
05.03.2009, 17:23
|
#11
|
Нуждающийся
Регистрация: 28.01.2009
Сообщений: 65
Написано одно полезное сообщение (для 2 участников)
|
Ответ: lib_jsr75 & files проблема
снова БОЛЬШОЕ спс. буду пробовать
|
(Offline)
|
|
05.03.2009, 18:05
|
#12
|
Нуждающийся
Регистрация: 28.01.2009
Сообщений: 65
Написано одно полезное сообщение (для 2 участников)
|
Ответ: lib_jsr75 & files проблема
vint, а ты уверен что если сохранить набор символов [s:=s+chr(b)] то получится файл? А то мне нужно сохранить png - я png filter делаю.
И как определить конец файла??
тоесть
repeat
a := read_byte;
until a = что? или както по-другому сделать??
Последний раз редактировалось Doctor Drive, 05.03.2009 в 18:25.
|
(Offline)
|
|
05.03.2009, 19:55
|
#13
|
Модератор
Регистрация: 03.04.2007
Сообщений: 2,252
Написано 597 полезных сообщений (для 817 пользователей)
|
Ответ: lib_jsr75 & files проблема
По идее, самый надежный и быстрый (в смысле производительности) способ - прочитать файл полностью в строку потом выбирать из нее байты по очереди с помощью GetChar, переводить их из char в int помощью ord и обрабатывать. Это если файл не сильно большой.
|
(Offline)
|
|
05.03.2009, 20:13
|
#14
|
Нуждающийся
Регистрация: 28.01.2009
Сообщений: 65
Написано одно полезное сообщение (для 2 участников)
|
Ответ: lib_jsr75 & files проблема
так мне так и не сказал... этот способ что выше будет работать на картинках?
И как опредилить конец??? пнг то ясно, а конец любого файла?
|
(Offline)
|
|
05.03.2009, 21:20
|
#15
|
злобный флудер
Регистрация: 10.07.2007
Сообщений: 2,585
Написано 789 полезных сообщений (для 1,476 пользователей)
|
Ответ: lib_jsr75 & files проблема
eof() вероятно
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 14:50.
|