var
  Form2: TForm2;
  word:string[100];
  i:integer=0;
  j:integer=0;
implementation
{$R *.dfm}procedure TForm2.Timer1Timer(Sender: TObject);
begin
case j of
  0:
    if word[i]<>'' then
        begin
        label1.Caption:=label1.Caption+word[i];
        i:=i+1;
        end
     else begin
          j:=j+1;
          word:=table1.Fields[j].asstring;
          label2.left:=label1.left+label1.Width+10;
          i:=0;
          end;  1:if word[i]<>'' then
        begin
        label2.Caption:=label2.Caption+word[i];
        i:=i+1;
        end
     else begin
          j:=j+1;
          word:=table1.Fields[j].asstring;
          i:=0;
          end;  2: if word[i]<>'' then
        begin
        label3.Caption:=label3.Caption+word[i];
        i:=i+1;
        end
     else begin
          j:=j+1;
          word:=table1.Fields[j].asstring;
          i:=0;
          end;
  3: if word[i]<>'' then
        begin
        label4.Caption:=label4.Caption+word[i];
        i:=i+1;
        end
     else j:=j+1;  4:  begin
          word:='';
          table1.Next;
          label1.Caption:='';
          label2.Caption:='';
          label3.Caption:='';
          label4.Caption:='';
          j:=0;
          i:=0;
          word:=table1.Fields[j].asstring;
   end;
 end;
end;
procedure TForm2.FormCreate(Sender: TObject);
begin
 word:=table1.Fields[j].asstring;
end;
我程序要完成的功能是把数据库的4个字段里的内容一个一个字节的输出来,可不知道是为什么这段程序总是多输出很多东西,请问这到底时那的错!

解决方案 »

  1.   

    没详细看。但是提出两点意见:
    word:string[100];的数据从1到100而不是从0开始。word[0]是pascal内部使用用来存储这种字符串的长度。
    另外,word等是delphi的内部关键字,不要使用它们作为变量名—————————————————————————————————
    宠辱不惊,看庭前花开花落,去留无意;毁誉由人,望天上云卷云舒,聚散任风。
    —————————————————————————————————
      

  2.   

    String[0]存放的是 数组的计数器