線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:766
推到 Plurk!
推到 Facebook!

PARADOX的bytes屬性字段讀寫

尚未結案
fanwei3
一般會員


發表:2
回覆:2
積分:0
註冊:2004-10-24

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-12-22 22:16:58 IP:219.133.xxx.xxx 未訂閱
我最近要用的一个的資料庫格式是PARADOX,其中有一字段是bytes属性,应该怎样写取啊,请各位大大指教
hagar
版主


發表:143
回覆:4056
積分:4445
註冊:2002-04-14

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-12-23 07:30:05 IP:202.39.xxx.xxx 未訂閱
試試如下的方式:
begin
  Table1.FieldByName('Field1').AsInteger := ...;
end;
-- 棒球是從兩出局開始的.
cxg
中階會員


發表:116
回覆:192
積分:76
註冊:2004-02-12

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-12-23 09:35:29 IP:222.35.xxx.xxx 未訂閱
bytes屬性的字段好像是不可編輯的,版主的方法我試過,不行。
kenspc
一般會員


發表:1
回覆:20
積分:4
註冊:2004-12-09

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-12-23 10:38:45 IP:61.6.xxx.xxx 未訂閱
Bytes Field 其實是個binary field, 雖然只存1-255的值. (不同点是bytes 為unformatted fixed size binary) 請參考以下解說 TBytesField is a persistent field object that encapsulates the fundamental behavior common to untyped binary fields. TBytesField introduces no new properties, methods, or events beyond those inherited from TField. TBytesField overrides the DataSize property and constructor to reflect the specifics of a field of type ftBytes. As with all persistent field objects, a TBytesField can be created at design-time using the Fields Editor or at runtime by calling the constructor for the class. Persistent field objects exist solely in the memory space of a Delphi application. Creating a persistent field object only creates an object in the application, and does not result in the creation of a field in a table. Fields in a table can be accessed without use of persistent field objects. Virtual field objects are created to provide access to a field when the field is referenced through such means as the TDataSet.Fields property or the TDataSet.FieldByName method. A bytes field value is a set of unformatted bytes of fixed size.
fanwei3
一般會員


發表:2
回覆:2
積分:0
註冊:2004-10-24

發送簡訊給我
#5 引用回覆 回覆 發表時間:2004-12-23 19:35:24 IP:219.133.xxx.xxx 未訂閱
請問有具體的例子嗎,有請貼出來指教下
hagar
版主


發表:143
回覆:4056
積分:4445
註冊:2002-04-14

發送簡訊給我
#6 引用回覆 回覆 發表時間:2004-12-23 21:20:06 IP:202.39.xxx.xxx 未訂閱
這麼問好了 您這個欄位是要用來儲存什麼東西的? -- 棒球是從兩出局開始的.
fanwei3
一般會員


發表:2
回覆:2
積分:0
註冊:2004-10-24

發送簡訊給我
#7 引用回覆 回覆 發表時間:2004-12-24 00:05:12 IP:219.133.xxx.xxx 未訂閱
字段是用來保存數值的,不過是是幾個存在一起,取的時侯要分開 例如: 一個字段保存: A B C BYTES字段保存:2 4 5 取出來就是: A=2,B=4,C=5. 請指教
hagar
版主


發表:143
回覆:4056
積分:4445
註冊:2002-04-14

發送簡訊給我
#8 引用回覆 回覆 發表時間:2004-12-24 08:57:57 IP:202.39.xxx.xxx 未訂閱
看這樣行不行:
// 存
procedure TForm1.Button1Click(Sender: TObject);
var
  v: Variant;
begin
  v := VarArrayCreate([0, 2], varByte);
  v[0] := 2;
  v[1] := 4;
  v[2] := 5;
  Table1.FieldByName('TheBytesField').AsVariant := v;
end;    // 取
procedure TForm1.Button2Click(Sender: TObject);
const
  msg = '第 %d 個值為 %s';
var
  i: integer;
  v: Variant;
  s: string;
begin
  v := Table1.FieldByName('TheBytesField').AsVariant;
  for i := 0 to Table1.FieldByName('TheBytesField').DataSize - 1 do
  begin
    s := VarToStr(v[i]);
    Memo1.Lines.Add(Format(msg, [i 1, s]));
  end;
end;
-- 棒球是從兩出局開始的.
cxg
中階會員


發表:116
回覆:192
積分:76
註冊:2004-02-12

發送簡訊給我
#9 引用回覆 回覆 發表時間:2004-12-24 10:04:16 IP:222.35.xxx.xxx 未訂閱
引言: 字段是用來保存數值的,不過是是幾個存在一起,取的時侯要分開 例如: 一個字段保存: A B C BYTES字段保存:2 4 5 取出來就是: A=2,B=4,C=5. 請指教
procedure TForm1.Button1Click(Sender: TObject); var c : char; begin c := 'a'; table1.edit; table1.FieldByName('Field1').AsString := c; table1.Post; end;
cxg
中階會員


發表:116
回覆:192
積分:76
註冊:2004-02-12

發送簡訊給我
#10 引用回覆 回覆 發表時間:2004-12-24 10:08:52 IP:222.35.xxx.xxx 未訂閱
補充一下,可以直接讀取。 memo1.lines.add( table1.FieldByName('Field1').AsString);
kenspc
一般會員


發表:1
回覆:20
積分:4
註冊:2004-12-09

發送簡訊給我
#11 引用回覆 回覆 發表時間:2004-12-24 14:46:12 IP:61.6.xxx.xxx 未訂閱
引言: 字段是用來保存數值的,不過是是幾個存在一起,取的時侯要分開 例如: 一個字段保存: A B C BYTES字段保存:2 4 5 取出來就是: A=2,B=4,C=5. 請指教
不如使用兩個MEMO, 一行相對于另一行, 雖然方法粗糙, 但不失為一個好方法. 既: MEMO 1: A B C MEMO 2: 2 4 5 請指教
系統時間:2024-06-26 6:55:18
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!