📄 param.java
字号:
/* * Created on 14.04.2004 * * To change the template for this generated file go to * Window>Preferences>Java>Code Generation>Code and Comments */package tal;import util.Dbg;/** * @author martin * * To change the template for this generated type comment go to * Window>Preferences>Java>Code Generation>Code and Comments */public class Param { private StringBuffer string; private StringBuffer tmp; public StringBuffer usnr; public int mask; public int[] time; public int disconn; public StringBuffer modem; public int cntTel; public StringBuffer[] telnr; public boolean ok; public Param() { int i; string = new StringBuffer(100); tmp = new StringBuffer(); usnr = new StringBuffer();// usnr.append("4101"); mask = 0; time = new int[8]; for (i=0; i<8; ++i) time[i] = 0; modem = new StringBuffer(); disconn = 0; cntTel = 0; telnr = new StringBuffer[3]; for (i = 0; i < 3; i++) { telnr[i] = new StringBuffer(); } cntTel = 0; // TODO .....// telnr[0].append("t022833900924");// ok = true; Config conf = Config.getInstance(); conf.getString(FlashConst.CONFIG_TAL_PARAM, string); if (string.length()==0) { string.append("no parameter");/*string.setLength(0);Dbg.wr("set test parameter\n");string.append("US_NR:123:TEL_NR:1:4711:IO_PAR:00:00:00:00:00:00:01:02:03:");Dbg.wr(string);Dbg.lf();*/ conf.setString(FlashConst.CONFIG_TAL_PARAM, string); conf.write(); } extract(); ok = cntTel != 0; } public void resetString() { string.setLength(0); } public void append(char ch) { string.append(ch); } public void append(StringBuffer s) { string.append(s); } public void append(String s) { string.append(s); } /** * Take the parameter string and extract parameter. */ public void extract() { int pos = 0; int len = string.length(); while (pos<len) { pos = extractString(pos, tmp); if (is(tmp,"US_NR")) { pos = extractString(pos, usnr); } else if (is(tmp,"IO_PAR")) { pos = extractString(pos, tmp); mask = readHexByte(tmp, 0); for (int i=0; i<8; ++i) { pos = extractString(pos, tmp); time[i] = readInt(tmp); } } else if (is(tmp,"TEL_NR")) { pos = extractString(pos, tmp); cntTel = readInt(tmp); if (cntTel > 3) cntTel = 0; for (int i = 0; i<cntTel; i++) { pos = extractString(pos, telnr[i]); } } else if (is(tmp,"PAGERNR")) { // we don't care } else if (is(tmp,"MODEM")) { pos = extractString(pos, tmp); disconn = readInt(tmp); pos = extractString(pos, modem); } else if (is(tmp,"TEXTE")) { // we don't care } } dump(); } /** * */ public void dump() { Dbg.wr("Parameter are: \n"); Dbg.wr(usnr); Dbg.lf(); Dbg.intVal(mask); for (int i=0; i<8; ++i) Dbg.intVal(time[i]); Dbg.lf(); Dbg.intVal(disconn); Dbg.wr(modem); Dbg.lf(); for (int i = 0; i < cntTel; i++) { Dbg.wr(telnr[i]); Dbg.lf(); } } /** * @param c * @return */ public static int hex2int(char c) { if (c>='0' && c<='9') { return c-'0'; } else if (c>='a' && c<='f') { return c-'a'+10; } else if (c>='A' && c<='F') { return c-'A'+10; } return 0; } public static int readHexByte(StringBuffer s, int i) { int sum = (hex2int(s.charAt(i))<<4)+ hex2int(s.charAt(i+1)); return sum; } /** * @param tmp * @param string * @return */ static boolean is(StringBuffer tmp, String string) { // TODO equals in StringBuffer int max = string.length()-1; for (int i = 0; i < tmp.length(); i++) { if (i>max || tmp.charAt(i)!=string.charAt(i)) { return false; } } return true; } /** * @param tmp * @return */ private int readInt(StringBuffer tmp) { int val = 0; for (int i = 0; i < tmp.length(); i++) { val *= 10; val += tmp.charAt(i)-'0'; } return val; } /** * @param pos * @param tmp * @return */ private int extractString(int pos, StringBuffer tmp) { tmp.setLength(0); int len = string.length(); for (; pos<len; ++pos) { char c = string.charAt(pos); if (c==':') { ++pos; break; } tmp.append(c); } // trim the string for (len=tmp.length(); len>0; --len) { if (tmp.charAt(len-1)!=' ') break; } tmp.setLength(len); return pos; } /** * */ public void save() { Config conf = Config.getInstance(); conf.setString(FlashConst.CONFIG_TAL_PARAM, string); conf.write();Dbg.wr("write parameter and stop the WD\n"); Tal.stop(); } public void erase() { string.setLength(0); save(); } }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -