วันเสาร์ที่ 6 ธันวาคม พ.ศ. 2557

function MSecToTime(mSec: Integer): string;

unit Unit1;

interface

uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Data.DBXDataSnap, IPPeerClient,
  Data.DBXCommon, Vcl.Grids, Vcl.DBGrids, Datasnap.DBClient, Datasnap.DSConnect,
  Data.DB, Data.SqlExpr, Vcl.StdCtrls ,midaslib
  ;

type
  TForm4 = class(TForm)
    ClientDataSet1: TClientDataSet;
    DataSource1: TDataSource;
    SQLConnection1: TSQLConnection;
    DSProviderConnection1: TDSProviderConnection;
    DBGrid1: TDBGrid;
    Edit1: TEdit;
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form4: TForm4;

implementation

{$R *.dfm}

function MSecToTime2(mSec: Int64): string;
var
dt : TDateTime;
begin
dt
:=
mSec / MSecsPerSec / SecsPerDay;
Result
:=
Format('%d days, %s', [Trunc(dt),
FormatDateTime('hh:nn:ss.z', Frac(dt))]) ;
end;

function MSecToTime(mSec: Integer): string;
   const
     secondTicks = 1000;
     minuteTicks = 1000 * 60;
     hourTicks = 1000 * 60 * 60;
     dayTicks = 1000 * 60 * 60 * 24;
   var
      D, H, M, S: string;
      ZD, ZH, ZM, ZS: Integer;
   begin
      ZD := mSec div dayTicks;
      Dec(mSec, ZD * dayTicks) ;
      ZH := mSec div hourTicks;
      Dec(mSec, ZH * hourTicks) ;
      ZM := mSec div hourTicks;
      Dec(mSec, ZM * minuteTicks) ;
      ZS := mSec div secondTicks;
      D := IntToStr(ZD) ;
      H := IntToStr(ZH) ;
      M := IntToStr(ZM) ;
      S := IntToStr(ZS) ;
      Result := D + '.' + H + ':' + M + ':' + S;
   end;

procedure TForm4.Button1Click(Sender: TObject);
var
  start, stop, elapsed : cardinal;
begin
  start := GetTickCount;   //TimeOutThis();

    ClientDataSet1.Close;
    ClientDataSet1.CommandText := Edit1.Text;
    ClientDataSet1.Open;

     stop := GetTickCount;
  elapsed := stop - start; //milliseconds
  ShowMessage(MSecToTime(elapsed));
 ShowMessage(MSecToTime2(elapsed));

end;

end.

ไม่มีความคิดเห็น:

แสดงความคิดเห็น