Что нового

[Данные, строки] Проблема с форматом текстового файла: разные просмотрщики по разному себя ведут.

akoulev

Новичок
Сообщения
166
Репутация
2
Скрипт выводит данные в файл (прилагается); в просмотрщике программы FN это выглядит примерно так:
[box title=TitleBox]===========================================
2010_08_11 10 часов 09 минут 49 секунд.
$First1 =
$Secnd2 =
$Third3 = [/box]

Проблема в том, что если просматривать файл из программы FN ("файл навигатор") - то, и впрямь, всё Ok; если же открыть файл в NotePad-е (сиречь, Блокноте) - то уже НЕ всё Ok: та же информация выводится, но в одну строку, перемежаясь (там где заканчивается строка) вертикально вытянутыми прямоугольниками.
Наверняка кто-то с этим уже сталкивался: можно ли сгенерировать файл таким образом, чтобы файл выглядел одинаково при открытии как в DOS-овском просмотрщике, так и в виндовом?

Ай нид хелп, плиз! (с) к/ф "Брат-2"
:smile:
 

madmasles

Модератор
Глобальный модератор
Сообщения
7 790
Репутация
2 319
Re: [Данные, строки] Проблема с форматом текстового файла: разные просмотрщики по разному себя веду

akoulev [?]
Скрипт выводит данные в файл
Вы бы лучше кусок скрипта привели, где он пишет в лог. :smile: Какой символ Вы используете для перехода на новую строку? Кажется, Notepad понимает как символ перехода на новую строку только @CRLF.
 

kaster

Мой Аватар, он лучший самый
Команда форума
Глобальный модератор
Сообщения
4 020
Репутация
622
Re: [Данные, строки] Проблема с форматом текстового файла: разные просмотрщики по разному себя веду

akoulev
а где скрипт который выводит эти файлы? все дело в символах окончания строки. если файл планируется открывать только в винде, то надо строки разделять @CRLF, он же \r\n, он же 0x0D0A
 
Автор
A

akoulev

Новичок
Сообщения
166
Репутация
2
Re: [Данные, строки] Проблема с форматом текстового файла: разные просмотрщики по разному себя веду

madmasles сказал(а):
Вы бы лучше кусок скрипта привели, где он пишет в лог. :smile:
Сейчас, выдерну, благо это - всего одна функция:
Код:
Func Otchet (  )
$file = FileOpen ( $das & $Profile & "\Мои документы\" & "\Log.txt", 1 )
; Check if file opened for reading OK
If $file = -1 Then
    MsgBox(0, "Error", "Unable to open file.")
    Exit
EndIf
$line =  "===========================================" & @CR &  $dron & "     " & now() & "     " & @CR & "$First1 = " & $Arrotch[0]  & @CR & "$Secnd2 = " & $Arrotch[1]  & @CR  &"$Third3 = " & $Arrotch[2]
FileWriteLine ( $file, $line )
FileClose($file)
EndFunc

madmasles сказал(а):
Какой символ Вы используете для перехода на новую строку? Кажется, Notepad понимает как символ перехода на новую строку только @CRLF.
Какой символ? Да, собственно, никакого. :smile: Кидаю строки - а там, что получится. ;) Собственно, до сЪго дня всё это более чем устраивало; проблемы "попёрли" в связи с необходимостью портирования: на другой машине .... бррррррр.... ну ВСЁ не так!!!
 

SyDr

Сидра
Сообщения
651
Репутация
158
Re: [Данные, строки] Проблема с форматом текстового файла: разные просмотрщики по разному себя веду

Код:
Func Otchet (  )
$file = FileOpen ( $das & $Profile & "\Мои документы\" & "\Log.txt", 1 )
; Check if file opened for reading OK
If $file = -1 Then
    MsgBox(0, "Error", "Unable to open file.")
    Exit
EndIf
$line =  "===========================================" & @CRLF &  $dron & "     " & now() & "     " & @CRLF & "$First1 = " & $Arrotch[0]  & @CRLF & "$Secnd2 = " & $Arrotch[1]  & @CRLF  &"$Third3 = " & $Arrotch[2]
FileWriteLine ( $file, $line )
FileClose($file)
EndFunc

:rofl:
 
Автор
A

akoulev

Новичок
Сообщения
166
Репутация
2
Re: [Данные, строки] Проблема с форматом текстового файла: разные просмотрщики по разному себя веду

Kaster сказал(а):
akoulev
а где скрипт который выводит эти файлы? все дело в символах окончания строки. если файл планируется открывать только в винде, то надо строки разделять @CRLF, он же \r\n, он же 0x0D0A
Спасибо; сейчас попробую. Интересно, - как оно станет отображаться в DOS-просмотрщиках при этом?
Не утерпел, - сразу же и попробовал. Не помогло. Даже дважды я:
Код:
$line =  "===========================================" & @CR &  $dron & "     " & now() & "     " & @CR & "$First1 = " & $Arrotch[0]  & @CR & "$Secnd2 = " & $Arrotch[1]  & @CR  &"$Third3 = " & $Arrotch[2] & @CRLF & @CRLF

добавил @CRLF - хуже не стало. Лучше - тоже. ;) Ой, я дубина! Сейчас.... Да, спасибо, всё работает. Осознал: был у меня символ перевода строки @CR (я его раньше воспринимал просто как разделитель - ну, точно, дубина! :D ); сменил на @CRLF - всё отлично просматривается ОБОИМИ просмотрщиками. Всем огромное спасибо!
Код:
$line =  "===========================================" & @CRLF &  $dron & "     " & now() & "     " & @CRLF & "$First1 = " & $Arrotch[0]  & @CRLF & "$Secnd2 = " & $Arrotch[1]  & @CRLF &"$Third3 = " & $Arrotch[2]
 
Верх