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

VC 的結構要如何在 Delphi 裡面定義?

答題得分者是:william
etboite
一般會員


發表:10
回覆:17
積分:5
註冊:2003-02-17

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-02-24 18:15:22 IP:211.23.xxx.xxx 未訂閱
typedef struct { int ID; char *Data; }MyData; typedef struct { int Count; MyData *DataPack; }DCPack; void myFunc(int Index,DCPack *data) { data->Pack[i].ID; } 以上為在 VC 的 Code ,若搬到 Delphi 要怎麼宣告和使用呢? 以下是我在 Delphi 的宣告,會有錯誤,不知道要如何改修,煩請指點一下,謝謝。 type PMYDATA=^MyData ; MyData = packed record ID: Integer; Data: PChar; end; type PDCPack=^DCPack; DCPack = packed record Count: Integer; Pack: PMYDATA; end ; procedure myFunc(Index: Integer; data: PDCPack); begin data.Pack^[i].ID; <-這行會錯; end; [Error] Array type required ...... 發表人 - etboite 於 2003/02/24 18:35:06
william
版主


發表:66
回覆:2535
積分:3048
註冊:2002-07-11

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-02-24 19:09:10 IP:210.3.xxx.xxx 未訂閱
My guess  < class="code">procedure myFunc(Index: Integer; data: PDCPack); var P: PChar; begin P := pointer(data^.Pack); inc(P,Index*SizeOf(MyData)); PMyData(pointer(P))^.ID; end;
etboite
一般會員


發表:10
回覆:17
積分:5
註冊:2003-02-17

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-02-25 10:02:56 IP:211.23.xxx.xxx 未訂閱
引言: My guess < class="code">procedure myFunc(Index: Integer; data: PDCPack); var P: PChar; begin P := pointer(data^.Pack); inc(P,Index*SizeOf(MyData)); PMyData(pointer(P))^.ID; end;
我改成以下這樣,可是會產生 access violation ,為什麼呢? procedure myFunc(Index: Integer; data: PDCPack); var P: PChar; str: String; I: Integer; begin P := pointer(data^.Pack); for I:= 1 to data.Count do begin inc(P,I*SizeOf(DataPak)); str := 'ID= ' IntToStr(PDATAPAK(pointer(P))^.ID); end; end;
william
版主


發表:66
回覆:2535
積分:3048
註冊:2002-07-11

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-02-25 10:15:51 IP:147.8.xxx.xxx 未訂閱
引言: 我改成以下這樣,可是會產生 access violation ,為什麼呢?
procedure myFunc(Index: Integer; data: PDCPack); 
var
   P: PChar;
   str: String;
   I: Integer;
begin
  P := pointer(data^.Pack);
  for I:= 1 to data.Count
  do begin
      str := 'ID= '   IntToStr(PDATAPAK(pointer(P))^.ID);
      inc(P,SizeOf(DataPak));
  end;
end;
Again, my guess
etboite
一般會員


發表:10
回覆:17
積分:5
註冊:2003-02-17

發送簡訊給我
#5 引用回覆 回覆 發表時間:2003-02-25 11:44:02 IP:211.23.xxx.xxx 未訂閱
引言: Again, my guess >< face="Verdana, Arial, Helvetica"> u r right. Thank u very much.
系統時間:2024-05-13 20:35:55
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!