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





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
  • Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
  • Новичкам также крайне полезно ознакомиться с данным документом.
Только называется он там Kylix :-) 16.03.05 12:04  Число просмотров: 1815
Автор: amirul <Serge> Статус: The Elderman
<"чистая" ссылка>
<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