![]() |
|
Модераторы: Akina |
![]()
|
|
| suvor |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 16 Регистрация: 4.8.2006 Репутация: нет Всего: нет |
Наступил на весьма странный трабл! Пишу
Open fn For Output As #1: Print #1, txt: Close: Open fn For Input As #1: lent = FileLen(fn): txt = Input(lent, #1): Close: где txt -большой текст (1 622 474 символов) и получаю ошибку "Input past end of file" т.к. длина файла оказывается на 1 больше длины текста!!! А при работе с менее длинными текстами все ОК! И непонятно джаже как выкручиваться! |
|||
|
||||
| CompWorm |
|
|||
![]() Допеределыватель ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1689 Регистрация: 6.12.2004 Где: / Репутация: нет Всего: 31 |
lent = FileLen(fn)-1
|
|||
|
||||
| BUGOR |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 325 Регистрация: 12.3.2006 Репутация: 3 Всего: 16 |
Используй в таких случаях функцию LOF(Len Of File):
|
|||
|
||||
| mihanik |
|
|||
![]() -=Белый Медведь=- ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 4054 Регистрация: 24.4.2006 Где: г. Тверь Репутация: 11 Всего: 109 |
А я уж совсем по-японски делаю...
|
|||
|
||||
| xkodex |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 55 Регистрация: 30.4.2005 Репутация: нет Всего: нет |
По-японски не то слово Зачем столько всего??? |
|||
|
||||
| mihanik |
|
|||
![]() -=Белый Медведь=- ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 4054 Регистрация: 24.4.2006 Где: г. Тверь Репутация: 11 Всего: 109 |
||||
|
||||
| Тутанхамец |
|
||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 612 Регистрация: 10.10.2005 Где: в пирамидЕ! Репутация: 4 Всего: 6 |
У меня такая беда была, когда в файле был символ нуля. Chr(0), то есть. Такой файл не хочет лезть в строку.
Сравни как работают два кода. Тут должно быть всё в порядке:
Здесь должен лезть "input past end of file"
Добавлено @ 08:53 А еще интересно, что способ Миханика (через FSO) ошибки не вызывает, но так как chr(0) означает конец строки, то часть файла ПОСЛЕ нулевого символа в прочитанной строке отсутствует. Вот посмотри:
В общем, вижу два выхода: либо как-то исключить из файла нулевой символ, либо читать его не в строку. |
||||||
|
|||||||
![]()
|
| Правила форума "VB6" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Akina. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | VB6 | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |