| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Системное программирование и WinAPI > мажет ли фаил exe узнать дату своего воздания |
| Автор: Гость_Наташа 14.10.2004, 12:54 |
| мажет ли фаил exe узнать дату своего воздания. если да то как и в какой форме. |
| Автор: sergejzr 14.10.2004, 13:00 | ||||
| Если ты его сама писала вставь куда нибудь:
Вообще __DATE__ это строка
|
| Автор: Гость_Наташа 14.10.2004, 13:34 |
| я пишу в visual c++ как правельно написать строку чтоб получить дату и в какой форме палучиная дата (т.е. день\месяц\год) или по другому |
| Автор: SSlavon 14.10.2004, 14:05 |
| CTime t = CTime::GetCurrentTime(); получение системного времени t.Format("%m.%d.%y") соответственно перевод в формат строки |
| Автор: sergejzr 14.10.2004, 14:08 | ||||
| Месяц день год т. есть сегодня: Oct 14 2004 Вот тебе игрушка
Добавлено @ 14:08
Таким образом ты получишь время выполнения программы, а не время её создания |
| Автор: sergejzr 14.10.2004, 14:30 |
| Наташа, регистрируйтесь у нас пожалуйста |
| Автор: Гость_Наташа 14.10.2004, 16:49 |
| спасибо Сергей, но мне надо чтоб если програму переписать то временим создания было время переписки а __DATE__ выдает только время парваначального создания. |
| Автор: Royan 14.10.2004, 17:07 |
| Если программу переписать, придется ее перекомпилировать, а в макросе __DATE__ хранится информация о времени компиляции: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vccelng/htm/prepr_18.asp |
| Автор: sergejzr 14.10.2004, 17:35 | ||
Первый аргумент содержит имя самого файла. По нему можно узнать о файле всё, что знает ОС. Так же и время
Вот только как это(buf.st_mtime) в нормальный формат перевести... Надо искать.. я сейчас очень занят. Может другие участники помогут. Я уверен |
| Автор: Гость_Наташа 14.10.2004, 18:25 |
| Сергей, я работаю в visual c++ с MFC и там не изпользуют argv. |
| Автор: sergejzr 14.10.2004, 18:30 |
| Ты имеешь ввиду MFC? Так там скорее всего какой нибудь Application.path или что то в этом роде. А остальное с каким нибудь f=CFile(Application.path); f.creationDate(); Я не занимался MFC, сорри Но посмотрю. Только сперва скажи, это то, что тебя интересовала или я опять ошибся? |
| Автор: Гость_Наташа 14.10.2004, 18:41 |
| спасибо Сергей, ты правельно понял я работаю с MFC, но я подчоркиваю если фаил переписали мне надо время переписки. |
| Автор: Guest 14.10.2004, 18:51 |
| а после полечения имени делать как ты указал раньще? т.е. struct _stat buf; struct tm *filedate; /* Get data associated with this file, check if statistics are valid: */ if(_stat(path,&buf) != 0) //if(_stat(argv[0], &buf) != 0) { cout << "Problem getting information" << endl; return -1; } cout<<argv[0]<<" "<<buf.st_mtime<<endl; } |
| Автор: sergejzr 15.10.2004, 00:22 | ||
Вот короче расформатирование
Итак, в этой теме собраны определения 3 различных времен приложения. Это: Время компиляции, Время исполнения, Время модификации файла. |
| Автор: Гость_Наташа 15.10.2004, 00:44 |
| спасибо Сергей!! |
| Автор: sergejzr 15.10.2004, 00:45 | ||||||
| Для MFC: Вот, нашёл
Ну и в финале код, подрезанный для тебя. Скопируй его например в InitInstance(). Код проверен!
ПС: Вот полезная ссылка, не ругайся только http://forum.vingrad.ru/index.php?act=Reg&CODE=00 Так всем удобнее будет Добавлено @ 00:50
Рад был помочь |
| Автор: Guest 22.10.2004, 02:55 |
| Извините за оффтоп, но : Как получить инфу об ОС, о конфигурации компа (в том числе версию биоса) ??? Смотрел подобное на ASM, но книжка старая, в ней номера только старых машин описаны... |