Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   AutoIt (http://forum.oszone.net/forumdisplay.php?f=103)
-   -   [решено] Создание и запись в файл в кодировке 1200 (UTF 16 LE) (http://forum.oszone.net/showthread.php?t=267606)

eus_deus 06-09-2013 13:47 2213709

Создание и запись в файл в кодировке 1200 (UTF 16 LE)
 
Итак, следующая задача. Есть необходимость создавать фай и писать в него текст с текстового поля $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 2213872

eus_deus,
А в чем проблема?
Код:

$sFile = @ScriptDir & '\tst.txt'
$hFile = FileOpen($sFile, 42)
FileWrite($hFile, 'test text тест текст')
FileClose($hFile)
ConsoleWrite(FileGetEncoding($sFile) & @LF)
ConsoleWrite(FileRead($sFile) & @LF)


eus_deus 06-09-2013 22:08 2213948

Цитата:

Цитата madmasles
А в чем проблема? »

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

eus_deus 07-09-2013 00:39 2214005

Вопрос решен, спасибо

eus_deus 07-09-2013 16:22 2214217

Чтобы не создавать еще одну тему, разрешите спросить здесь. Интересует, как вызвать одну форму из другой? И чтобы они обе нормально видели параметры друг друга

Iska 08-09-2013 00:01 2214404

Цитата:

Цитата eus_deus
Чтобы не создавать еще одну тему, разрешите спросить здесь. »

Создавайте. Принцип простой: один вопрос — одна тема.


Время: 07:53.

Время: 07:53.
© OSzone.net 2001-