| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Общие вопросы > Запись строки в файл |
| Автор: Belij 21.12.2003, 12:22 |
| Вот есть у меня такая трабла!Создаю я лог-файл. ------------------------------------------------------------------ log := CreateFile( PChar('logfile.txt'), GENERIC_READ or GENERIC_WRITE, FILE_SHARE_READ, nil, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, 0 ); ------------------------------------------------------------------ Далее по некому условию ошибки нужно записать еррор мессадж в этот файл. Еррор мессадж - константа стринговая. Все это надо сделать через WinAPI функции. Смотрю описание -> функция WriteFile! Делаю это так WriteFile(log,FILE_OPEN_ERROR,?,wrtn,nil); ? - не в курсе,указывать точное число байт? (для примера я написал 100) но ведь это строка из буфера! в общем запись не происходит.... в чем я ошибаюсь? |
| Автор: p0s0l 21.12.2003, 13:16 |
| Попробуй WriteFile(log,PChar(FILE_OPEN_ERROR)^,Length(FILE_OPEN_ERROR),wrtn,nil); |
| Автор: Vit 21.12.2003, 16:41 | ||||||
А почему именно на API? Для ведения логов очень даже приемлемы стандартные средства, гораздо удобнее:
Использование:
Создаст или дозапишет в конец существующего файла по имени твоего приложения, только с расширением .log вместо .exe. Причём в лог будет записано 'Application is started' с указанием текущей даты. Если надо указать другой лог файл то надо использовать как:
|
| Автор: NiJazz 21.12.2003, 16:48 |
| Belij, если тебя прибило работать именно с файлами, связанными с дескрипторами, то лучше используй функции из VCL. Такие, как FileCreate, FileRead, FileWrite и т.д. Там возни меньше, чем в API и описание нормальное, делфийское. В делфе из-за языка Паскаля неудобно работать с сишными апишками... |