// String: eWith(src,searchText,start)
// String(adrs)
function String(a){
this.adrs=a; // EEPROM Address
this.set=function(idx,n){ // Set Char
var adrs=this.adrs+idx; // EEPROM Address+Index
i2cw(0x50|(((adrs>>16)&1)<<2), (adrs&0xff00)>>8,adrs&0xff,n&0xFF);
};
this.charAt=function(idx){ // Get Char
var c,adrs=this.adrs+idx; // EEPROM Address+Index
var d=0x50|(((adrs>>16)&1)<<2);
i2cw(d,(adrs&0xff00)>>8,adrs&255);
i2cr(d,c);
return c;
};
}
// eWith "endsWith"
function eWith(src,text,start){
var e=0,c,n=0;
if(start==-1){ // -1=text.length
while(e<32768){
c=src.charAt(e);
sleep(10); // Wait
if (c==0){break;}
e=e+1;
}
start=e-1;
}
while(n<32768){
c=text.charAt(n);
sleep(10);
if (c==0){break;}
n=n+1;
}
if(n==0){return 0;}
n=n-1;
var s=start,e=n,p=-1;
while(e>=0){
var c1=src.charAt(s);
sleep(10); // Wait
var c2=text.charAt(e);
sleep(10); // Wait
if(c1!=c2){return 0;} // false
e=e-1;
s=s-1;
}
return 1;
}
// Sample Code
var src=new String(0);
var str=new String(1*2048);
var f=eWith(src,str,0-1);
log(f,"\n");
f=eWith(src,str,8);
log(f,"\n");
目次に戻る