Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Программирование игр для мобильных телефонов > MidletPascal > Основной форум

Основной форум Сюда все проблемы связанные с программированием.

Ответ
 
Опции темы
Старый 30.07.2010, 10:06   #1
sidav
Оператор ЭВМ
 
Аватар для sidav
 
Регистрация: 09.06.2010
Сообщений: 23
Написано 2 полезных сообщений
(для 2 пользователей)
Сохранение.

Извините, если такая тема уже была... В общем, в хелпе я ничего не понял по этой теме. Допустим, у нас есть переменные а,б,в. Как их сохранить в хранилище и как их потом загрузить оттуда?
__________________
Вы начинаете читать надпись, которую заканчиваете читать.
(Offline)
 
Ответить с цитированием
Старый 30.07.2010, 10:23   #2
Bananbl4
Нуждающийся
 
Аватар для Bananbl4
 
Регистрация: 17.03.2010
Адрес: Колпашево, Томская обл.
Сообщений: 88
Написано 21 полезных сообщений
(для 25 пользователей)
Хорошо Ответ: Сохранение.

В хелпе всё понятно. Вот кусок нужный тебе:
program rs
var rs recordStore
     
countStr string;
     
countIntnextIdindex integer;
begin
   rs 
:= OpenRecordStore('Count'); //открываем RMS
   
{если первый запускдобавляем запись}
   if 
nextId 1 then 
    index 
