我想做一个类似于火车站车次信息表那样自动循环滚动的界面,那位高手朋友能帮帮忙,急急急急急急!!!!!最好能给我实例代码,

解决方案 »

  1.   

    很一般的方法:
    Label1.Caption:='北京-上海';
    ontimer...
      Label1.top:=label1.top+1;帮你up吧
      

  2.   

    用PANEL,向上滾就
    PANEL.TOP:=PANEL.TOP-1;
    IF PANEL.TOP+PANEL.HIGHT<0 THEN
    PANEL.TOP:=0;
      

  3.   

    JavaScript,加上数据库信息,应该不难吧
      

  4.   

    當然上面的代碼是在時鐘的TIMMER 中
      

  5.   

    rouqing(*柔情似水&冷酷到底&长发飘飘*) ,你的办法对于固定的数据可以,只是我一次有很多数据同时在滚动,而且数据是动态变化的
      

  6.   

    我做过一些车站的LED:使用PaintBox来做不会产生跳动。
    procedure TFrm.TimerMainTimer(Sender: TObject);
    var k,sj:integer;
    begin
      Lrow:=Lrow-1;
      if Lrow<=-Srow*16 then Lrow:=64;
      for k:=0 to Srow do
        begin
        PaintBox0.Canvas.TextOut(0,Lrow+K*16,cpxx[k,0]);
        PaintBox1.Canvas.TextOut(0,Lrow+K*16,cpxx[k,1]);
        PaintBox2.Canvas.TextOut(0,Lrow+K*16,cpxx[k,2]);
        PaintBox3.Canvas.TextOut(0,Lrow+K*16,cpxx[k,3]);
        PaintBox4.Canvas.TextOut(0,Lrow+K*16,cpxx[k,4]);
        PaintBox5.Canvas.TextOut(0,Lrow+K*16,cpxx[k,5]);
        end;
    end;
      

  7.   

    我哥的研究生同学给铁道部做的系统就是这样的,不过是用java实现的,我想想...
      

  8.   

    你干脆把数据字段直接显示在label里边,
    if label.top=0 then
      载入新的数据库字段实现!!
    你的程序还挺好的,值得思考
      

  9.   

    table1.next;
    Label1.caption:=IntToStr(table1.fieldbyname('id').AsInteger);
    ...
    Label1.top:=label1.top+1;
    ...就是这么个思路,你走了啊???????
      

  10.   

    timer=5 procedure TFrm.TimerMainTimer(Sender: TObject);
    begin
    label1.caption.left:=label1.width-10;
    if label1.caption.left=0 then label1.caption.left:=label1.witdh; //自動循環,效果類似跑馬燈
    end;
      

  11.   

    sorry,上面的好像寫錯了,也可以這么寫:timer=5 procedure TFrm.TimerMainTimer(Sender: TObject);
    begin
    label1.left:=label1.left+10;
    if label1.left>label1.width(可自定義) then label1.left:=0; //由左到右
    end;