Что нового

[Элементы GUI] Вывод текстового файла в Edit

cobra2029

Новичок
Сообщения
54
Репутация
0
Здравствуйте!

Итак, есть код:

Код:
$choice_index = 10
	$file1 = (@ScriptDir & '\DataBase\Record' & $choice_index & '\TXT_UA.txt')
	$file2 = (@ScriptDir & '\DataBase\Record' & $choice_index & '\TXT_RU.txt')
	$file3 = (@ScriptDir & '\DataBase\Record' & $choice_index & '\TXT_EN.txt')
	;ConsoleWrite('путь к файлу 1: ' & $file1 & @lf)
	;ConsoleWrite('путь к файлу 2: ' & $file2 & @lf)
	;ConsoleWrite('путь к файлу 3: ' & $file3 & @lf)

        FileOpen ($file1,0)
	FileOpen ($file2,0)
	FileOpen ($file3,0)

$Reading = GUICreate("Reading...", 755, 535, 192, 128)

						;Украинский вариант
$Group1 = GUICtrlCreateGroup("Украинский вариант", 8, 8, 729, 169)
$Edit1 = GUICtrlCreateEdit("", 8, 24, 729, 153)
GUICtrlSendMsg($Edit1, $EM_LIMITTEXT, -1, 0)
GUICtrlSetData(-1, "")
GUICtrlCreateGroup("", -99, -99, 1, 1)

						;Русский вариант
$Group2 = GUICtrlCreateGroup("Русский вариант", 8, 184, 729, 169)
$Edit2 = GUICtrlCreateEdit("", 8, 200, 729, 153)
GUICtrlSendMsg($Edit2, $EM_LIMITTEXT, -1, 0)
GUICtrlSetData(-1, "")
GUICtrlCreateGroup("", -99, -99, 1, 1)

						;Английский вариант
$Group3 = GUICtrlCreateGroup("Английский вариант", 8, 360, 729, 169)
$Edit3 = GUICtrlCreateEdit("", 8, 376, 729, 153)
GUICtrlSendMsg($Edit3, $EM_LIMITTEXT, -1, 0)
GUICtrlSetData(-1, "")
GUICtrlCreateGroup("", -99, -99, 1, 1)

GUISetState(@SW_SHOW)


		; Проверяет, является ли файл открытым, перед тем как использовать функции чтения/записи в файл
	If $file1 = -1 Then
		GUICtrlSetData($edit1, "Невозможно открыть файл с Украинским текстом.")
	Else
		$line1 = FileRead($file1)
		sleep (100)
		;GUICtrlSetData($edit1,$line1 )
		_GUICtrlEdit_AppendText($Edit1, $line1 )
	EndIf

	If $file2 = -1 Then
		GUICtrlSetData($edit2, "Невозможно открыть файл с Русским текстом.")
	Else
		$line2 = FileRead($file2)
		sleep (100)
		_GUICtrlEdit_AppendText($Edit2, $line2 )
	EndIf

	If $file3 = -1 Then
		GUICtrlSetData($edit3, "Невозможно открыть файл c Английским текстом.")
	Else
		$line3 = FileRead($file3)
		sleep (100)
		_GUICtrlEdit_AppendText($Edit3, $line3 )
	EndIf

	While 1
		$nMsg = GUIGetMsg()
			Switch $nMsg
				Case $GUI_EVENT_CLOSE
					ExitLoop

			EndSwitch
	WEnd

	FileClose($file1)
	FileClose($file2)
	FileClose($file3)
Exit


собственно все должно работать но получаю это:
1010.jpg



пробовал через функцию
Код:
_GUICtrlRichEdit_Create
- результат один и тот же

TXT_UA.txt, TXT_RU.txt, TXT_EN.txt - обычные текстовые файлы, длина у них разная.

Вопрос: "что делаю не так?"


Добавлено:
Сообщение автоматически объединено:

Не поверите, перезагрузил машину все заработало.


Тему удалите плиз
 

AZJIO

Меценат
Меценат
Сообщения
2,874
Репутация
1,194
cobra2029
У вас ошибки в скрипте: FileOpen и FileClose используются впустую. Если их удалить всё останется как и было. FileOpen возвращает дескриптор для дальнейшего использования. FileClose закрывает дескриптор а не прочитанный текст или текст с указанием пути.

Код:
#include <GUIConstantsEx.au3>
#include <GuiEdit.au3>

$choice_index = 10
$file1 = @ScriptDir & '\DataBase\Record' & $choice_index & '\TXT_UA.txt'
$file2 = @ScriptDir & '\DataBase\Record' & $choice_index & '\TXT_RU.txt'
$file3 = @ScriptDir & '\DataBase\Record' & $choice_index & '\TXT_EN.txt'

$Reading = GUICreate("Reading...", 755, 535, 192, 128)

;Украинский вариант
$Group1 = GUICtrlCreateGroup("Украинский вариант", 8, 8, 729, 169)
$Edit1 = GUICtrlCreateEdit("", 8, 24, 729, 153)
GUICtrlSendMsg($Edit1, $EM_LIMITTEXT, -1, 0)

;Русский вариант
$Group2 = GUICtrlCreateGroup("Русский вариант", 8, 184, 729, 169)
$Edit2 = GUICtrlCreateEdit("", 8, 200, 729, 153)
GUICtrlSendMsg($Edit2, $EM_LIMITTEXT, -1, 0)

;Английский вариант
$Group3 = GUICtrlCreateGroup("Английский вариант", 8, 360, 729, 169)
$Edit3 = GUICtrlCreateEdit("", 8, 376, 729, 153)
GUICtrlSendMsg($Edit3, $EM_LIMITTEXT, -1, 0)

GUISetState(@SW_SHOW)

$line1 = FileRead($file1)
;GUICtrlSetData($edit1,$line1, 1)
_GUICtrlEdit_AppendText($Edit1, $line1)

$line2 = FileRead($file2)
_GUICtrlEdit_AppendText($Edit2, $line2)

$line3 = FileRead($file3)
_GUICtrlEdit_AppendText($Edit3, $line3)

While 1
	Switch GUIGetMsg()
		Case $GUI_EVENT_CLOSE
			ExitLoop
	EndSwitch
WEnd
 
Верх