Lib_rms -     RMS [MIDlet Pascal]
Lib_rms -   MIDlet Pascal,     RMS.
   ,       ,      RMS  MIDlet Pascal.

#1 
#2   RMS
#3  
#4 
#5  
#6   
#7  /
#8 
#9 

---
#1 

   2 :  ,   Quake    ,   ,       ,      .   Quake    : " -   !"

---
#2   RMS

    Java 2 ME     .   ,           ,     .             .     ,      ,  ,   ,    .

  (!):      ,      ,   .

---
#3  

      .
Lib_rms.class   /libs/
StringInputStream.class   
StringOutputStream.class   
    (     ),  RMSListener.class   

   uses   :

    uses rms;


    ,        .

---
#4 

    :

    rms.open('myrms');


,    -  .      ,       .

  - :

    rms.printInteger(5);
    rms.printString('F#CK');
    rms.printInteger(76);
    rms.add;


   printInteger/printString  ,   add        . ,       ,        1.
  :

    rms.close;


    :

    rms.open('myrms');
        read(1);
        debug(''+rms.inputInteger);
        debug(rms.inputString);
        debug(''+rms.inputInteger);
    rms.close;


 read         ,     inputInteger/inputString   .

  ,    :

    rms.open('myrms');
        rms.printString('newdata');
        rms.set(1);
    rms.close;


  :  set         .

      :

    rms.open('myrms');
        rms.printInteger(5);
        rms.printString('F#CK');
        rms.printInteger(76);
        rms.add;
    rms.close;
     
    rms.open('myrms');
        read(1);
        debug(''+rms.inputInteger);
        debug(rms.inputString);
        debug(''+rms.inputInteger);
    rms.close;
     
    rms.open('myrms');
        rms.printString('newdata');
        rms.set(1);
    rms.close;
     
    rms.open('myrms');
        read(1);
        debug(rms.inputString);
    rms.close;


,    , ...

---
#5  

  . .       . ,           1  :

    rms.open('empty');
        rms.read(1);
        debug(rms.inputString);
    rms.close;


     .       !  .       rms_exception,       -   .    ,    .

    procedure rms_exception(error:string);
    begin
        debug(error);
    end;


     ,     :

    >>recordId=1


     ,  !
    :)

    procedure rms_exception(error:string);
    begin
        if error='recordId=1' then
        begin
            rms.printString('data');
            rms.add;
        end
        else
        begin
            debug(error);
        end;
    end;


      .      empty    1  , ,          ,      .   ,  . ?    !

 ,        :-( , ,          :

    rms.open('empty');
        debug(rms.inputString);
    rms.close;


   ,    ,    ,   =>    . , ,  ,        ,      ,   ,     RMS.

---
#6   

  ,     RMS,    ,      ,  RMSListener.class
   :

    procedure rms_added(id:integer);
    begin
        debug('added!');
    end;
     
    procedure rms_changet(id:integer);
    begin
        debug('changet!');
    end;
     
    procedure rms_deleted(id:integer);
    begin
        debug('deleted!');
    end;


      .
      .
     .
 id    .

    :

    rms.open('kalter');
        rms.addListener;
        rms.printString('lal');
        rms.add;
        rms.printInteger(5);
        rms.set(1);
        rms.deleterecord(1);
    rms.close;


   addListener  ,    .    ,  ...    :   -  rms_added,   -  rms_changet,   -  rms_deleted.

---
#7  /

  .

  :

    rms.open('rms');
        rms.printInteger(5);
        rms.printString('data');
        rms.add;
    rms.close;


 :    ,       add.       - :

    rms.open('rms');
        rms.printInteger(5);
        rms.printString('data');
        rms.add;
     
        rms.printString('lol');
        rms.printString('data!');
        rms.add;
    rms.close;


     .    read     ,   inputString/inputInteger    .

    rms.open('rms');
        read(1);
        debug(''+rms.inputInteger);
        debug(rms.inputString);
     
        read(2);
        debug(inputString);
        debug(inputString);
    rms.close;


 -  .   ,   .

---
#8 

    :

    procedure open(name:string); // .     
    procedure deleteRecordStore(name:string); //   
    function getLastModified:integer; //      
    function getName:string; // 
    function getNextRecordId:integer; //,     
    function getNumRecords:integer; //   
    function getRecordSize(id:integer):integer; // ( )    
    function getSize:integer; // ( ) 
    function getSizeAvailable:integer; //  ( ),    
    function getVersion:integer; //  
    procedure addListener; //  
    procedure deleteListener; //  
    procedure deleteRecord(id:integer); //    
    procedure read(id:integer); //       
    procedure add; //     
    procedure set(id:integer); //        
    function inputInteger:integer; //    Integer
    function inputString:string; //    String
    procedure printInteger(value:integer); //   Integer  
    procedure printString(value:string); //   String  
    procedure close; // 


      '-1'  -1      (    - ).

 boolean, real, char  MIDlet Pascal'e,  , .      /,   .

---
#9 

      GitHub.
https://github.com/KalterFive/Lib_rms

        .