|
Основной форум Сюда все проблемы связанные с программированием. |
25.12.2005, 19:00
|
#1
|
|
Как сохранить в файл???Помоги а как сохранить переменый и массив в файл!
Загрушать я примерно понел а сохранять непонел!
|
|
|
25.12.2005, 21:02
|
#2
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Справку читать надо
Для этого используется Record store (хранилище записей)
вот пример из справки:
var rs : recordStore;
countStr : string;
countInt : integer;
index : integer;
nextId :integer;
begin
rs := OpenRecordStore('Count');
nextId := GetRecordStoreNextId(rs);
// Если это первый запуск программы, то инициализация
if nextId = 1 then
index := AddRecordStoreEntry(rs, '0'); // кол-во записей равно нулю
// чтение кол-ва запусков программы
countStr := ReadRecordStoreEntry(rs, 1);
// увеличение на один
countInt := StringToInteger(countStr) + 1;
countStr := IntegerToString(countInt);
// сохранение
ModifyRecordStoreEntry(rs, countStr, 1);
// закрытие record store
CloseRecordStore(rs);
// отображение кол-ва запусков
ShowForm;
index := FormAddString('Number of runs: ' + countStr);
AddCommand(CreateCommand('Exit', CM_EXIT, 1));
repeat Delay(100) until GetClickedCommand <> EmptyCommand;
end.
|
(Offline)
|
|
26.12.2005, 08:05
|
#3
|
|
Спасибо тебе я думал это функция как временая память !
Но всёравно нельзя некак мохранять в txt файл нужные мне параметры!
|
|
|
26.12.2005, 08:57
|
#4
|
|
Смотри я делаю всё вродк правильно:
.......
*if (menuGetSelectedIndex=Save) and (i=2) then
begin
* rs := OpenRecordStore('Save'); *
* ModifyRecordStoreEntry(rs,IntegerToString(Years),1);
* ModifyRecordStoreEntry(rs,IntegerToString(indx),2);
* ModifyRecordStoreEntry(rs,IntegerToString(indxMonstr),3);
* ModifyRecordStoreEntry(rs,IntegerToString(kamen),4);
* ModifyRecordStoreEntry(rs,IntegerToString(heal),5);
* ModifyRecordStoreEntry(rs,IntegerToString(time),6);
* ModifyRecordStoreEntry(rs,IntegerToString(timeY),7);
* ModifyRecordStoreEntry(rs,IntegerToString(MenuG),8);
* ModifyRecordStoreEntry(rs,Cursor,9);
*
* CloseRecordStore(rs);
* ClearForm;
* menu(i);
end;
* if (menuGetSelectedIndex=LoadG) and (i=2) then
begin
* rs := OpenRecordStore('Save');
* Years * * :=StringToInteger(ReadRecordStoreEntry(rs,1));
* indx * * *:=StringToInteger(ReadRecordStoreEntry(rs,2));
* indxMonstr:=StringToInteger(ReadRecordStoreEntry(rs,3));
* kamen * * :=StringToInteger(ReadRecordStoreEntry(rs,4));
* heal * * *:=StringToInteger(ReadRecordStoreEntry(rs,5));
* time * * *:=StringToInteger(ReadRecordStoreEntry(rs,6));
* timeY * * :=StringToInteger(ReadRecordStoreEntry(rs,7));
* MenuG * * :=StringToInteger(ReadRecordStoreEntry(rs,8));
* Cursor * *:=ReadRecordStoreEntry(rs,9);
* CloseRecordStore(rs);
*
* ClearForm;
* menu(i);
end;
.......
А несего неполучаеться
Используйте соответствующие теги
да и зарегистрироваться не мешало бы
|
|
|
27.12.2005, 21:46
|
#5
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Главное при использовании RS это первый запуск программы, т.е. при первом запуске происходит инициализация...
Попробуй использовать такую процедуру:
Procedure InitRS(RSName:String);
var *rs *: recordStore;
nextId : integer;
Begin
rs := OpenRecordStore(RSName);
nextId := GetRecordStoreNextId(rs);
// Если это первый запуск программы, то инициализация
if nextId = 1 then
* nextId := AddRecordStoreEntry(rs, '0'); // кол-во записей равно нулю
// закрытие record store
CloseRecordStore(rs); *
End;
И в самой программе исрользуй в самом начале:
program MY_PROG;
...
Begin
InitRS('Save');
...
End.
|
(Offline)
|
|
28.12.2005, 07:55
|
#6
|
|
мне то нужно чтобы несколько параметров сохраналось принажатии на Save
а потом загрузалось при нажатии Load
Так вот я спрашиваю можноли в RecordStore несколько параметров сохранять и потом загружать????
|
|
|
28.12.2005, 11:27
|
#7
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Originally posted by Guest@Dec 28 2005, 07:55 AM
мне то нужно чтобы несколько параметров сохраналось принажатии на Save
а потом загрузалось при нажатии Load
Так вот я спрашиваю можноли в RecordStore несколько параметров сохранять и потом загружать????
|
Конечно можно, зачем же тогда индексы!
А на чем ты тестишь свои мидлеты? Может MidpX попробуешь?
|
(Offline)
|
|
28.12.2005, 11:53
|
#8
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Вот по мойму твоя ошибка:
.......
if (menuGetSelectedIndex=Save) and (i=2) then
begin
* rs := OpenRecordStore('Save');*
* ModifyRecordStoreEntry(rs,IntegerToString(Years),1 );
* ModifyRecordStoreEntry(rs,IntegerToString(indx),2) ;
* ModifyRecordStoreEntry(rs,IntegerToString(indxMons tr),3);
* ModifyRecordStoreEntry(rs,IntegerToString(kamen),4 );
* ModifyRecordStoreEntry(rs,IntegerToString(heal),5) ;
* ModifyRecordStoreEntry(rs,IntegerToString(time),6) ;
* ModifyRecordStoreEntry(rs,IntegerToString(timeY),7 );
* ModifyRecordStoreEntry(rs,IntegerToString(MenuG),8 );
* ModifyRecordStoreEntry(rs,Cursor,9);
* CloseRecordStore(rs);
* ClearForm;
* menu(i);
end;
* if (menuGetSelectedIndex=LoadG) and (i=2) then
begin
* rs := OpenRecordStore('Save');
* Years* * :=StringToInteger(ReadRecordStoreEntry(rs,1));
* indx* * * :=StringToInteger(ReadRecordStoreEntry(rs,2));
* indxMonstr:=StringToInteger(ReadRecordStoreEntry(r s,3));
* kamen* * :=StringToInteger(ReadRecordStoreEntry(rs,4));
* heal* * * :=StringToInteger(ReadRecordStoreEntry(rs,5));
* time* * * :=StringToInteger(ReadRecordStoreEntry(rs,6));
* timeY* * :=StringToInteger(ReadRecordStoreEntry(rs,7));
* MenuG* * :=StringToInteger(ReadRecordStoreEntry(rs,);
* Cursor* * :=ReadRecordStoreEntry(rs,9);
* CloseRecordStore(rs);
*
* ClearForm;//Стереть нахрен
* menu(i);
end;
.......
|
хотя еще не известно что ты этим пытался сделать
|
(Offline)
|
|
28.12.2005, 16:08
|
#9
|
|
Бл*** точно забыл стереть эту ху***!
ШАс посмотрю работает или нет!
|
|
|
28.12.2005, 16:28
|
#10
|
|
Не всёравно чето невыходит
Писал сам прогу для сохранииея параметров которые я вашу
всё работает,а шас игру пиши и невоходит страно
Даже если я один параметр сохраняю НЕВОХОДИТ
|
|
|
28.12.2005, 16:29
|
#11
|
|
Impersonalis,извени что матерился!
|
|
|
30.12.2005, 15:37
|
#12
|
Оператор ЭВМ
Регистрация: 30.12.2005
Сообщений: 45
Написано одно полезное сообщение
|
Я сделал сохранения и гагрузки просто забыл про AddRecordStoreEntry(rs, '0'); !
|
(Offline)
|
|
01.01.2006, 19:34
|
#13
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Originally posted by Red Ninja(Михайлов Никита)@Dec 30 2005, 03:37 PM
Я сделал сохранения и гагрузки просто забыл про AddRecordStoreEntry(rs, '0'); !
|
Ну и лады
|
(Offline)
|
|
25.07.2007, 15:53
|
#14
|
AnyKey`щик
Регистрация: 25.07.2007
Сообщений: 4
Написано 0 полезных сообщений (для 0 пользователей)
|
Re: Как сохранить в файл?
procedure setings;
begin
// читаем номер телефона из хранилища
rs := openRecordStore('phone');
name := readRecordStoreEntry(rs, index);
closeRecordStore(rs);
// создаем форму и в текстовом поле выводим номер из хранилища
clearForm;
showform;
ok:=createCommand('Сохранить',CM_SCREEN,0);
cancel:=createCommand('Назад',CM_SCREEN,1);
addcommand(ok);
addcommand(cancel);
phone:= formAddTextField('Текущий номер', name, 15, TF_NUMERIC);
repeat
delay(100);
clicked := getClickedCommand;
until clicked <> emptyCommand;
if clicked = cancel then CreateMenu;
// если номер изменили то записываем в хранилище
phone2:= formGetText(phone);
rs := openRecordStore('phone');
index := addRecordStoreEntry(rs, phone2);
closeRecordStore(rs);
CreateMenu;
end;
процедура считывает номер телефона из хранилища и выводит в TextField, если его изменить то записывает новый, в последствии выводит уже новый телефон.
проблема в том что чтение и запись работает только пока java приложение запущено, если приложение остановить то из хранилища запись пропадает....как это побороть?????
|
(Offline)
|
|
25.07.2007, 16:45
|
#15
|
Знающий
Регистрация: 10.08.2006
Сообщений: 254
Написано 3 полезных сообщений (для 3 пользователей)
|
Re: Как сохранить в файл?
Бред какой то... Записи - сохранение данных в энергонезависимую память, они должны сохранятся после завершения приложения...
|
(Offline)
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 07:07.
|