📄 sa.java
字号:
import javax.microedition.rms.*;
import java.lang.String;
import java.io.*;
public class SA
{
RecordStore sa=null;//定义临时数据存储器
byte[] tempdata;//临时存储数据的字节
SA()
{
}
//检测暂存数据库是否打开
public boolean tO()
{
boolean o=false;
try
{
sa=RecordStore.openRecordStore("temp",true);
RecordEnumeration re=sa.enumerateRecords(null,null,false);
if(re.hasNextElement())
o=true;
else
o=false;
close();
}
catch(RecordStoreException rse)
{
}
return(o);
}
//保存暂存数据
public void s()
{
int i;
tempdata=new byte[35];
try
{
tempdata[0]=(byte)(GM.mgc.l>>8&0xff);
tempdata[1]=(byte)(GM.mgc.l&0xff);
tempdata[2]=(byte)(GM.mgc.m>>8&0xff);
tempdata[3]=(byte)(GM.mgc.m&0xff);
tempdata[4]=(byte)(GM.mgc.le);
tempdata[5]=(byte)(GM.mgc.sp);
tempdata[6]=(byte)(GM.mgc.ex>>16&0xff);
tempdata[7]=(byte)(GM.mgc.ex>>8&0xff);
tempdata[8]=(byte)(GM.mgc.ex&0xff);
tempdata[9]=(byte)(GM.mgc.gold>>8&0xff);
tempdata[10]=(byte)(GM.mgc.gold&0xff);
tempdata[11]=(byte)((GM.mgc.task2?4:0)+(GM.mgc.task?2:0)+(GM.mgc.boat?1:0));
tempdata[12]=(byte)(((GM.mgc.dlg[0]?1:0)<<6&0xff)+((GM.mgc.dlg[1]?1:0)<<5&0xff)
+((GM.mgc.dlg[2]?1:0)<<4&0xff)+((GM.mgc.dlg[3]?1:0)<<3&0xff)+((GM.mgc.dlg[4]?1:0)<<2&0xff)
+((GM.mgc.dlg[5]?1:0)<<1&0xff)+((GM.mgc.dlg[6]?1:0)&0xff));
for(i=0;i<11;i++)
tempdata[13+i]=(byte)(GM.mgc.s[i]);
for(i=0;i<5;i++)
tempdata[24+i]=(byte)(GM.mgc.tn[i]);
for(i=0;i<6;i++)
tempdata[29+i]=(byte)(GM.mgc.weapon[i]);
if(tO())
{
d();
sa=RecordStore.openRecordStore("temp",true);
sa.addRecord(tempdata,0,tempdata.length);
close();
}
else
{
sa=RecordStore.openRecordStore("temp",true);
sa.addRecord(tempdata,0,tempdata.length);
close();
}
tempdata=null;
}
catch(java.lang.NullPointerException npe)
{
}
catch(javax.microedition.rms.RecordStoreException rec)
{
}
}
//读入暂存数据
public void r()
{
int i;
try
{
System.out.println("in1");
sa=RecordStore.openRecordStore("temp",true);
tempdata=new byte[35];
RecordEnumeration re=sa.enumerateRecords(null,null,false);
int nx=re.nextRecordId();
tempdata=sa.getRecord(nx);
GM.mgc.l=(tempdata[0]<<8&0xff00)+(tempdata[1]&0xff);
GM.mgc.m=(tempdata[2]<<8&0xff00)+(tempdata[3]&0xff);
GM.mgc.le=tempdata[4]&0xff;
GM.mgc.sp=tempdata[5]&0xff;
GM.mgc.ex=(tempdata[6]<<16&0xff0000)+(tempdata[7]<<8&0xff00)+(tempdata[8]&0xff);
GM.mgc.gold=(tempdata[9]<<8&0xff00)+(tempdata[10]&0xff);
GM.mgc.task2=(tempdata[11]>>2&0x00000001)==1?true:false;
GM.mgc.task=(tempdata[11]>>1&0x00000001)==1?true:false;
GM.mgc.boat=(tempdata[11]&0x00000001)==1?true:false;
for(i=0;i<7;i++)
GM.mgc.dlg[i]=(tempdata[12]>>(6-i)&0x00000001)==1?true:false;
for(i=0;i<11;i++)
GM.mgc.s[i]=tempdata[13+i]&0xff;
for(i=0;i<5;i++)
GM.mgc.tn[i]=tempdata[24+i]&0xff;
for(i=0;i<6;i++)
GM.mgc.weapon[i]=tempdata[29+i];
tempdata=null;
close();
}
catch(Exception rse)
{
System.out.println(rse.toString());
}
}
//删除数据库纪录
public void d()
{
try
{
RecordStore.deleteRecordStore("temp");
}
catch(RecordStoreException e)
{
System.err.println(e.getMessage());
}
}
//关闭数据库(每次打开数据库使用后要及时关闭数据库,避免删除数据库操作出错)
public void close()
{
try
{
if(sa!=null)
{
sa.closeRecordStore();
}
}
catch (RecordStoreException ex)
{
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -