PDA

Показать полную графическую версию : [решено] Создание и запись в файл в кодировке 1200 (UTF 16 LE)


eus_deus
06-09-2013, 13:47
Итак, следующая задача. Есть необходимость создавать фай и писать в него текст с текстового поля $Edit2. Использую такой код:
Func _FileCr()
$h_File= _FileCreate($TempFilePath)
If Not $h_File Then
MsgBox(4096,"Ошибка", " Ошибка создания файла.Ошибка = " &@error)
EndIf
$hOpenFile=FileOpen($h_File,42)
If $hOpenFile=-1 Then
MsgBox(4096, "Ошибка", "Невозможно открыть файл.")
Exit
EndIf
$s_text=GUICtrlRead($Edit2,"")
FileWrite ($hOpenFile, $s_text )
FileClose( $hOpenFile)
EndFunc

Файл должен быть в UTF 16 LE ( получаю UTF 16 LE без BOM). Итак, файл создается и открывается, о чем сужу по тому, что не срабатывают условия. Но запись в него не происходит. И как все таки быть с кодировкой (с этим строго)

madmasles
06-09-2013, 18:59
eus_deus,
А в чем проблема?$sFile = @ScriptDir (http://autoit-script.ru/autoit3_docs/macros.htm#@scriptdir) & '\tst.txt'
$hFile = FileOpen (http://autoit-script.ru/autoit3_docs/functions/FileOpen.htm)($sFile, 42)
FileWrite (http://autoit-script.ru/autoit3_docs/functions/FileWrite.htm)($hFile, 'test text тест текст')
FileClose (http://autoit-script.ru/autoit3_docs/functions/FileClose.htm)($hFile)
ConsoleWrite (http://autoit-script.ru/autoit3_docs/functions/ConsoleWrite.htm)(FileGetEncoding (http://autoit-script.ru/autoit3_docs/functions/FileGetEncoding.htm)($sFile) & @LF (http://autoit-script.ru/autoit3_docs/macros.htm#@lf))
ConsoleWrite (http://autoit-script.ru/autoit3_docs/functions/ConsoleWrite.htm)(FileRead (http://autoit-script.ru/autoit3_docs/functions/FileRead.htm)($sFile) & @LF (http://autoit-script.ru/autoit3_docs/macros.htm#@lf))

eus_deus
06-09-2013, 22:08
А в чем проблема? »
Проблема? Да в том, что файл создается, но записи в него нет. Один раз что то намудрил, и получил, что смог записать строку иероглифов вместо нормального текста. А так - код я привел, задачу обрисовал - надо UTF 16 LE ( получаю UTF 16 LE без BOM), и записать в него текст с текстового поля

eus_deus
07-09-2013, 00:39
Вопрос решен, спасибо

eus_deus
07-09-2013, 16:22
Чтобы не создавать еще одну тему, разрешите спросить здесь. Интересует, как вызвать одну форму из другой? И чтобы они обе нормально видели параметры друг друга

Iska
08-09-2013, 00:01
Чтобы не создавать еще одну тему, разрешите спросить здесь. »
Создавайте. Принцип простой: один вопрос — одна тема.




© OSzone.net 2001-2012