Страница: 1 | 2 | 3 |
Вопрос: Ведём лог файл...
Добавлено: 05.01.09 12:14
Автор вопроса: werber | Web-сайт:
Организовал функцию ведения лог файла. Скажите ка, всё ли в ней нормально? Может надо что-то изменить или улучшить?
Dim MyFile
MyFile = FreeFile
Open App.Path + "\Log.txt" For Append As #MyFile
Print #MyFile, StringLog
Close
End Function
Ответы
Всего ответов: 42
Номер ответа: 1
Автор ответа:
@lex
Вопросов: 14
Ответов: 262
Профиль | | #1
Добавлено: 05.01.09 13:18
Если программа будет лежать в корне диска то по-моему работать не будет, т.к. выходит "C:\\Log.txt"
Приделай проверку) Хотя бы самым примитивным способом)
Номер ответа: 2
Автор ответа:
@lex
Вопросов: 14
Ответов: 262
Профиль | | #2
Добавлено: 05.01.09 13:21
Ну и время, раз это лог файл)
Номер ответа: 3
Автор ответа:
werber
Вопросов: 71
Ответов: 112
Web-сайт:
Профиль | | #3
Добавлено: 05.01.09 13:40
А какая разница? Вроде Windows вполне корректно понимает "\\" ! Мне кажется проверка лишняя...
Номер ответа: 4
Автор ответа:
@lex
Вопросов: 14
Ответов: 262
Профиль | | #4
Добавлено: 05.01.09 13:58
Windows вполне корректно понимает "\\"
Хм... Реально)
Номер ответа: 5
Автор ответа:
Father
Вопросов: 0
Ответов: 159
Профиль | | #5
Добавлено: 05.01.09 14:16
Функции полагается что-то возвращать.
Ошибку при записи в файл или, например, счетчик обращений к ней.
Номер ответа: 6
Автор ответа:
Arseny
ICQ: 298826769
Вопросов: 53
Ответов: 1732
Профиль | | #6
Добавлено: 05.01.09 22:02
эта строка, по-моему, должна закрыть ВСЕ открытые с помощью Open файлы... Надо явно указывать номер.
Номер ответа: 7
Автор ответа:
Winand
Вопросов: 87
Ответов: 2795
Web-сайт:
Профиль | | #7
Добавлено: 05.01.09 22:23
ну а если функции возвращать ничего не нужно, то в vb используют Public Sub
FreeFile - возвращает int, значит нужно объявить Dim MyFile As Integer
Номер ответа: 8
Автор ответа:
werber
Вопросов: 71
Ответов: 112
Web-сайт:
Профиль | | #8
Добавлено: 06.01.09 13:20
Получается вот так:
Номер ответа: 9
Автор ответа:
Winand
Вопросов: 87
Ответов: 2795
Web-сайт:
Профиль | | #9
Добавлено: 06.01.09 13:49
ага) а еще можно отступ коду функции табом сделать
Str$, т.к. Str - типа Variant, который использовать по идее нежелательно (но это уже паранойя
Номер ответа: 10
Автор ответа:
Администратор
ICQ: 278109632
Вопросов: 42
Ответов: 3949
Web-сайт:
Профиль | | #10
Добавлено: 06.01.09 13:50
Мне кажется проверка лишняя...
А вот нифига не лишняя Некоторые версии msvbvm60 возвращают путь с завершающим бэкслешем, а некоторые - без.
Номер ответа: 11
Автор ответа:
@lex
Вопросов: 14
Ответов: 262
Профиль | | #11
Добавлено: 06.01.09 15:13
А вот нифига не лишняя
Номер ответа: 12
Автор ответа:
Администратор
ICQ: 278109632
Вопросов: 42
Ответов: 3949
Web-сайт:
Профиль | | #12
Добавлено: 06.01.09 18:43
У меня иначе немного все сделано. Вот что юзаю я:
Номер ответа: 13
Автор ответа:
Администратор
ICQ: 278109632
Вопросов: 42
Ответов: 3949
Web-сайт:
Профиль | | #13
Добавлено: 06.01.09 18:47
Не обращайте внимания на количество строк Их много из-за пропусков и комментариев. А если выключить проверку максимального размера файла лога, то ваще мало кода получается. Если код кажется страшным, то уберите комментарии и все между #If/#End If и обработчик ошибок (не советую)
Номер ответа: 14
Автор ответа:
Winand
Вопросов: 87
Ответов: 2795
Web-сайт:
Профиль | | #14
Добавлено: 06.01.09 19:55
Executioner, красивый кот) Только не пойму, зойчем открыть файл, потом проверить размер, закрыть, удалить, открыть снова.
Почему бы не заюзать filelen, если надо удалить файл, а потом уже использовать Open?
Номер ответа: 15
Автор ответа:
Администратор
ICQ: 278109632
Вопросов: 42
Ответов: 3949
Web-сайт:
Профиль | | #15
Добавлено: 06.01.09 20:17
Можно заюзать и FileLen, просто код писался давно и тогда я видимо не знал о существовании этой функции