forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   FAQ (http://forum.boolean.name/forumdisplay.php?f=48)
-   -   Запись настроек программы в... (http://forum.boolean.name/showthread.php?t=4747)

LUK 14.10.2007 11:14

Запись настроек программы в...
 
Люди, такой вопрос:
Как управлять записью стандартных файлов настройки твоей проги в телефоне, можно как-нибудь записать в них те данные, которые нужны тебе (т.е. нужная тебе инфа), возможно ли это сделать средствами MP, и возможно ли это сделать вообще (хотя на последний вопрос думаю - да - т.к. сам видел проги на MP, которые хранили в таких файлах нужную им инфу - dictophone, например)?

ViNT 14.10.2007 14:58

Re: Запись настроек программы в...
 
Помоему про это написано здесь

LUK 14.10.2007 15:42

Re: Запись настроек программы в...
 
Конечно спасибо за пример, но нельзя немного по-подробнее...
ЗЫ: Извиняюсь за эдакий флуд, но тему с примером в поисковике найти было практически нереально...

ViNT 14.10.2007 15:51

Re: Запись настроек программы в...
 
Вообще работа с RecordStore неплохо описана в стандартном хелпе.
Прокоментирую на этом же примере:
Код:

program RS_x;
var
etext:integer;
rs:recordstore;//перененная для recordstore
buf:string;
cmok:command;
idx:integer;
cmexit,clicked:command;
begin
rs:=openrecordstore('TEXT');//открываем секцию базы данных с именем "TEXT"
showform;
etext:=formaddtextfield('Текст','',20,tf_any);
cmok:=createcommand('OK',cm_ok,0);
cmexit:=createcommand('EXIT',CM_EXIT,0);
addcommand(cmok);
addcommand(cmexit);
buf:=readrecordstoreentry(rs,1);//читаем запись с индексом 1
formsettext(etext,buf);
repeat
clicked:=getclickedcommand;
if clicked=cmok then
begin
if readrecordstoreentry(rs,1)='' then
//проверка существования записи
idx:=addrecordstoreentry(rs,formgettext(etext)) else
//добавление новой записи, возвращает индекс ячейки
modifyrecordstoreentry(rs,formgettext(etext),1);
//изменение данных в существующей ячейке номер 1 на
//текст из текстового поля etext
end;
until clicked=cmexit;
closerecordstore(rs);//закрываем базу данных
end.


LUK 14.10.2007 16:11

Re: Запись настроек программы в...
 
Спасибо еще раз... вообще насчет хелпа - после твоего первого поста сразу подумал туда заглянуть...

Fire_Phoenix 17.12.2007 09:08

Re: Запись настроек программы в...
 
Что то я немного не понял работу этих хранилищь...
к примеру есть приложение "Primer.jar"
к нему можносоздать N-ное количество хранилищь
Primer _a.rms
Primer _b.rms
Primer _c.rms
В каждом хранилище данные записываются под порядковыми номерами, то есть в Primer _a.rms данные можно записать как
[1]= a
[2]= b
[3]= c
Или я не правильно понял?
меня вообще интересует возможность создания и использования аналога *.ini файлов, где данные хранятся как ключ=значение.
[width]=240

ViNT 17.12.2007 09:43

Re: Запись настроек программы в...
 
Так это и есть почти ini-файл, только вместо имен ключей-их индексы.
В 4-м посте есть пример работы с RecordStrore.

Хотя в принципе, на базе RecordStore можно сделать полноценный аналог
ini-файла, если хранить имена ключей в специально созданном для этого хранилище, так, чтобы индекс записи с именем соответствовал индексу значения в том хранилище, где хранятся данные.

Fire_Phoenix 17.12.2007 16:03

Re: Запись настроек программы в...
 
А скажем, если требуется перенос настроек (допустим наработанных технологических параметров) с одного телефона на другой, чтоб не забивать все заново, тут нужно использовать уже внешнюю память? И как в ней доступ организован?
Из стандартных функций паскаля есть только доступ к внутренним ресурсам...там чтоние и запись данных нельзя делать в произвольном месте, все по порядку идет. - либо строками либо посимвольно. Это очень неудобно.

Piligrim 17.12.2007 23:45

Re: Запись настроек программы в...
 
для этого есть библиотеки работы с файловой системой телефонов. там настройки можно сохранить в виде простого текстового файла.
например эта http://boolean.name/showthread.php?t=4927


Часовой пояс GMT +4, время: 18:48.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot