难题:如何将例如1718这样的字符转换为时间格式17:18,另有如果1718为''怎么办?
用Format怎么使用?具体怎么做?

解决方案 »

  1.   

    FormatFloat('00:00', 1718)
    我想可以通過1718是否是字符串來判斷
      

  2.   

    Format('%s:%s',[copy('1718',1,2),copy('1718',3,2)]);
      

  3.   

    1718为空的话怎么办?jianghd请继续你的方法暂时可行但是问题是时间格式不光代表:17:18 如果是
    68:78那转换也无意义了
      

  4.   


    var
      s,tmp: string;
      minute,m1,m2: integer;
      t1,t2: TDateTime;begin
    s:= '1718';
    if s = '' then
      result = 0;
    tmp:= Copy(s,1,2);
    m1:= strtoint(tmp);
    tmp:= copy(s,3,2);
    m2:= strtoint(tmp);
    minute:= 60*m1 + m2;
    result:= EncodeTime(minute div 60, minute mod 60, 0); //返回结果为TDateTime类型
    //如果要返回字符串:  TimeTostr(result) 即可。
      

  5.   

    没有空格使用
      showmessage( formatfloat('00:00',1718));
    有空格使用
    procedure TForm1.Button1Click(Sender: TObject);
    const
       str='17 18';
    var
      SL:TStringList;
      i:integer;
      str_sum:string;
    begin
      sl:=TStringList.Create;
      SL.Clear;
      SL.Delimiter:=' ';
      SL.DelimitedText:=str;  str_sum:=SL.Strings[0]+':'+SL.Strings[1];  //你要的结果  sl.Free;
    end;