Показать сообщение отдельно
Старый 18.12.2007, 17:50   #9
Fire_Phoenix
Оператор ЭВМ
 
Регистрация: 15.12.2007
Сообщений: 34
Написано 2 полезных сообщений
(для 2 пользователей)
Сообщение Re: Файловая система у Нокиа

Решил получить доступ к файловой системе, попробвал разобраться с библиотекой jsr75. Програмка должна вывести текст на экран из файла, в случае отсутствия файла, создает его и записывает в него 5 строчек....как я думал на самом деле в файле только последняя строчка оказывается(
program Tester_jsr75;
uses jsr75;
var 
 label_id: integer; 
 okCommand:command;
 tmp:integer;
 aa: String;
begin 
showForm; 
tmp:=file_exists('e:/lib.dat');//проверяем существование файла
if tmp=1 then
begin
tmp:=open_file('e:/lib.dat');//открываем файл, хотя вроде и без этого работает...
for tmp:=0 to 4 do //выводим 5 строчек из файла
begin
 aa:=read_file('e:/lib.dat');
 label_id := formAddString(integertostring(tmp)+' '+aa); 
end;
tmp:=close_file('e:/lib.dat');//закрываем файл...тоже кажется не обязательно
end
else
begin//здесь создаю файл и записывю 5 строчек в него
write_file('e:/lib.dat','01'+chr(10));//chr(10), это вроде бы переход на новую строчку, если не ошибся)))
write_file('e:/lib.dat','02'+chr(10));
write_file('e:/lib.dat','03'+chr(10));
write_file('e:/lib.dat','04'+chr(10));
write_file('e:/lib.dat','05'+chr(10));
end;
//тут создается кнопочка для выхода из програмки...при использовании jsr75i до нее даже дело не доходит, прога где то будто виснет
//то же самое касается и чтения лишней строчки
okCommand := createCommand('OK', CM_OK, 1); 
addCommand(okCommand); 
while (getClickedCommand <> okCommand) do 
delay(100); 
end.
У меня Nokia 6125, хотелось бы в полную силу использовать внешнюю память.
Те функции что есть в библиотеке не достаточны, к примеру..
1 - мне нужна возможность как создать так и удалить файл
2 - мне нужна возможность использовать файл как для чтения так и для записи
3 - было бы неплохо определять сколько строк в файле, так как при чтении чего то лишнего опять все виснет
4 - было бы вообще супер, если б я мог получить доступ к произвольно выбранной строке(байту), а не читать весь файл по порядку, тоже самое и к записи относится
5 - ? запись в файл и чтение данных типа "запись"
Еще есть такой момент, при чтении из файла, у меня вылезает сообщение для каждой строки, может можно как то файл весь прочитать в какой нибудь буфер?
Возможно я что то делаю не правильно, или не так использую функции, буду рад любой помощи
(Offline)
 
Ответить с цитированием