Здравствуйте! Как можно быстро организовать историю в Builder v6.0? Дело в том, что есть БД. По мере обращения к тем или иным записям базы нужно запоминать время и кол-во этих просмотров. Т.е. надо организовать что-то типа History в IE или Opera. Можно ли это организовать не сохраняя эти данные в отдельный файл на диске. Скорее всего - нет, но может можно оптимизировать эту операцию используя INF или может как нибудь по другому.
Доброе время суток, Илья! Хех. На ель влезть и зад не уколоть? В Interbase есть такой механиз Event его можно использовать, чтобы сделать лог и хранить его в базе. Или храни в файле на диске, но это требует исправлений твоего кода и вставки функции, которые бы правили лог. Можно, конечно и в Event Log выводить, но это - лажа.
Ответ отправлен: 15.12.2002, 03:24 Отправитель: Jadd
Вопрос № 441
Приветствую... 1. Подскажите (а лучше покажите)как правильно реализовать у себя функцию FormatMessage() - не могу никак в параметрах разобраться, вроде делаю все как в мануале, а че-то матерится как дядя Вася. 2. Можно ли как-нибудь вызвать стандартное окно копирования как в винде?. Типа как OpenDialog что-ли. Спасибо.
Доброе время суток, YAR! Вот пример из МСДН, как пользоваться функцией FormatMessage() LPVOID lpMsgBuf; FormatMessage( FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS, NULL, GetLastError(), MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), // Default language (LPTSTR) &lpMsgBuf, 0, NULL ); // Display the string. MessageBox( NULL, (LPCTSTR)lpMsgBuf, "Error", MB_OK | MB_ICONINFORMATION ); // Free the buffer. LocalFree( lpMsgBuf );
Ответ отправлен: 15.12.2002, 11:15 Отправитель: vitya Отвечает Avl2k
Доброе время суток, YAR! 1. Cм. пример использования FormatMessage. А что конкретно не работает? string format_it( const char* fmt, ... ) { string s; va_list l; va_start(l, fmt); const char* buf; DWORD rslt = FormatMessage( FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_STRING, fmt, 0, 0, (LPTSTR)&buf, 0, &l ); va_end(l); if( rslt != 0 ) { s = buf; LocalFree( (HLOCAL)buf ); } return s; } void fff() { // выдает "Vasja was there 5 times" string s = format_it( "%2 was there %1!d! times", 5, "Vasja" ); } 2. Используйте SHFileOperation с wFunc = FO_COPY. С уважением, Avl2k. P.S. Интересно, кто-нибудь когда-нибудь сделает так, чтобы ответ с текстом в приложении не пропадал? Ответ отправлен: 15.12.2002, 15:54 Отправитель: Avl2k
Форма отправки вопроса
Внимание!
Форма может работать некорректно в почтовых программах "Microsoft Outlook"
и "Microsoft Outlook Express". В программе The Bat!
подобные формы не работают вообще!
После нажатия на кнопку "Отправить", будет открыто второе окно. Заметьте,
что в некоторых браузерах могут стоять запреты на открытие других
окон, а также "чрезмерное" кэширование данных,
при этом факт отправки Вашего вопроса стоит под сомнением.
Мы рекомендуем открывать рассылку в программе Internet
Explorer 5.0+ или отправлять вопросы с сайта по адресу:
http://rusfaq.ru/cgi-bin/Message.cgi.