如何將BINARY CODE還原? |
尚未結案
|
kool0318
一般會員 發表:14 回覆:17 積分:6 註冊:2005-01-11 發送簡訊給我 |
小弟是DELPHI的新手...想請教各位專家 小弟利用winsocket的元件接收主機發送的資料
資料是BINARY CODE,雖然知道資料的格式
卻不知如何還原資料,麻煩各位專家不吝赐教..謝謝 [資料格式]
TICK_ID:array[1..6] of char;
TICK_NAME:array[1..6] of char;
TICK_TIME:integer;// array[1..6] of char;
TICK_OCCURS:array[1..11] of rpriceqty;
TICK_0D0A:array[1..2] of char;
|
xriz8989
一般會員 發表:0 回覆:3 積分:0 註冊:2003-06-30 發送簡訊給我 |
WinSocket 傳遞的資料格式 :: Byte Array 等同 Char Array; 所以將一切資料轉成 ShortString 即可. EX: sTick_id : shortstring[6]; 等同 TICK_ID:array[1..6] of char; var strTICK_ID : String; strTICK_ID := ByteArr2Atr(TICK_ID); //ShortString convert to String; 以下Function提供參考. function ByteArr2Str(Buffers: array of Byte): shortstring; var idx,len: Integer; begin //open array parameter 使用注意事項 //1.low(), high() 皆回傳 == 0; length() 回傳 -1; //2.SizeOf() 回傳實際長度 //3.只能根據各自元素進行值的設定..無法對整組參數進行值的設定 //4.不能更動長度..因為這 "不是動態陣列" Result := ''; len := sizeof(buffers) - 1; for idx := 0 to len do Result := Result chr(Buffers[idx]); Result := trim(Result);//--清除空格 end; [資料格式] TICK_ID:array[1..6] of char; TICK_NAME:array[1..6] of char; TICK_TIME:integer;// array[1..6] of char; TICK_OCCURS:array[1..11] of rpriceqty; //自定資料格式還是需以基礎Byte-Data進行轉換 TICK_0D0A:array[1..2] of char; |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |