Что нового

Как прочитать файл внутри которого текст, но он не зарегистрирован как текстовый

agikon

Знающий
Сообщения
789
Репутация
17
Что посоветуете в такой ситуации.
Есть файл, но в системе он не зарегистрирован как текстовый, но внутри в нём текст.

Например имя файла file1.nnn, содержит любой текст.

Так вот как с него считать внутреность его?
Я делаю через FileRead, но чувствую что-то не то.То считывается, то не считывается. то считывается но как то по-странному, в буфере вроде есть, а в переменной не отображается.Ничего не пойму.
Считываю просто вот так одной строчкой
Код:
$Text = FileRead(@DesktopDir & '\file1.nnn', 5000)


Может FileOpen надо использовать перед FileRead?
FileOpen обьязательно использовать?
 
Автор
A

agikon

Знающий
Сообщения
789
Репутация
17
Та 5000 достаточно, это с запасом.
Суть в том что с txt читает нормально, а как только начинаю считывать с незарегистрированых файлов, ну на подобии *.nnn, *.mmm и т.д то сразу как то сразу что-то не то творится.

Потом через блокнот открою этот файл, вот глядишь и скрипт начинает его видеть.
Потом WinXP читает, запускаю в 7ке тот же самый скрипт и файл и не не читает.

Сейчас экспериментирую с FileOpen, и теперь кажись в XP пока глюков не замечено, завтра на 7ке попробую и отпишусь, если и там будет без глюков то видать FileOpen надо было ставить.
 

MnM

Post-Hardcore
Сообщения
679
Репутация
90
agikon
Вы попробуйте убрать 2 параметр из fileread, оставив только путь к файлу. И прочитать его(Если файл действительно чисто текстовый то данные должны читаться без ошибок)
 

Examp

Новичок
Сообщения
7
Репутация
3
agikon
У меня все нормально работает. Система: Windows 7 x86.
Попробуйте BinaryToString.
 

kaster

Мой Аватар, он лучший самый
Команда форума
Глобальный модератор
Сообщения
4,020
Репутация
626
и еще, пример файла в студию. он может быть не полностью текстовый.
 

firex

AutoIT Гуру
Сообщения
943
Репутация
208
agikon
Сталкивался с такой проблемой, скорее всего у тебя присутствует нулевой байт (FF), он обрезает текст в MsgBox(насколько я помню).

Вот тебе проверка:
Код:
$Text = FileRead(@DesktopDir & '\file1.nnn')

FileWrite( @DesktopDir & '\file1.nnn.backup', $Text )
MsgBox( 64, '', (FileRead(@DesktopDir & '\file1.nnn.backup') = $Text) )
 
Автор
A

agikon

Знающий
Сообщения
789
Репутация
17
Kaster [?]
и еще, пример файла в студию. он может быть не полностью текстовый.
файл я сам создаю, и вписываю обычные символы с клавиатура, то есть он 100% текстовый, просто расширение не txt.

Вобщем с командой FileOpen и на 7ке нормально работает.
 
Верх