• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

Время в делфи

  • Автор темы Vadik(R)
  • Дата начала
V

Vadik(R)

Люди, как можно засечь в Делфи время на 24 часа? То есть мне надо такое представление времени в делфи, что чтобы его можно было перевести таким образом.
Пусть дано 1000000.
Это значит: 1000000 Mod 60 = 40
1000000 Div 60 = 16666.
16666 Mod 60 = 46
16666 Div 60 = 277.
277 Mod 24 = 13
277 Div 24 = 11.
То есть, если значение 1 миллион, то это 11 дней, 13 часов, 46 минут, 40 секунд. Просто мне надо засечь таким образом 24 часа. Как обратится к такой ячейке и где она вообще есть?
 
V

Vadik(R)

Мне надо знать в Делфи такую штуку, типа как в Паскале есть переменная MemL[Seg0040:$6c];, которая выводит мне текущее время и дату в виде числа LongInt.
То есть если значение этой ячейки было 100, а стало 280, то значит прошло 10 секунд(изменение на 1 - это соответсвует 1/18 секунды). Если всё равно не понятно, попытаюсь привести пример той проги, которую мне надо сделать на Делфи. Только код приведу её на Паскале.
 
V

Vadik(R)

Да, я так вообще плохо разобрался в Делфи с TDate, TTime. Мне нужен примерно вот такой код на Делфи. Про писывается прога в автозагрузку(это я умею, не в этом суть).
Код:
Program proganapascale;
uses crt;
var
f : text;
x : LongInt;
begin
Assign(f,'c:\windows\date.dat');
reset(f);
readLn(f,x);
close(f);
ClrScr;
writeln('Привет, пользователь!');
if (MemL[Seg0040:$6c]-x) Div (18*60*60*24))>0 Then Write('Ты уже не включал комп более одного дня!') Else Write('С момента последнего включения компа не прошло ещё и одного дня');
ReWrite(f);
Write(f,MemL[Seg0040:$6c]);
Close(f);
ReadKey
End.
А если это делать с помощью TDate, то если человек включал комп в 23:00, потом в 2:00, то реально пройдёт 3 часа, а прога напишет, что с момента последнего включения компа прошло более одного дня(т.е. более 24 часов!).
Код:
var x : TDate;begin ... If x-date>0 Then ...
Вот для этого я и создавал тему.
 
C

Chernobyl

Короче я не чаго не понял

если нужно получить время(Час например) то
Код:
function GetTime: word;
var
SystemTime: TSystemTime; //Некое время(Неверное)
begin
GetLocalTime(SystemTime); //Получаем системное время
result:=SystemTime.wHour; //Результату присваиваим Час(wHour). Можно поставить секундку и т.д.
end;
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!