全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:925
推到 Plurk!
推到 Facebook!

What are they in delphi?

尚未結案
lhh
一般會員


發表:16
回覆:21
積分:7
註冊:2004-11-14

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-11-18 22:34:18 IP:213.106.xxx.xxx 未訂閱
for i:=0 to pred(Meternet.count) do with TMeterinfo(Meternet[i]) do meternet:Tlist; what does it mean when puting meternet[i] inside the TMeterinfo? thanx
lhh
一般會員


發表:16
回覆:21
積分:7
註冊:2004-11-14

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-11-19 00:16:12 IP:213.106.xxx.xxx 未訂閱
e.g.: unit aad; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Button1: TButton; procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } x:Tlist; end; type Ttry = class a,b,c:Tstringlist; e,f,g:integer; h,j,k:string; end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); var ii:integer; begin x:= tlist.Create; ii:=x.Add(TTry.Create); showmessage(inttostr(ii)); x.Free; end; end. i want to know the use of Tobject(Tlist(i)). Why it show 0 in the windows dialog after running this problem?
seaturn99
版主


發表:69
回覆:427
積分:214
註冊:2003-08-25

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-11-19 10:18:45 IP:220.130.xxx.xxx 未訂閱
Hello lhh : Lookup Delphi Online Help (key word : TList) : TList stores an array of pointers. You can learn more in Help Example. Meterinfo is Object of TList,it like pointer list manager(add,sort,delete ..etc).Meterinfo maybe store a user defined data struct. Meternet[i] means that i-th element of Meternet. TMeterinfo(Meternet[i]) => Get i-th element of Meternet, then typecast to TMeterinfo type or Class (Base on your code,I guess maybe a class). The syntax : with TMeterinfo(Meternet[i]) do to be equal use "TMeterinfo(Meternet[i]).(some class function)" ---- 我只會兩件事,這也不會,那也不會 眼見不一定為真 ---- 發表人 - SouthWind 於 2004/11/19 10:21:13
jow
尊榮會員


發表:66
回覆:751
積分:1253
註冊:2002-03-13

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-12-03 17:54:19 IP:220.130.xxx.xxx 未訂閱
unit Unit1;    interface    uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;    type      TTry = class
  private
    Fa: TStringList;
    Fc: TStringList;
    Fb: TStringList;
  public
          e,f,g:integer;
          h,j,k:string;
    constructor Create;
    destructor Destroy; override;
          property a: TStringList read Fa;
    property b: TStringList read Fb;
    property c: TStringList read Fc;
  end;      TForm1 = class(TForm)
    Button1: TButton;
    ListBox1: TListBox;
    Button2: TButton;
    Label1: TLabel;
    Button3: TButton;
    procedure Button1Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
  private
    FX: TList;
  public
          property X: TList read FX; 
  end;    var
  Form1: TForm1;    implementation    {$R *.dfm}    { Ttry }    constructor TTry.Create;
begin
        //Create your own objects
        Fa := TStringList.Create;
  Fb := TStringList.Create;
  Fb := TStringList.Create;
end;    destructor TTry.Destroy;
begin
        //Free objects
        FreeAndNil(Fa);
  FreeAndNil(Fb);
  FreeAndNil(Fb);
  inherited;
end;    { TForm1 }    procedure TForm1.FormCreate(Sender: TObject);
begin
        FX := TList.Create;
end;    procedure TForm1.FormDestroy(Sender: TObject);
begin
        //Free all objects in TList FX;
  while FX.Count > 0 do
          if Assigned(FX.Items[0]) then
    begin
            TObject(FX.Items[0]).Free;
      FX.Delete(0);
    end;      (*        FX[0]=FX.Items[0], because Items is the default property of TList         *)      //Free TList FX itself
  FreeAndNil(FX);    end;    procedure TForm1.Button1Click(Sender: TObject);
const
        OBJ_COUNT=1000;
var
        I, J: Integer;
  O: TTry;
begin
        //Create 1000 TTry object
  ListBox1.Clear;
        for I := 0 to OBJ_COUNT-1 do
  begin
          O := TTry.Create;
    O.e := I;
    O.f := Random(MaxInt);
    J := X.Add(O);
    ListBox1.Items.Add(IntToStr(J));
  end;
  Label1.Caption := IntToStr(X.Count);
end;    procedure TForm1.Button2Click(Sender: TObject);
var
        I: Integer;
begin
        //Iterate all objects in TList X
        ListBox1.Clear;
        for I := 0 to X.Count-1 do
                if Assigned(X[I]) then
            with TTry(X[I]) do
              ListBox1.Items.Add(Format('%4.4d, %d', [e, f]));
end;    procedure TForm1.Button3Click(Sender: TObject);
begin
        //Free all objects in TList FX;
  while FX.Count > 0 do
          if Assigned(FX.Items[0]) then
    begin
            TObject(FX.Items[0]).Free;
      FX.Delete(0);
    end;
        Label1.Caption := IntToStr(X.Count);
end;    end.
 
系統時間:2024-07-03 13:03:48
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!