![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
|
Здравствуйте. Столкнулся с такой проблемой. имеется код на JS, который отсчитывает миллисекунды с 1 января 1970 года и до момента нажатия на кнопку. Хотелось бы узнать, как такой же код написать на Delphi...
var time=new Date().getTime() ; // код на JS P.S. бьюсь уже 4й день, никак не могу понять... если можно, то с комментариями к коду... |
|
#2
|
||||
|
||||
|
Можно в таймере использовать Time.
|
|
#3
|
|||
|
|||
|
Ну, если тупо, то примерно так:
Код:
uses DateUtils; var ms : Int64; begin ms := MilliSecondsBetween(Now() - EncodeDateTime(1970,1,1,0,0,0,0)); Дает с точностью до милисекунды |
| Этот пользователь сказал Спасибо lmikle за это полезное сообщение: | ||
Snik11 (05.04.2012)
| ||
|
#4
|
|||
|
|||
|
Спасибо, сейчас попробую!!!
|
|
#5
|
|||
|
|||
|
Цитата:
|
|
#6
|
||||
|
||||
|
Примерно тоже, что предложил lmikle, только ещё на секунды разобрать нужно.
Код:
var Ms : Int64; procedure Timer1Timer(Sender: TObject); begin Ms := MilliSecondsBetween(Now, EncodeDateTime(1970,1,1,0,0,0,0)); end; Последний раз редактировалось angvelem, 05.04.2012 в 00:36. |
|
#7
|
|||
|
|||
|
Цитата:
выдает ошибку [Error] Unit1.pas(30): Not enough actual parameters ![]() ругается на ms := MilliSecondsBetween(Now() - EncodeDateTime(1970,1,1,0,0,0,0)); Последний раз редактировалось Snik11, 05.04.2012 в 00:36. |
|
#8
|
|||
|
|||
|
Цитата:
также выдает ошибку [Error] Unit1.pas(35): Not enough actual parameters ругается на Ms := MilliSecondsBetween(Now - EncodeDateTime(1970,1,1,0,0,0,0)); |
|
#9
|
||||
|
||||
|
У меня другое написано.
Ты неправильно вопрос поставил, объясни что хочешь получить. Последний раз редактировалось angvelem, 05.04.2012 в 00:42. |
|
#10
|
|||
|
|||
|
мне нужно целое число миллисекунд получить) от 1 января 1970 года до данного момента (ну например на buton1Click кидаешь эту процедуру, и как нажимаешь кнопку, в переменную вводится это число миллисекунд)) например если использовать JS, то получится на данный момент 1333572327068.
|
|
#11
|
||||
|
||||
|
Читаем справку:
Цитата:
Цитата:
|
|
#12
|
|||
|
|||
|
Код:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DateUtils, StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
Memo1: TMemo;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var
ms : Int64;
begin
ms := MilliSecondsBetween(Now() - EncodeDateTime(1970,1,1,0,0,0,0));
memo1.Text:=inttostr(ms);
end;
end.ошибка выходит на ms := MilliSecondsBetween(Now() - EncodeDateTime(1970,1,1,0,0,0,0)); Может кто-нибудь подсказать, что я делаю не так? Последний раз редактировалось lmikle, 05.04.2012 в 07:24. |
|
#13
|
||||
|
||||
|
Цитата:
Код:
Ms := MilliSecondsBetween(Now, EncodeDateTime(1970,1,1,0,0,0,0)); |
| Этот пользователь сказал Спасибо angvelem за это полезное сообщение: | ||
Snik11 (05.04.2012)
| ||
|
#14
|
|||
|
|||
|
Вот так надо:
Код:
uses DateUtils; ... ms := MilliSecondsBetween(Now(),EncodeDateTime(1970,01,10,0,0,0,0)); Сорри, сначала хотел руками посчитать, а потом просто забыл минус на запятую поправить. |
| Этот пользователь сказал Спасибо lmikle за это полезное сообщение: | ||
Snik11 (05.04.2012)
| ||
|
#15
|
|||
|
|||
|
Imikle и angvelem, большое спасибо))) вы спасли меня)))
P.S. тему можно считать закрытой! |