информационная безопасность
без паники и всерьез
 подробно о проектеRambler's Top100
Сетевые кракеры и правда о деле ЛевинаВсе любят мед
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 Три миллиона электронных замков... 
 Doom на газонокосилках 
 Умер Никлаус Вирт 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / programming
Имя Пароль
ФОРУМ
если вы видите этот текст, отключите в настройках форума использование JavaScript
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
  • Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
  • Новичкам также крайне полезно ознакомиться с данным документом.
Сомневаюсь что эти функции есть в С++, проблема в чем и... 15.03.05 12:04  Число просмотров: 2007
Автор: alex_b Статус: Незарегистрированный пользователь
<"чистая" ссылка>
>> s = DateTimeToTimeStamp(EncodeDate(1990,1,1));
Сомневаюсь что эти функции есть в С++, проблема в чем и встала...
На самом деле нужно вычеслить число секунд с 1990 года по сегодняшний день!!!
Linux заморочен на этом... =(
<programming>
[C++] Программеры помогите плиз!!! 15.03.05 11:36  
Автор: alex_b Статус: Незарегистрированный пользователь
<"чистая" ссылка>
Всем привет!

Помогите перевести код с Delphi на С++....

Нужен аналогичной по функционалу код, но на С++...

function SecsSince:longint;
var
s, sNow : TTimeStamp;
begin
s := DateTimeToTimeStamp(EncodeDate(1990,1,1));
sNow := DateTimeToTimeStamp(Now);
result := Floor(TimeStampToMSecs(sNow) / 1000 - TimeStampToMSecs(s) / 1000);
end;
Что такое TTimeStamp и прочие связанные с ними фенкции... 15.03.05 11:48  
Автор: 0x4368616F73 Статус: Незарегистрированный пользователь
<"чистая" ссылка>
> Всем привет!
>
> Помогите перевести код с Delphi на С++....
>
> Нужен аналогичной по функционалу код, но на С++...
>
> function SecsSince:longint;
> var
> s, sNow : TTimeStamp;
> begin
> s := DateTimeToTimeStamp(EncodeDate(1990,1,1));
> sNow := DateTimeToTimeStamp(Now);
> result := Floor(TimeStampToMSecs(sNow) / 1000 -
> TimeStampToMSecs(s) / 1000);
> end;

Что такое TTimeStamp и прочие связанные с ними фенкции делают не знаю, поэтому пока только так:
int SecsSince() {
TTimeStamp s, sNow;
s = DateTimeToTimeStamp(EncodeDate(1990,1,1));
sNow = DateTimeToTimeStamp(Now);
return = Floor(TimeStampToMSecs(sNow) / 1000 - TimeStampToMSecs(s) / 1000);
}

Дальше если опишешь что делают эти все делюфёвские функции то магу сделать тебе на чистом C++ без всяких там борлондовских замудронов. Если будешь в C++ Builder это переносить, то должно работать, они вроде по набору функции совместимы, хотя не уверен
опечатка, сори 15.03.05 11:51  
Автор: 0x4368616F73 Статус: Незарегистрированный пользователь
<"чистая" ссылка>
> > Всем привет!
> >
> > Помогите перевести код с Delphi на С++....
> >
> > Нужен аналогичной по функционалу код, но на С++...
> >
> > function SecsSince:longint;
> > var
> > s, sNow : TTimeStamp;
> > begin
> > s :=
> DateTimeToTimeStamp(EncodeDate(1990,1,1));
> > sNow := DateTimeToTimeStamp(Now);
> > result := Floor(TimeStampToMSecs(sNow) / 1000 -
> > TimeStampToMSecs(s) / 1000);
> > end;
>
Что такое TTimeStamp и прочие связанные с ними фенкции
делают не знаю, поэтому пока только так:
int SecsSince() {
TTimeStamp s, sNow;
s = DateTimeToTimeStamp(EncodeDate(1990,1,1));
sNow = DateTimeToTimeStamp(Now);
return Floor(TimeStampToMSecs(sNow) / 1000 - TimeStampToMSecs(s) / 1000);
}

Дальше если опишешь что делают эти все делюфёвские функции
то магу сделать тебе на чистом C++ без всяких там
борлондовских замудронов. Если будешь в C++ Builder это
переносить, то должно работать, они вроде по набору функции
совместимы, хотя не уверен
Сомневаюсь что эти функции есть в С++, проблема в чем и... 15.03.05 12:04  
Автор: alex_b Статус: Незарегистрированный пользователь
<"чистая" ссылка>
>> s = DateTimeToTimeStamp(EncodeDate(1990,1,1));
Сомневаюсь что эти функции есть в С++, проблема в чем и встала...
На самом деле нужно вычеслить число секунд с 1990 года по сегодняшний день!!!
Linux заморочен на этом... =(
функции.. 15.03.05 12:27  
Автор: Killer{R} <Dmitry> Статус: Elderman
<"чистая" ссылка>
Функции: mktime, difftime, time
Должно хватить
Одним словом, как получить дату в UNIX формате (в сек. с 1970 года)? 15.03.05 12:56  
Автор: alex_b Статус: Незарегистрированный пользователь
<"чистая" ссылка>
на С++ конечно все это нужно....
так 15.03.05 18:07  
Автор: Killer{R} <Dmitry> Статус: Elderman
Отредактировано 15.03.05 18:10  Количество правок: 3
<"чистая" ссылка>
#include "stdio.h"
#include "time.h"

int main()
{
printf("%u\r\n",(unsigned)time(NULL));
return 0
}
Код [updated] 15.03.05 14:05  
Автор: amirul <Serge> Статус: The Elderman
Отредактировано 15.03.05 14:17  Количество правок: 3
<"чистая" ссылка>
#include <windows.h>
#include <stdio.h>

int
main() {
	SYSTEMTIME	beginSystemTime = {1970, 1, 0, 1, 0, 0, 0, 0};
	ULARGE_INTEGER	beginFileTime, endFileTime;

	SYSTEMTIME	endSystemTime	= {2005, 3, 0, 15, 13, 1, 29, 0};

	if (!SystemTimeToFileTime(&beginSystemTime, (PFILETIME)&beginFileTime))
		goto fail;

	if (!SystemTimeToFileTime(&endSystemTime, (PFILETIME)&endFileTime))
		goto fail;

	printf("%d seconds\n", (endFileTime.QuadPart - beginFileTime.QuadPart) / 10000000);

	return 0;

fail:
	return -1;
}

---

Конечно же beginFileTime можно забить константой в программу:
beginFileTime = {3577643008, 27111902};
Systemtime нету в с++ ;) 15.03.05 18:12  
Автор: Killer{R} <Dmitry> Статус: Elderman
<"чистая" ссылка>
Я тоже подумал сначала спросить ОСь 15.03.05 18:52  
Автор: amirul <Serge> Статус: The Elderman
<"чистая" ссылка>
Но потом перечитал исходное сообщение. Речь идет о делфях, а следовательно дело происходит под виндами
На Delphi можно без проблем писать код для UNIX 15.03.05 20:31  
Автор: Neznaika <Alex> Статус: Member
<"чистая" ссылка>
Только называется он там Kylix :-) 16.03.05 12:04  
Автор: amirul <Serge> Статус: The Elderman
<"чистая" ссылка>
CLX applications == cross-platform applications 16.03.05 16:49  
Автор: Neznaika <Alex> Статус: Member
<"чистая" ссылка>
Или тебе просто само название не нравится?

