var 
  RstestData:TQuery 
  str_OneTime:string;
  iloop:integer;
  fDisChargeTime:single;for iloop=0 to 335 do
begin
   str_OneTime:=Copy(RstestData.FieldByName(DischargeTime).asstring,iloop*3+1,3);
   fDisChargeTime:=Ord(Copy(str_OneTime,2,1))*256+Ord(Copy(str_OneTime,1,1))+Ord(Copy(str_OneTime,3,1))/60;
end;

解决方案 »

  1.   

    var
      RstestData: TADOTable;
      strval: String;
      str_OneTime: String;
      iloop: Integer;
      fDisChargeTime: Real;
    begin
      strval := RstestData.FieldByName("DischargeTime").AsString;
      for iloop:=0 to 335 do
      begin
        str_OneTime := Copy(strval, iloop*3+1, 3);
        fDisChargeTime := Ord(str_OneTime[2])*256 + Ord(str_OneTime[1]) + Ord(str_OneTime[3]) / 60.0;
      end;end;// 没测试过,有错请见谅
    // 其实可以没有str_OneTime这个中间变量
      

  2.   

    midb和ascb这两个函数是对字符串中的字节进行操作AscB
    作用于包含在字符串中的字节数据.返回第一个字节的字符代码,而非字符代码.
      

  3.   

    在delphi中如何操作字符串中的字节