|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Посчитать миллисекунды
Здравствуйте. Столкнулся с такой проблемой. имеется код на JS, который отсчитывает миллисекунды с 1 января 1970 года и до момента нажатия на кнопку. Хотелось бы узнать, как такой же код написать на Delphi...
var time=new Date().getTime() ; // код на JS P.S. бьюсь уже 4й день, никак не могу понять... если можно, то с комментариями к коду... |
#2
|
||||
|
||||
Можно в таймере использовать Time.
Je venus de nulle part 55.026263 с.ш., 73.397636 в.д. |
#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; Je venus de nulle part 55.026263 с.ш., 73.397636 в.д. Последний раз редактировалось 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
|
||||
|
||||
У меня другое написано.
Ты неправильно вопрос поставил, объясни что хочешь получить. Je venus de nulle part 55.026263 с.ш., 73.397636 в.д. Последний раз редактировалось angvelem, 05.04.2012 в 00:42. |
#10
|
|||
|
|||
мне нужно целое число миллисекунд получить) от 1 января 1970 года до данного момента (ну например на buton1Click кидаешь эту процедуру, и как нажимаешь кнопку, в переменную вводится это число миллисекунд)) например если использовать JS, то получится на данный момент 1333572327068.
|
#11
|
||||
|
||||
Читаем справку:
Цитата:
Цитата:
Je venus de nulle part 55.026263 с.ш., 73.397636 в.д. |
#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)); Je venus de nulle part 55.026263 с.ш., 73.397636 в.д. |
Этот пользователь сказал Спасибо 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. тему можно считать закрытой! |