:= AddRecordStoreEntry(rs'0'//сначала 0 (или 'КУКУ', '4tf^&' и т.д)
   
countStr := ReadRecordStoreEntry(rs1); // читаем запись
   
{делаем черное дело -- модифицируем переменную}
    
countInt := StringToInteger(countStr) + 1
    
countStr := IntegerToString(countInt); 
   {
В данном случае увеличиваем на 1}
    
ModifyRecordStoreEntry(rscountStr1);  // coхраняем
   
CloseRecordStore(rs);   // закрываем хранилище
   
{делаемчто хотим}
    
ShowForm
  
index := FormAddString('Значение переменной countStr: ' countStr); 
   
  
AddCommand(CreateCommand('Exit'CM_EXIT1));   
  
repeat Delay(100until GetClickedCommand <> EmptyCommand

end
Типа так
__________________
Teeworlds 4ever!
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Rock2roll (30.07.2010)
Старый 30.07.2010, 10:34   #3
sidav
Оператор ЭВМ
 
Аватар для sidav
 
Регистрация: 09.06.2010
Сообщений: 23
Написано 2 полезных сообщений
(для 2 пользователей)
Ответ: Сохранение.

Сообщение от Bananbl4 Посмотреть сообщение
В хелпе всё понятно. Вот кусок нужный тебе:
program rs
var rs recordStore
     
countStr string;
     
countIntnextIdindex integer;
begin
   rs 
:= OpenRecordStore('Count'); //открываем RMS
   
{если первый запускдобавляем запись}
   if 
nextId 1 then 
    index 
:= AddRecordStoreEntry(rs'0'//сначала 0 (или 'КУКУ', '4tf^&' и т.д)
   
countStr := ReadRecordStoreEntry(rs1); // читаем запись
   
{делаем черное дело -- модифицируем переменную}
    
countInt := StringToInteger(countStr) + 1
    
countStr := IntegerToString(countInt); 
   {
В данном случае увеличиваем на 1}
    
ModifyRecordStoreEntry(rscountStr1);  // coхраняем
   
CloseRecordStore(rs);   // закрываем хранилище
   
{делаемчто хотим}
    
ShowForm
  
index := FormAddString('Значение переменной countStr: ' countStr); 
   
  
AddCommand(CreateCommand('Exit'CM_EXIT1));   
  
repeat Delay(100until GetClickedCommand <> EmptyCommand

end
Типа так
Блин. Ну вот прям ни фига не понятно... Можно ли на примере трех переменных a, b, c типа integer?
__________________
Вы начинаете читать надпись, которую заканчиваете читать.
(Offline)
 
Ответить с цитированием
Старый 30.07.2010, 12:35   #4
cherepets
Бывалый
 
Регистрация: 18.08.2009
Сообщений: 745
Написано 146 полезных сообщений
(для 215 пользователей)
Ответ: Сохранение.

сохраняются только строки туда. можно сделать так:
ModifyRecordStoreEntry(rs, ''+a+' '+b+' '+c, 1);

можно еще в 3 разных хранилища записать
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
sidav (30.07.2010)
Старый 30.07.2010, 16:07   #5
Bananbl4
Нуждающийся
 
Аватар для Bananbl4
 
Регистрация: 17.03.2010
Адрес: Колпашево, Томская обл.
Сообщений: 88
Написано 21 полезных сообщений
(для 25 пользователей)
Ответ: Сохранение.

program blTb;
var 
rndwthsum RecordStore;
     
abcnextIDindex1index2index3 Integer;
     
save_asave_bsave_c string;
begin
{если первый запусксоздаём хранилища}
 if 
nextId 1 then  
    index1 
:= AddRecordStoreEntry(rnd'0');
    
index2 := AddRecordStoreEntry(wth'0');
    
index3 := AddRecordStoreEntry(sum'0')
{
открываем 3 разных хранилищанапр 'Random''Width''Calc'}
rnd := OpenRecordStore('Random');
wth := OpenRecordStore('Width');
sum :=  OpenRecordStore('Calc');
{
задаём переменные}
:= random(1337);
:= GetWidth;
:= sqrt(34+56/78*34); 
{
переводим в string}
save_a := IntegerToString(a);
save_b := IntegerToString(b);
save_c := IntegerToString(c); 
{
сохраняем}
ModifyRecordStoreEntry(rndsave_a1);
ModifyRecordStoreEntry(wthsave_b1);
ModifyRecordStoreEntry(sumsave_c1);
{
готово!}
end
а потом, если хотим прочитать:
read_a := ReadRecordStoreEntry(rnd1);
read_b := ReadRecordStoreEntry(wth1);
read_c := ReadRecordStoreEntry(sum1);
{
Это всё stringпереводим в integer через StringToInteger
__________________
Teeworlds 4ever!
(Offline)
 
Ответить с цитированием
Эти 2 пользователя(ей) сказали Спасибо Bananbl4 за это полезное сообщение:
Айнур (17.08.2010), Rock2roll (30.07.2010)
Старый 14.08.2010, 16:36   #6
odd
Мастер
 
Аватар для odd
 
Регистрация: 06.09.2007
Адрес: Донецк, ДНР
Сообщений: 1,023
Написано 298 полезных сообщений
(для 713 пользователей)
Ответ: Сохранение.

Можно всё хранить и в одном хранилище:

program rs 
var rs recordStore;  
     
countStr string
     
countIntnextIdindexabinteger
begin 
   rs 
:= OpenRecordStore('ABC'); //открываем RMS 
   
{если первый запускдобавляем 3 записи
   if 
nextId 1 then  
    index 
:= AddRecordStoreEntry(rs'0'//сначала 0
    
index := AddRecordStoreEntry(rs'0'//сначала 0
    
index := AddRecordStoreEntry(rs'0'//сначала 0 (добавляем 3 записи)

{читаем переменные
    
countStr := ReadRecordStoreEntry(rs1); // читаем запись 
    
:= StringToInteger(countStr);  
    
countStr := ReadRecordStoreEntry(rs2); // читаем запись 
    
:= StringToInteger(countStr);
    
countStr := ReadRecordStoreEntry(rs3); // читаем запись 
    
:= StringToInteger(countStr);

{
что-то делаем с переменными}

    {
Сохраняем все переменные
    
ModifyRecordStoreEntry(rs'' a1);  // coхраняем a
    
ModifyRecordStoreEntry(rs'' b2);  // coхраняем b
    
ModifyRecordStoreEntry(rs'' c3);  // coхраняем c
    
CloseRecordStore(rs);   // закрываем хранилище 
   
{делаемчто хотим
    
end
(Offline)
 
Ответить с цитированием
Старый 01.08.2011, 14:17   #7
AssA
AnyKey`щик
 
Аватар для AssA
 
Регистрация: 31.07.2011
Сообщений: 10
Написано 0 полезных сообщений
(для 0 пользователей)
Ответ: Сохранение.

подскажите, не могу найти - макс длинна одной записи в recordstore - как и string 255 символов?
(Offline)
 
Ответить с цитированием
Старый 01.08.2011, 15:03   #8
Жека
Дэвелопер
 
Регистрация: 04.09.2005
Адрес: Красноярск
Сообщений: 1,376
Написано 491 полезных сообщений
(для 886 пользователей)
Ответ: Сохранение.

Точно не скажу, но: разве нынче строки не могут в несколько килобайт разрастаться? Проверь экспериментом.
(Offline)
 
Ответить с цитированием
Старый 02.08.2011, 09:34   #9
YellowAfterlife
ПроЭктировщик
 
Аватар для YellowAfterlife
 
Регистрация: 19.02.2011
Сообщений: 134
Написано 81 полезных сообщений
(для 219 пользователей)
Ответ: Сохранение.

Сообщение от AssA Посмотреть сообщение
подскажите, не могу найти - макс длинна одной записи в recordstore - как и string 255 символов?
Это Java. Максимальная длина строки (String) в Java состовляет 2,147,483,647 unicode символов. Это (немного не мало) - 4 гб информации, что "немного превышает" общие объемы памяти, доступные на современных мобильных устройствах.
__________________

Мой сайт-блог. Игры, обновления, примеры для Haxe, JavaScript(+HTML5), GameMaker, Love2d...
(Offline)
 
Ответить с цитированием
Эти 2 пользователя(ей) сказали Спасибо YellowAfterlife за это полезное сообщение:
bormotan (18.10.2011), Romanzes (02.08.2011)
Старый 02.08.2011, 13:53   #10
Жека
Дэвелопер
 
Регистрация: 04.09.2005
Адрес: Красноярск
Сообщений: 1,376
Написано 491 полезных сообщений
(для 886 пользователей)
Ответ: Сохранение.

Другое дело, что размер записи бывает ограничен, то есть не всю флеху можно забить, а лишь сколько-то (обычно в мегабайтах).
(Offline)
 
Ответить с цитированием
Старый 18.08.2011, 01:29   #11
AssA
AnyKey`щик
 
Аватар для AssA
 
Регистрация: 31.07.2011
Сообщений: 10
Написано 0 полезных сообщений
(для 0 пользователей)
Ответ: Сохранение.

вот спасибо! так много, что растерялся. я так полагаю, что размер самого RecordStore примерно такого же порядка?
(Offline)
 
Ответить с цитированием
Старый 19.08.2011, 14:50   #12
im_zorg
Знающий
 
Регистрация: 25.10.2009
Сообщений: 338
Написано 53 полезных сообщений
(для 61 пользователей)
Ответ: Сохранение.

Вроде где-то в JimmBest видел максимальный размер хранилища, под историю, там написанно примерно 150-200кб(Тел Nokia 5130c-2 v07.97 ppm by walera14, cnt by walera14:D:D:D:D). Сильно не бейте если не прав=)
__________________
Я вернулсо в мидлет паскаль О_о уже написал новый проект Сайт моей компании: http://mpcompany.ucoz.com/ Сайт проекта "Путник" : http://putnik-project.ru/
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


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


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com