比如edit1.text:=1,它需要累加1共100次,每次累加后的数据能通过dbedit传输到数据库,求高手帮我写一小段代码提醒一下,现在没思路啊,用ttimer行不行啊?

解决方案 »

  1.   

    每次累加的值再+1 ?
    还是累加的值再加自己(即累加的值)?前者:i*n
    后者:(2i)的n次方直接计算出结果保存数据
      

  2.   

    每次累加1,也就是原本edit1:=00001,接下来00002保存数据传送,然后00003传送。。直到00100
      

  3.   

    每次累加1,也就是原本edit1:=00001,接下来00002保存数据传送,然后00003传送。。直到00100
      

  4.   

    procedure TForm1.btn2Click(Sender: TObject);
    var
      i ,nOutData: Integer;
    begin
      i := 1;  nOutData := StrToInt(edt1.Text);
      while i <= 100 do
      begin
        nOutData := nOutData + 1;
        //接下来进行向数据库中传入此数据的操作
      end;
    end;
      

  5.   

    procedure TForm2.Button2Click(Sender: TObject); var   sum,i,strL:integer;
           str:string; begin
    strL:=length(edit1.Text);
    if   strL >=13   then
    sum:=strtoint(edit1.text);
     for i:=1 to 100 do
     begin
     sum:=sum+1;
    str:=inttostr(sum);
    edit1.Text:=str;
     end;
     end;
    这段代码我这么写也没错的,就是说delphi不能给循环变量赋值!现在我累加的时候出现该错误00001 is not a valid integer value
      

  6.   

    procedure TForm1.Button1Click(Sender: TObject);
    var
      i: Integer;
      temp:string;
    begin
      i := 1;
      temp := '00000';
      while i <= 100 do
      begin
        temp := LeftStr(temp,Length(temp)-Length(IntToStr(i)));
        temp := temp + IntToStr(i);
        //接下来进行向数据库中传入此数据的操作
        ShowMessage(temp);
        Inc(i);  end;
       ShowMessage(IntToStr(i));
    end;Lz记得给分哦,,呵呵
      

  7.   

     uses StrUtils;要引用这个单元
      

  8.   

    帅哥~我是打个比方为00001,具体数值是edit1里面的数值,这个也能用吗?帮帮忙,等会加分
      

  9.   

    晕,,,你改改就好了,,,我累加的时候出现该错误00001 is not a valid integer value00001怎么可能会是数字,,你具体是要怎么个功能???
      

  10.   

    procedure GetZeroAndInt(sSouure:String;var sZero,sInt);
    var
    i,len:Integer;
    begin
       sZero:='';
       sInt:='';
       len:=Length(sSouure);
       for i:=0 to len-1 do
       begin
          if  sSouure[i]='0' then
              sZero:=sZero+'0'
          else
           sInt:=sInt+sSouure[i];      
       end; 
    end;
    GetZeroAndInt(edit1.Text,sZero,sInt);sum:=strtoint(sInt) 
    for i:=0 to 99 do
    begin
       sum:=sum+1;  
    end;
      

  11.   

    你可以试试的,,i := strtoint(edit1.Text);不就得了,,不过00001在程序中是固定的,不然要改代码
      

  12.   

    if sSouure[i]='0' then
      sZero:=sZero+'0'
      else
      sInt:=sInt+sSouure[i];   
      end;  
    错了
    if sSouure[i]='0' then
      sZero:=sZero+'0'
      else begin
         sInt:=copy(sSouure,i,len);
         break;
      end;
      

  13.   

    lentth(edit1.Text) -length(inttostr(sum)) 
    为数字前面的0的个数
      

  14.   

    高手。。问题解决了,能告诉我这句话什么意思吗:temp := LeftStr(temp,Length(temp)-Length(IntToStr(i)));
      

  15.   

    temp := LeftStr(temp,Length(temp)-Length(IntToStr(i)));
    LeftStr为向左截取字符串
    Length(temp)-Length(IntToStr(i)));//长度为总长度-I的长度
    temp := '00000';//若i=20,则5位-2位=3位,若I = 5,则5位-1位=4位
    temp := '000';//i = 20 时,三个+上你的I
    '000'+'20'= '00020'