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

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

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

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

Ответ
 
Опции темы
Старый 25.03.2009, 16:57   #1
demon112
Знающий
 
Регистрация: 18.03.2009
Сообщений: 223
Написано 10 полезных сообщений
(для 17 пользователей)
Рекорды.

Чёт не пойму. Обьясните как сохранить в рмс, потом выводить. Я пробовал, сохраняю, после этого могу загрузить и вывести строчку, но когда я выхожу из приложения, при повторном входе, уже загрузить не могу... Напишите к примеру код самой простенькой программы, например, при нажатие на кнопку 5 сохраняет в рмс какую нить строчку, а при нажатии на кнопку 3 загружает её и выводит на экран...
(Offline)
 
Ответить с цитированием
Старый 26.03.2009, 02:48   #2
beZ_probleM
ПроЭктировщик
 
Регистрация: 31.03.2008
Сообщений: 134
Написано 8 полезных сообщений
(для 8 пользователей)
Ответ: Рекорды.

имья сохраняемого файла должно содержать токо английские буквы или числа (возможно и символы) но НЕ РУССКИЕ
ето важно
возможно ты сохранял под русским названием рмс... это может быть твоей проблемой
а в основном вот примитив сохранения и чтения с рмс :
var rsrecordStore
      
indexinteger;  
      
namestring
  
begin 
    
// Записываем некие данные в хранилище 
    
rs := openRecordStore('names'); 
    
index := addRecordStoreEntry(rs'John Smith'); 
    
closeRecordStore(rs); 

    
// Считываем данные 
    
rs := openRecordStore('names'); 
    
name := readRecordStoreEntry(rsindex); 
    
closeRecordStore(rs); 
  
end
(Offline)
 
Ответить с цитированием
Старый 26.03.2009, 05:01   #3
demon112
Знающий
 
Регистрация: 18.03.2009
Сообщений: 223
Написано 10 полезных сообщений
(для 17 пользователей)
Ответ: Рекорды.

Я на этом примере и делал. К примеру: подправь немного этот код: напиши, если нажать 5 тогда сохранить даные и выйти, а если нажать 1, тогда считать и вывести на экран. Нифига не работает...
(Offline)
 
Ответить с цитированием
Старый 26.03.2009, 09:36   #4
ViNT
Модератор
 
Регистрация: 03.04.2007
Сообщений: 2,252
Написано 597 полезных сообщений
(для 817 пользователей)
Ответ: Рекорды.

Ищте в форуме. Несколько месяцев назад уже кто-то спрашивал, почему не работает подобный код. Отвечаю: из-за переменной index, при записи она получает некоторое значение, но при следующем запуске она уже равна нулю(точнее, строго говоря, в ней вообще может быть что угодно). В итоге, пока мидлет работает, все нормально, но как только его перезапустили - начинаем читать данные "изниоткуда".
(Offline)
 
Ответить с цитированием
Старый 26.03.2009, 10:23   #5
demon112
Знающий
 
Регистрация: 18.03.2009
Сообщений: 223
Написано 10 полезных сообщений
(для 17 пользователей)
Ответ: Рекорды.

И как сделать чтоб работало?
(Offline)
 
Ответить с цитированием
Старый 26.03.2009, 15:55   #6
ViNT
Модератор
 
Регистрация: 03.04.2007
Сообщений: 2,252
Написано 597 полезных сообщений
(для 817 пользователей)
Ответ: Рекорды.

Уже обсуждалось здесь
http://forum.boolean.name/showthread...ht=recordstore

А вообще, можно просто записывать адрес ячейки например, в ячейку с индексом 0, и читать его оттуда.
(Offline)
 
Ответить с цитированием
Старый 26.03.2009, 16:41   #7
beZ_probleM
ПроЭктировщик
 
Регистрация: 31.03.2008
Сообщений: 134
Написано 8 полезных сообщений
(для 8 пользователей)
Ответ: Рекорды.

я вот так пишу и у меня всегда работает

procedure Save_to_recordStore;
  var 
rsrecordStore;
      
ex:integer
  
begin 
    deleteRecordStore
(Pers.login);  // удаляем старое хранилище
    
rs := openRecordStore(Pers.login); 
       
repeat 
          ex 
:= addRecordStoreEntry(rs,integerToString(Pers.level)); 
       
until ex<>-1;
       
repeat
          ex 
:= addRecordStoreEntry(rs,integerToString(Pers.exp)); 
       
until ex<>-1;
    
closeRecordStore(rs); 
  
end;

procedure From_recordStore_to_Pers;
  var 
rsrecordStore
  
begin  
    rs 
:= openRecordStore(Pers.login); 
       
Pers.level := StringtoInteger(readRecordStoreEntry(rs,2)); 
       
Pers.exp := StringtoInteger(readRecordStoreEntry(rs,3));
    
closeRecordStore(rs); 
  
end
З.Ы. луше создавать отдельные процедуры загрузки и сохранения чтоб потом при нажатии на клавишу вписать просто имья процедуры=) так код проще будет
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
demon112 (26.03.2009)
Старый 26.03.2009, 16:54   #8
demon112
Знающий
 
Регистрация: 18.03.2009
Сообщений: 223
Написано 10 полезных сообщений
(для 17 пользователей)
Ответ: Рекорды.

Во, всё работает. пасибки!
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Рекорды в "Сапере" HolyDel Болтовня 2 21.12.2007 16:08


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


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