想作一队列:
要先进先出的,队列长度要动态的。
每一条记录要可以存储不同类型的数据例如:
name:string;
age:integer;
address:string;
gz:real;
当某一时间处理队列内容时,处理完第一条时,第二条记录自动到第一条位置,知道处理结束。

解决方案 »

  1.   

    type
      TMyRecord=record
        name:string;
        age:integer;
        address:string;
        gz:real;
      end;
    var aa:array of TMyRecord;SetLength(aa,长度)动态设置队列长度
    其他的看一下帮助吧
      

  2.   

    type
      TMyRecord=record
        name:string;
        age:integer;
        address:string;
        gz:real;
      end;
      PMyRecord = ^TmyRecord;
    var
      MyQueue: TQueue;  //要Uses Contnrs;
      MyRecord : PMyRecord;
      myPointer: TPointer;  myQueue := TQueue.Create;  //Create队列
      New(MyRecord);
      MyRecord.Name := 'abc';
      myRecord.age := 19;
      .......
      MyQueue.Push(MyRecord);  //进
      myPointer := Myqueue.Pop;       //出
      age := TMyRecord(MyPointer)^.Age;
      name := TMyRecord(MyPointer)^.Name;
      

  3.   

    有现成的,miky(miky) 说的好。
      

  4.   

    to miky(miky):
    myQueue := TQueue.Create;  //Create队列
      New(MyRecord);MyQueue.Push(MyRecord);  //进系统资源是如何释放的,不会越来越多系统资源被占用吧。
    myPointer := Myqueue.Pop;       //出
    能把用new创建的资源也释放掉吗?
      

  5.   

    直接用TList,Delphi做好的链表进队, TList.Add出队, TList.Delete(0)
      

  6.   

    系统资源是如何释放的,不会越来越多系统资源被占用吧。
    -------------------------------------------------------------
    会的,出队以后要记得Dispose(Pointer);释放New()申请的空间;
      

  7.   

    to miky(miky):
    如何知道当前队列当中有多少条记录呢?