forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Основной форум (http://forum.boolean.name/forumdisplay.php?f=49)
-   -   Рекорды. (http://forum.boolean.name/showthread.php?t=8055)

demon112 25.03.2009 16:57

Рекорды.
 
Чёт не пойму. Обьясните как сохранить в рмс, потом выводить. Я пробовал, сохраняю, после этого могу загрузить и вывести строчку, но когда я выхожу из приложения, при повторном входе, уже загрузить не могу... Напишите к примеру код самой простенькой программы, например, при нажатие на кнопку 5 сохраняет в рмс какую нить строчку, а при нажатии на кнопку 3 загружает её и выводит на экран...

beZ_probleM 26.03.2009 02:48

Ответ: Рекорды.
 
имья сохраняемого файла должно содержать токо английские буквы или числа (возможно и символы) но НЕ РУССКИЕ
ето важно
возможно ты сохранял под русским названием рмс... это может быть твоей проблемой
а в основном вот примитив сохранения и чтения с рмс :
PHP код:

var rsrecordStore
      
indexinteger;  
      
namestring
  
begin 
    
// Записываем некие данные в хранилище 
    
rs := openRecordStore('names'); 
    
index := addRecordStoreEntry(rs'John Smith'); 
    
closeRecordStore(rs); 

    
// Считываем данные 
    
rs := openRecordStore('names'); 
    
name := readRecordStoreEntry(rsindex); 
    
closeRecordStore(rs); 
  
end


demon112 26.03.2009 05:01

Ответ: Рекорды.
 
Я на этом примере и делал. К примеру: подправь немного этот код: напиши, если нажать 5 тогда сохранить даные и выйти, а если нажать 1, тогда считать и вывести на экран. Нифига не работает...

ViNT 26.03.2009 09:36

Ответ: Рекорды.
 
Ищте в форуме. Несколько месяцев назад уже кто-то спрашивал, почему не работает подобный код. Отвечаю: из-за переменной index, при записи она получает некоторое значение, но при следующем запуске она уже равна нулю(точнее, строго говоря, в ней вообще может быть что угодно). В итоге, пока мидлет работает, все нормально, но как только его перезапустили - начинаем читать данные "изниоткуда".

demon112 26.03.2009 10:23

Ответ: Рекорды.
 
И как сделать чтоб работало?

ViNT 26.03.2009 15:55

Ответ: Рекорды.
 
Уже обсуждалось здесь
http://forum.boolean.name/showthread...ht=recordstore

А вообще, можно просто записывать адрес ячейки например, в ячейку с индексом 0, и читать его оттуда.

beZ_probleM 26.03.2009 16:41

Ответ: Рекорды.
 
я вот так пишу и у меня всегда работает :)

PHP код:

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

З.Ы. луше создавать отдельные процедуры загрузки и сохранения чтоб потом при нажатии на клавишу вписать просто имья процедуры=) так код проще будет

demon112 26.03.2009 16:54

Ответ: Рекорды.
 
Во, всё работает. пасибки!


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

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