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

Спасибо за примерчик, теперь все проясняется по тихонечку, единственное что я еще не понимаю, почему не получается записать в файл больше чем одну строку?

Ситуация у меня примерно следующая, сделал програмку для работы, там нечт вроде таблицы параметров для обработки продукции:
[тип продукции1]
параметр1
параметр2
параметр3
...
[тип продукции2]
...
Мне нужно сделать так, чтоб можно было добавлять или удалять новые типы продукции, и чтоб я мог выборочно загружать данные из файла для отображения в програмке. То есть заранее не известно сколько строк в файле, возможно у каждого типа продукции разное кол во параметров...вот сижу голову ломаю, ничего путного не получается. Файл прочитать построчно смог(заранее зная сколько строк), создать смог(только почему то в нем последняя запись сохраняется, файл получается однострочным)
А разрешение доступа я ставлю, да и сейчас подписываю используемые приложения пользовательским сертификатом, чтоб потом не париться с настройками

----------------------------------------------------------
Мои эксперименты принесли свои плоды)))
Оказывается при чтении файла функцией read_file('путь к файлу'), считывается ег полное содержание....интересно что это за тип данных такой? Ведь обычная строка 255 символов кажется, а как с этой строкой работать? В принципе. если обрабатывать ее посимфольно, ориентируяси по меткам как и при детектировании перечня дисков и файлов, то можно найти нужные мне строки. Теперь было бы еще неплохо узнать, как можно записатьв файл такую же гигантскую строку...
В справке написано
Строковый тип (string) используется для представления текста и содержит последовательности символов. В отличии от строк в других диалектах Паскаля, строки в MIDletPascal не являются массивами символов
К какому же типу данных отнести String?
Это уже получается как поток данных, какова максимальная длинна такого буфера? Я смог извлечь из файла одной строкой 5кб данных (запихнул туда какую то статью))))

 
for tmp:=0 to 5 do //чтение 5 строчек из файла
  begin
  aaa:=read_file('e:/lib.dat');
  label_id := formAddString('строка:'+integertostring(tmp)+' '+aaa+chr(10)); 
  end;
результат вывода:

строка:1 ....здесь вывелся весь файл....
строка:2 //здесь и далее пусто...
строка:3
строка:4
строка:5

Со строкой такого типа получается можно работать уже без обращения к файловой системе задействовав скажем стандартную функцию паскаля function getChar(str: string; pos:integer): char;
//ладненько, завтра рано на работу вставать, да и сил нет на эти эксперименты)
(Offline)
 
Ответить с цитированием