Легенда:
новое сообщение
закрытая нитка
новое сообщение
в закрытой нитке
старое сообщение
|
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
- Новичкам также крайне полезно ознакомиться с данным документом.
| | | | | | | | | | | |
CLX applications основаны на QT 16.03.05 19:37 Число просмотров: 2010
Автор: 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 - само то.
|
<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.
Мне кажется, мы несколько отошли от главной темы.
|
|
|