type
  Tbuf = array [0..1024] of byte;
  Tmax = array [0..20000] of byte;   Tfindtext = class(TThread) 
    private    public
       Constructor Create(connid:integer;pi:Thandle);
    protected
       procedure execute;override;
  end;定义类的时候这两句放到这是什么意思
  Tbuf = array [0..1024] of byte;
  Tmax = array [0..Bigbufsize] of byte; 

解决方案 »

  1.   

    type 
      Tbuf = array [0..1024] of byte; 
      Tmax = array [0..20000] of byte; 
    ====
    定义新的数据类型。var a : TBuf 相当于 var a : array [0..1024] of byte; 
      

  2.   

    把这两句放到type外 再换成var这样的,效果是不是一样?
      

  3.   

    to 楼主:type 是定义类型,而var是声明变量,完全不是一回事。这是基础
    to hawksoft:嗯,确切地说,“别名”也是不准确的(但这样认为也未尝不可,并且理解起来直观),应该正如2楼所说:定义新的类型但2楼在最后举的例子,又回到了“别名”的认识上,其实,从严格意义上来说,二者不是同一类型,这是由于Delphi编译器严格的语法检查。例如:
    {PInteger      = ^Integer;}procedure TForm1.Button1Click(Sender: TObject);
    var
      a: ^integer;
      b: ^integer;
      c: PInteger;
      d: PInteger;
      e,f: ^integer;
    begin
      a := b; {编译报错:Incompatible types}
      c := d; {OK}
      e := f; {OK}
    end;
      

  4.   

    我只是想知道这两句干嘛非放到这,type下面不是定义类吗 
      

  5.   


    我尽可能说得详细一些:type下面是定义类型,而不仅限于类类型,比如,type
      x = y;
      Tz = class
      end;可以分解为:type
      x = y;type
      Tz = class
      end;对于
    type
      x = array of char;来讲,
    你可以理解为,给array of char取了另一个名字下一步,在真正声明array of char类型的变量时,可以这样:
    var
      v1 : array of char;
    也可以
    var
      v1 : x;而这种“别名”的用处之一,常常在以下的场合:有时声明一个函数,需要返回值是一个数组:function func1(): array[1..3]of char;
    但这样编译会报错
    于是
    type
      TArr : array[1..3] of char;然后
    function func1(): TArr;
    就可以了讲这些,对您有一些帮助了吗?
      

  6.   

    明白了 type下面不但可以定义类 还可以定义枚举 子界这样的东东 看了几天书 没用过 差点给忘了