Так вроде и слово Borland -- это просто лейбл.
CLX applications основаны на QT 16.03.05 19:37  
Автор: Killer{R} <Dmitry> Статус: Elderman
Отредактировано 16.03.05 19:41  Количество правок: 2
<"чистая" ссылка>
CLX основан на QT. Причем на очень древней QT. И представляет собой тормозную обертку из борландовских TWinControl, TCanvas и тп написанных на вызовах QT (VCL представляет собой тоже самое но на WINAPI).
Заставить нормально работать Kylix и программы написанные на нем (особенно Kylix C++) под современной системой -геморр еще тот, включающий в себя патчение самого Kylix, написание скрипта для запуска kylix приложения, который будет менять переменную окружения где программа будет искать старые qt либы. Для Kylix C++ еще придется скачать и поставить древний stdc++ и настроить все так чтобы он юзал именно древнюю стдс++.
Вобщем геморрой дикий, а учитывая глючность kylix'а (на некоторых ядрах виснет при отладке/сохранении/загрузке) становится понятным что kylix для серъезных разработок совсем не годиться. Зато QT - само то.
Kylix C++ не знаю. Скажу только про Graphics32 17.03.05 21:52  
Автор: Neznaika <Alex> Статус: Member
<"чистая" ссылка>
Уже несколько раз приходилось использовать компоненты из этой библиотеки (http://g32.org/) - и никогда особых проблем не было.

Но я не настаиваю.
Если Вы пишете особо продвинутые вещи типа IFS, Firewall, LSP - то с большой вероятностью будет масса проблем, и по-моему это нормально. Если человек хочет написать анти-вирусный движок или драйвер файловой системы - он должен быть готов к тому, что это будет геморрой во всю задницу.

P.S.
Мне кажется, мы несколько отошли от главной темы.
1




Rambler's Top100
Рейтинг@Mail.ru


  Copyright © 2001-2024 Dmitry Leonov   Page build time: 0 s   Design: Vadim Derkach