public void loadAlarms() { xDataInput di = xFileManager.readFile(Context.FILE_ALARM, false); if (di == null) { return; } int ver = 0; if (di != null) { ver = di.readInt(); } if (ver >= Context.FILE_VERSION_33) { int cnt = di.readInt(); for (int i = 0; i < cnt; i++) { stAlarm a = new stAlarm(); a.code = di.readUTF(); a.date = di.readInt(); a.lowerPrice = di.readInt(); a.upperPrice = di.readInt(); a.comment = di.readUTF(); mAlarms.addElement(a); } } }
//======================================================== public void setZero(xDataInput di) { if (code.Equals("ACM")) { max = 0; } max = di.readInt() / 1000.0f; min = di.readInt() / 1000.0f; // remain buy int i = 0; for (i = 0; i < 3; i++) { remain_buy_price[i] = di.readInt() / 1000.0f; remain_buy_volume[i] = di.readInt(); } for (i = 0; i < 3; i++) { remain_sell_price[i] = di.readInt() / 1000.0f; remain_sell_volume[i] = di.readInt(); } current_price_1 = di.readInt() / 1000.0f; current_volume_1 = di.readInt(); change = di.readInt() / 1000.0f; total_volume = di.readInt(); // update status //Utils.writeInt(pData, offset + POS_STATE, 0xffffffff); }
public void setNextfile(xDataInput di) { for (int i = 0; i < 8; i++) { next_file[i] = di.readByte(); } }
public void load(xDataInput di) { this.setName(di.readUTF()); // already this.setType(di.readInt()); int members = di.readInt(); for (int j = 0; j < members; j++) { String code = di.readUTF(); if (code != null && code.Length >= 3) { if (Context.getInstance() != null && Context.getInstance().mShareManager != null) { int id = Context.getInstance().mShareManager.getShareID(code); if (id > 0) { this.addCode(code); } } else { this.addCode(code); } } } }
public void updateOpens(xDataInput di) { int cnt = di.readInt(); mContext.mNeedRefreshOpens = false; if (cnt > 0) { if (mOpens == null || mOpens.Length < cnt) { mOpens = new float[2 * (cnt + 200)]; } mOpensCount = cnt; int id; float open; for (int i = 0; i < cnt; i++) { id = di.readInt(); if (id == 578) { open = 0; Utils.trace("578"); } open = di.readInt() / 1000.0f; mOpens[2 * i] = id; mOpens[2 * i + 1] = open; } } }
//========================================== void loadShareGroup(xDataInput di) { int cnt = di.readInt(); if (cnt > stShareGroup.MAX_SHARES_IN_GROUP) { cnt = stShareGroup.MAX_SHARES_IN_GROUP; } xVector v = shareGroups(); if (cnt > 0) { v.removeAllElements(); } for (int i = 0; i < cnt; i++) { stShareGroup g = new stShareGroup(); g.load(di); if (g.getType() == stShareGroup.ID_GROUP_GAINLOSS || g.getName() == null || g.getName().Length == 0) { continue; } v.addElement(g); } }
public bool load(xDataInput di) { mDate = di.readInt(); mShareID = di.readInt(); mCode = di.readUTF(); mFloorID = di.readByte(); mPriceRef = di.readFloat(); mIsIndex = di.readBoolean(); mMaxTradeVolume = di.readInt(); mTradeTransactionCount = di.readInt(); int cnt = mTradeTransactionCount * FIELD_CNT; if (cnt > mTradeTransactionBuffer.Length) { int[] p = new int[cnt + 20 * FIELD_CNT]; mTradeTransactionBuffer = p; } for (int i = 0; i < cnt; i++) { mTradeTransactionBuffer[i] = di.readInt(); } return(true); }
public void setOnlineIndexData(xDataInput di) { String date = di.readUTF(); mDate = parseDate(date); mTime = parseTime(date); int floor = di.readInt(); int max = 10; if (floor < 1 || floor > max) { return; } //=====================index=================== stPriceboardStateIndex index = getPriceboardIndexOfMarket(floor); if (di.available() < 44) { mContext.err++; return; } if (index != null) { index.mDate = date; index.current_point = di.readInt() / 100.0f; index.changed_point = di.readInt() / 100.0f; index.changed_percent = di.readInt(); index.total_volume = di.readInt(); index.inc_cnt = di.readInt(); index.ce_cnt = di.readInt(); index.dec_cnt = di.readInt(); index.floor_cnt = di.readInt(); index.ref_num = di.readInt(); index.totalGTGD = di.readInt() / 10; // dv 1tr index.market_status = di.readInt(); index.update_time = date; index.reference = index.current_point - index.changed_point; } // set timing clock if (index != null && index.market_status == MARKET_STATUS_OPENNING) { //mContext.mClock.reset(mTime * 1000); } else { //mContext.mClock.reset(); } }
public void loadPriceboard() { if (true) { return; } if (!Context.mInvalidSavedFile) { return; } xDataInput di = xFileManager.readFile(PRICEBOARD_FILE, false); if (di != null) { int ver = di.readInt(); if (ver < Context.FILE_VERSION_10) { return; } int floor_count = di.readInt(); int i = 0; // indices mIndices.removeAllElements(); for (i = 0; i < floor_count; i++) { stPriceboardStateIndex idx = new stPriceboardStateIndex(); mIndices.addElement(idx); idx.id = di.readShort(); idx.code = di.readUTF(); idx.marketID = di.readInt(); idx.current_point = di.readFloat(); // *100 idx.changed_point = di.readFloat(); // *100 idx.changed_percent = di.readInt(); // *100 idx.total_volume = di.readInt(); idx.inc_cnt = di.readInt(); idx.ce_cnt = di.readInt(); idx.dec_cnt = di.readInt(); idx.floor_cnt = di.readInt(); idx.ref_num = di.readInt(); idx.totalGTGD = di.readInt(); // *10000 idx.market_status = di.readInt(); idx.reference = di.readFloat(); idx.mDate = di.readUTF(); } // shares for (i = 0; i < floor_count; i++) { stPriceboardState.load(di); } } }
// structure:ver |blockcnt| blocksize:id|data | blocksize:id|data public void loadUserData(xDataInput di) { int signal = di.readInt(); if (signal != USER_DATA_SIGNATURE) { return; // bad file } int blockCount = di.readInt(); _unknownBlocks = new xVector(); if (blockCount < 16) { for (int i = 0; i < blockCount; i++) { UserDataBlock block = UserDataBlock.loadBlock(di); if (block.id == DATA_SHARE_GROUPS) { loadShareGroup(block.dataInput); } else if (block.id == DATA_GAINLOSS) { loadGainload(block.dataInput); } else if (block.id == DATA_FILTERS_WINDOWS) { if (usingFilterWindowsNew) { continue; // old version, discard this block } bool ok = loadFilters(block.dataInput); if (!ok) { _unknownBlocks.addElement(block); } } else if (block.id == DATA_FILTERS_WINDOWS_NEW) { usingFilterWindowsNew = true; loadFilters(block.dataInput); } else if (block.id == DATA_DRAWING) { loadDrawings(block.dataInput); } else { _unknownBlocks.addElement(block); } } } }
/* * void addData2(byte[] code, int floor, byte[] data, int offset, int data_size) * { * if (code[0] == (byte)'^') * return; * // if (strcmp(code, "BHS") == 0) * // { * // int k = 0; * // } * int i, j; * totalSize += data_size; * * int candle_cnt = data_size / NET_CANDLE_SIZE; * * int candleSize = CANDLE_SIZE; * int size = candle_cnt * candleSize; * * // if (strlen(code) > 3) * // { * // int k = 0; * // } * * int off = 0; * int[] offsets = { 0 }; * byte[] p0 = seekTo(code, offsets); * off = offsets[0]; * * int p1 = off+8; * * if (p0 == null) * return; * * int old_candle_cnt = Utils.readInt(p0, off); * // move backward memory in buff * int buffSize = MAX_CANDLES * candleSize; * int size2Move = candleSize * old_candle_cnt; * int remain = buffSize - size; * if (remain < size2Move) * size2Move = remain; * * int total_candle_save = 0; * if (size2Move > 0) * { * int end = size + size2Move; * for (i = 0; i < size2Move; i++) * p0[p1 + i + size] = p0[p1 + i]; // copy to the end * //memmove(p1 + size, p1, size2Move); * total_candle_save = size2Move / candleSize; * } * // if network data is too large, skip some first candles * int candleAccept = candle_cnt; * if (candleAccept > MAX_CANDLES) * candleAccept = MAX_CANDLES; * int skipCandle = candle_cnt - candleAccept; * * int c0 = 0; * int postP = (candleAccept - 1) * candleSize; * * int tmp = 0; * * j = 0; * if (skipCandle > 0) * j = skipCandle * NET_CANDLE_SIZE; * * stCandle c = new stCandle(); * * for (i = skipCandle; i < candle_cnt; i++) * { * total_candle_save++; * c0 = p1 + postP; // move backward * postP -= candleSize; * * c.init(p0, c0); * * int open = Utils.readInt(data, j) / 100; j += 4; * int close = Utils.readInt(data, j) / 100; j += 4; * int highest = Utils.readInt(data, j) / 100; j += 4; * int lowest = Utils.readInt(data, j) / 100; j += 4; * //j += 4;//floor = di.readInt()/100; j += 4; * int reference = Utils.readInt(data, j) / 100; j += 4; * * int ce = Utils.readInt(data, j) / 100; j += 4; * * int volume = Utils.readInt(data, j); j += 4; * int date = Utils.readInt(data, j); j += 4; * // correct data: * if (open != 0) tmp = open; * if (close != 0 && tmp == 0) tmp = close; * if (highest != 0 && tmp == 0) tmp = highest; * if (lowest != 0 && tmp == 0) tmp = lowest; * if (reference != 0 && tmp == 0) tmp = reference; * if (ce != 0 && tmp == 0) tmp = ce; * * if (open == 0) open = tmp; * if (close == 0) close = tmp; * if (highest == 0) highest = tmp; * if (lowest == 0) lowest = tmp; * if (reference == 0) reference = close; * * if (ce == 0) ce = tmp; * * c.setOpen(open); * c.setClose(close); * c.setCe(ce); * c.setRef(reference); * c.setVolume(volume); * c.setDate(date); * c.setHighest(highest); * c.setLowest(lowest); * * if (tmp == 0) // reject bad candle * { * i--; * candle_cnt--; * } * } * * Utils.writeInt(p0, off+0, total_candle_save); * Utils.writeInt(p0, off+4, floor); * } */ // addDataToShare for INDICES only // adding data format: int:open, int:close, int highest, int lowest, int floor, int ref, int ce, int volume, int date // 36bytes for each candle // first candle is earlies /* * void addDataToShare(Share s, byte[] data, int offset, int data_size) * { * int candle_cnt = data_size / NET_CANDLE_SIZE; * xDataInput di = mDI; * di.bind(data, offset, data_size); * * int tmp = 0; * stCandle tmpCandle; * * int lastDate = s.getLastCandleDate(); * * for (int i = 0; i < candle_cnt; i++) * { * int open = di.readInt() / 10; * int close = di.readInt() / 10; * int highest = di.readInt() / 10; * int lowest = di.readInt() / 10; * int reference = di.readInt() / 10; * * int ce = di.readInt() / 10; * * int volume = di.readInt(); * int date = di.readInt(); * // correct data: * if (open != 0) tmp = open; * if (close != 0 && tmp == 0) tmp = close; * if (highest != 0 && tmp == 0) tmp = highest; * if (lowest != 0 && tmp == 0) tmp = lowest; * if (reference != 0 && tmp == 0) tmp = reference; * if (ce != 0 && tmp == 0) tmp = ce; * * if (open == 0) open = tmp; * if (close == 0) close = tmp; * if (highest == 0) highest = tmp; * if (lowest == 0) lowest = tmp; * if (reference == 0) reference = tmp; * * if (ce == 0) ce = tmp; * if (tmp == 0) // reject bad candle * { * i--; * candle_cnt--; * } * * if (lastDate != 0) * { * if (date < lastDate) * continue; // skip old candle * else * lastDate = 0; * } * * s.addMoreCandle(open, close, reference, highest, lowest, volume, date); * } * } */ byte[] seekTo(byte[] code, int[] out_offset) { if (mBuffer != null) { // int i = 0; int off = 0; int cnt = mShareCnt; // share count off = HEADER_OFFSET; // skip file header xDataInput di = mDI; di.bind(mBuffer, off, mShareCnt * (SHARE_CODE_LENGTH + 4)); for (int i = 0; i < cnt; i++) { int di_off = di.getCurrentOffset(); bool equal = Utils.strcmp(mBuffer, di_off, code, 0, Share.SHARE_CODE_LENGTH); if (equal) { di.skip(Share.SHARE_CODE_LENGTH); int offset = di.readInt(); out_offset[0] = mDataOffset + offset; return(mBuffer); } di.skip(SHARE_CODE_LENGTH + 4); } } out_offset[0] = 0; // not found, for (int i = 0; i < mNewShareIDs.size(); i++) { byte[] c = (byte[])mNewShareIDs.elementAt(i); if (Utils.strcmp(code, 0, c, 0, Share.SHARE_CODE_LENGTH)) { return((byte[])mNewShares.elementAt(i)); } } byte[] newCode = new byte[Share.SHARE_CODE_LENGTH + 10]; Utils.strcpy(newCode, code); newCode[Share.SHARE_CODE_LENGTH - 1] = 0; mNewShareIDs.addElement(newCode); byte[] data = new byte[4 + 4 + MAX_CANDLES * CANDLE_SIZE]; // candle_cnt + floor + dataOfCandle // candle count = 0 Utils.writeInt(data, 0, 0); mNewShares.addElement(data); return(data); }
public UserDataBlock(int id, byte[] data, int offset, int size) { this.id = id; blockSize = size + 4; if (size > 0 && data != null) { dataInput = new xDataInput(data, offset, size, true); } else { dataInput = new xDataInput(1); } }
void loadFibonaccie() { if (!mShouldSaveFile) { return; } Share share = mShare; if (share == null) { return; } string sz = getFilename(); xDataInput di = xFileManager.readFile(sz, false); mTrends.removeAllElements(); mSelectedTrend = null; if (di != null) { if (di.readInt() == Context.FILE_VERSION) { int cnt = di.readInt(); for (int i = 0; i < cnt; i++) { stTrendLine t = new stTrendLine(); t.type = di.readByte(); t.color = (uint)di.readInt(); t.thickness = di.readFloat(); for (int j = 0; j < 3; j++) { t.candleIdx[j] = di.readFloat(); Utils.trace("=====loadfile: candle=" + t.candleIdx[j]); t.price[j] = di.readFloat(); } if (t.type == DRAW_ABC) { t.data = di.readUTF(); } mTrends.addElement(t); } recalcPosition(); } } Utils.trace("=====loadfile"); }
static public void loadData() { xDataInput di = xFileManager.readFile("global.dat", false); if (di != null) { String str = di.readUTF(); if (str != null) { data = new VTDictionary(str); } } }
static public void saveBlock(int id, xDataInput data, xDataOutput o) { if (data == null) { return; } int blockSize = 4 + data.size(); if (blockSize + o.size() < DATA_MAX) { o.writeInt(blockSize); o.writeInt(id); o.write(data.getBytes(), 0, data.size()); } }
public void setPriceboardDataOfGroup(xDataInput di) { int cnt = di.readInt(); if (cnt < 0 || cnt > 5000) { mHasRefvalue = false; return; } //printf("==c================================\n"); for (int i = 0; i < cnt; i++) { int shareID = di.readInt(); stPriceboardState p = getPriceboard(shareID); if (p == null) { break; } if (p.code.CompareTo("AAA") == 0) { Utils.trace("----"); } //================================== p.max = di.readInt() / 1000.0f; p.min = di.readInt() / 1000.0f; for (int k = 0; k < 3; k++) { p.remain_buy_price[k] = di.readInt() / 1000.0f; p.remain_buy_volume[k] = di.readInt(); } for (int k = 0; k < 3; k++) { p.remain_sell_price[k] = di.readInt() / 1000.0f; p.remain_sell_volume[k] = di.readInt(); } p.current_price_1 = di.readInt() / 1000.0f; p.current_volume_1 = di.readInt(); p.change = di.readInt() / 1000.0f; p.changePercent = (int)((p.change * 100) / p.reference); p.total_volume = di.readInt(); p.state = 0x0fffffff; } }
public static void loadAppConfig() { xDataInput di = xFileManager.readFile("appconfig2", false); if (di != null) { try { String s = di.readUTF(); appConfig = Newtonsoft.Json.JsonConvert.DeserializeObject <AppConfig>(s); } catch (Exception e) { Utils.trace(e.Message); } } }
void init(xDataInput di) { mItemCnt = 0; if (di == null || di.available() < 10) { return; } //================================================= // item_cnt | header session | data //================================================= // header session: flag:1 | offset:3 | size:4, total 8 bytes //================================================= //check signature //======================== const string sig = "ezze"; for (int i = 0; i < 4; i++) { if (di.readByte() != sig[i]) { return; } } int size0 = di.readInt(); // little endien int size = Utils.convertBigIntToLittleInt(size0); if (di.available() != size + 4) // last 4 ezze { return; } //======================================= // get number of item size0 = di.readInt(); mItemCnt = Utils.convertBigIntToLittleInt(size0); if (mItemCnt > 0) { // read header size = 64 * mItemCnt; mHeader = new byte[size]; di.read(mHeader, 0, size); } mData = di; }
void loadGainload(xDataInput di) { int cnt = di.readInt(); if (cnt > 50) { cnt = 50; } GainLossManager m = gainLossManager(); if (cnt > 0) { m.clearAll(); } for (int i = 0; i < cnt; i++) { String code = di.readUTF(); int date = di.readInt(); float price = di.readInt() / 1000.0f; int vol = di.readInt(); if (date == 0) { date = Utils.getDateAsInt(); GlobalData.vars().setValueBool("should_flush_userdata", true); } if (code != null && code.Length >= 3 && code.Length < 15) { if (Context.getInstance() != null && Context.getInstance().mShareManager != null) { int id = Context.getInstance().mShareManager.getShareID(code); if (id > 0) { m.addGainLoss(code, date, price, vol); } } //m.addGainLoss(code, date, price, vol); } } m.sortList(); }
void loadData() { xDataInput di = xFileManager.readFile(Context.FILE_STORE_NAME, false); if (di != null) { clearMemory(); mBufferSize = di.available(); int ver = di.readInt(); if (ver == Context.FILE_VERSION) { mHeaderSize = di.readInt(); mDataOffset = di.readInt(); mShareCnt = di.readInt(); mBuffer = di.getBytes(); } } }
public static UserDataBlock loadBlock(xDataInput di) { int blockSize = di.readInt(); int id = di.readInt(); int dataSize = 0; byte[] data = null; if (blockSize > 4) { dataSize = blockSize - 4; if (dataSize > DATA_MAX) { dataSize = DATA_MAX; } data = new byte[dataSize]; di.read(data, 0, dataSize); } return(new UserDataBlock(id, data, 0, dataSize)); }
/* * public void setRefPrice(xDataInput di) { * if (true) // invalid method and not used anymore * return; * int floor = di.readInt(); * int cnt = di.readInt(); * if (cnt < 0) { * return; * } * if (cnt > 5000) { * return; * } * * if (floor < 1 || floor > 2) { * return; * } * * stPriceboardState.alloc_buffer(floor, cnt); * * mHasRefvalue = true; * int j = 0; * //==================================================================== * byte[] data = di.getBytes(); * int off = di.getCurrentOffset(); * * for (int i = 0; i < cnt; i++) { * j = 0; * stPriceboardState p = stPriceboardState.seekPriceboard(floor, data, off); * // code * p.setRef(data, off); * off += 8 + 3 * 4; * } * } * */ /* * public void setZeroPriceboard(xDataInput di) * { * String nextfile = di.readUTF(); * //nextfile = "0"; // CHEAT * * String date = di.readUTF(); * mDate = parseDate(date); * * int floor = di.readInt(); * int max = 10; * if (floor < 1 || floor > max) * { * return; * } * * mNextfile[floor - 1] = nextfile; * * //=====================index=================== * stPriceboardStateIndex index = getPriceboardIndexOfMarket(floor); * int oldStatus = index.market_status; * index.current_point = di.readInt()/100.0f; * index.changed_point = di.readInt()/100.0f; * index.changed_percent = di.readInt(); * index.total_volume = di.readInt(); * index.inc_cnt = di.readInt(); * index.ce_cnt = di.readInt(); * index.dec_cnt = di.readInt(); * index.floor_cnt = di.readInt(); * index.ref_num = di.readInt(); * index.totalGTGD = di.readInt() / 10; // dv 1tr * index.market_status = di.readInt(); * index.update_time = date; * index.reference = index.current_point - index.changed_point; * * index.status_changed = oldStatus != index.market_status ? true : false; * //=====================end of index=================== * * int cnt = di.readInt(); * if (cnt < 0 || cnt > 5000) * { * return; * } * * byte[] data = di.getBytes(); * * int j = 0; * for (int i = 0; i < cnt; i++) * { * stPriceboardState p = getPriceboard(floor, data, di.getCurrentOffset()); * * //Utils.trace("=====" + c0 + c1 + c2); * * if (p == null) * { * di.skip(Share.SHARE_CODE_LENGTH + 54); * continue; * } * di.skip(Share.SHARE_CODE_LENGTH); * * p.setZero(di); * } * } */ public void setZeroPriceboard2016(xDataInput di) { String nextfile = di.readUTF(); //nextfile = "0"; // CHEAT String date = di.readUTF(); mDate = parseDate(date); int floor = di.readInt(); int max = 10; if (floor < 1 || floor > max) { return; } mNextfile[floor - 1] = nextfile; //=====================index=================== stPriceboardStateIndex index = getPriceboardIndexOfMarket(floor); int oldStatus = index.market_status; index.current_point = di.readInt() / 100.0f; index.changed_point = di.readInt() / 100.0f; index.changed_percent = di.readInt(); index.total_volume = di.readInt(); index.inc_cnt = di.readInt(); index.ce_cnt = di.readInt(); index.dec_cnt = di.readInt(); index.floor_cnt = di.readInt(); index.ref_num = di.readInt(); index.totalGTGD = di.readInt() / 10; // dv 1tr index.market_status = di.readInt(); index.update_time = date; index.reference = index.current_point - index.changed_point; index.status_changed = oldStatus != index.market_status ? true : false; //=====================end of index=================== int cnt = di.readInt(); if (cnt < 0 || cnt > 5000) { return; } byte[] data = di.getBytes(); int j = 0; for (int i = 0; i < cnt; i++) { //stPriceboardState p = getPriceboard(floor, data, di.getCurrentOffset()); String scode = Utils.bytesNullTerminatedToString(data, di.getCurrentOffset(), 20); stPriceboardState p = getPriceboard(scode); if (p == null) { di.skip(Share.SHARE_CODE_LENGTH + 72); continue; } p.code = scode; //Utils.trace("=====" + c0 + c1 + c2); di.skip(Share.SHARE_CODE_LENGTH); p.setZero(di); } }
public static void load(xDataInput di) { }
static void Main(string[] args) { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); int w = Screen.PrimaryScreen.WorkingArea.Width; int h = Screen.PrimaryScreen.WorkingArea.Height; bool miniMode = false; if (args.Length > 0) { miniMode = true; return; } string path = System.IO.Directory.GetCurrentDirectory();// Application.ExecutablePath; //System.IO.Directory.SetCurrentDirectory(Application.UserAppDataPath); if (!runWithoutInstall) { path = Application.UserAppDataPath; } //path xFileManager.RootDir = Application.StartupPath; xFileManager.UserDir = path + "\\vnChart\\";// Application.StartupPath; //xFileManager.UserDir = "C:" + "\\vnChart\\";// Application.StartupPath; try { System.IO.Directory.CreateDirectory(xFileManager.UserDir); System.IO.Directory.CreateDirectory(xFileManager.UserDir + "\\data"); //System.IO.Directory.CreateDirectory("vnChart\\data"); } catch (Exception e) { } //MessageBox.Show("C:\\"); if (xFileManager.RootDir[xFileManager.RootDir.Length - 1] != '\\') { xFileManager.RootDir = xFileManager.RootDir + "\\"; } //MessageBox.Show("1"); MainApplication.mMiniMode = miniMode; //// read windows state //MessageBox.Show("11"); xDataInput di = xFileManager.readFile("windstate", false); //MessageBox.Show("12"); int x = 0; int y = 0; w = w / 2; h = h / 2; FormWindowState state = FormWindowState.Maximized; //MessageBox.Show("2"); if (w < 600) { w = 600; } if (h < 400) { h = 400; } if (di != null) { state = (FormWindowState)di.readInt(); x = di.readInt(); y = di.readInt(); w = di.readInt(); h = di.readInt(); } //MessageBox.Show("3"); MainApplication app = new MainApplication(w, h); app.SetBounds(x, y, w, h, BoundsSpecified.All); //app.DesktopLocation = new System.Drawing.Point(x, y); app.DesktopLocation = new System.Drawing.Point(x, y); app.WindowState = state; app.StartPosition = FormStartPosition.Manual; //MessageBox.Show("4"); Application.Run(app); //MessageBox.Show("1000"); if (app.mShouldSaveWindowState) { xDataOutput o = new xDataOutput(100); if (app.WindowState == FormWindowState.Normal) { o.writeInt((int)app.WindowState); o.writeInt(app.DesktopLocation.X); o.writeInt(app.DesktopLocation.Y); o.writeInt(app.Size.Width); o.writeInt(app.Size.Height); } else { o.writeInt((int)app.WindowState); o.writeInt(x); o.writeInt(y); o.writeInt(w); o.writeInt(h); } xFileManager.saveFile(o, "windstate"); } }
public xResourceManager(string resfile) { xDataInput di = xFileManager.readFile(resfile, true); init(di); }
public void setData(xDataInput di) { //int shareID = in.readShort(); int cnt = di.readInt(); if (cnt <= 0) { return; } int today = Utils.getDateAsInt(); if (mDate != today) { clear(); mDate = today; } mHasNewData = true; mContext.mTradeHistoryIsSave = false; //clear(); float last = mPriceRef; /* * if (mTradeTransaction.size() > 0) { * stTradeTransaction t = (stTradeTransaction) mTradeTransaction.lastElement(); * last = t.price; * } * */ //=============resize buffer if needed int newCap = (mTradeTransactionCount + cnt) * FIELD_CNT; // 1 item == 5 INTs if (newCap > mTradeTransactionBuffer.Length) { int[] p = new int[newCap + 20 * FIELD_CNT]; Buffer.BlockCopy(mTradeTransactionBuffer, 0, p, 0, mTradeTransactionBuffer.Length * sizeof(int)); //System.arraycopy(mTradeTransactionBuffer, 0, p, 0, mTradeTransactionBuffer.length); mTradeTransactionBuffer = p; } if (mTradeTransactionCount > 0) { last = getPrice(mTradeTransactionCount - 1); } float price; int v; float divide = mIsIndex?100.0f:1000.0f; //CHEAT if (cnt > 0) cnt = 2; for (int i = 0; i < cnt; i++) { /* * stTradeTransaction t = new stTradeTransaction(); * * t.time = in.readInt(); * * t.price = in.readInt(); * if (!mIsIndex) { * t.price /= 100; * } * * if (t.price == 0) { * t.price = last; * } else { * last = t.price; * } * * t.trade_volume = in.readInt(); * t.volume = in.readInt(); * */ setTime(mTradeTransactionCount, di.readInt()); price = di.readInt() / divide; if (price == 0) { price = last; } else { last = price; } setPrice(mTradeTransactionCount, last); v = di.readInt(); setTradeVolume(mTradeTransactionCount, v); if (v > mMaxTradeVolume) { mMaxTradeVolume = v; } setVolume(mTradeTransactionCount, di.readInt()); mTradeTransactionCount++; //addTransaction(t); } if (getTransactionCount() > 0) { mClose = getPrice(getTransactionCount() - 1); } }
public void loadUserDataOldVersion(xDataInput di) { int ver = 0; if (di != null) { ver = di.readInt(); } xVector mFavorGroups = shareGroups(); GainLossManager mGainLossManager = gainLossManager(); if (di != null && (ver == FILE_VERSION_FAVORITE || ver == FILE_ONLINE_USERDATA_VER)) { mFavorGroups.removeAllElements(); mGainLossManager.clearAll(); int cnt = di.readInt(); for (int i = 0; i < cnt; i++) { stShareGroup g = new stShareGroup(); g.load(di); //g.setType(stShareGroup::GROUP_TYPE_FAVORITE); mFavorGroups.addElement(g); } /* * // sort * Collections.sort(mFavorGroups, new Comparator<stShareGroup>() { * @Override * public int compare(stShareGroup o1, stShareGroup o2) { * return o1.getName().compareToIgnoreCase(o2.getName()); * } * }); */ //======this version does not support gainloss====== if (di.available() > 0) { ver = di.readInt(); if (ver == FILE_GAINLOSS_SIGNAL) { cnt = di.readInt(); mGainLossManager.clearAll(); for (int i = 0; i < cnt; i++) { String code = di.readUTF(); int date = di.readInt(); int price = di.readInt(); int vol = di.readInt(); if (date == 0) { GlobalData.vars().setValueBool("should_flush_userdata", true); } if (code != null && code.Length >= 3) { mGainLossManager.addGainLoss(code, date, price, vol); } } mGainLossManager.sortList(); if (mGainLossManager.getTotal() > 0) { mGainLossManager.save(); } } ver = di.readInt(); if (ver == FILE_FILTER_SET_VERSION) { FilterManager.getInstance().loadFilterSets(di); } } } }
void loadDrawings(xDataInput di) { }
bool loadFilters(xDataInput di) { return(FilterManager.getInstance().loadFilterSets(di)); }