Что нового

[Автоматизация] считать файл в элемент "Edit"

damien2008

Осваивающий
Сообщения
157
Репутация
30
код исправлен
здравствуйте.

есть форма
Код:
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
$Form2 = GUICreate("Form2", 568, 454, 208, 138)
$Edit1 = GUICtrlCreateEdit("", 48, 24, 425, 417)
GUICtrlSetData(-1, "")

$hFileini=FileOpen(@ScriptDir&"\text.txt")
$sFileiniText=FileRead($hFileini)
GUICtrlSetData($Edit1, $sFileiniText)
FileClose($hFileini)

GUISetState(@SW_SHOW)

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

        Case $Edit1
    EndSwitch
WEnd


и текстовый файл "text.txt":
Код:
"Lorem ipsum dolor sit amet, consectetur adipisicing elit,
sed do eiusmod tempor incididunt ut labore et dolore magna aliqua
Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris 
nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in 
reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla 
pariatur. Excepteur sint occaecat cupidatat non proident, sunt in 
culpa qui officia deserunt mollit anim id est laborum."
считывает этот файл, его содержимое передает в элемент Edit1.

спасибо ХрусТ.
 

gregaz

AutoIT Гуру
Сообщения
1 166
Репутация
299
Надо правильно организовать структуру скрипта :
Код:
#include <GUIConstantsEx.au3>
$Form2 = GUICreate("Form2", 568, 454, 208, 138)
$Edit1 = GUICtrlCreateEdit("", 48, 24, 425, 417)

$btSetEdit = GUICtrlCreateButton("Set Data", 480, 390, 60, 30)
$btExit = GUICtrlCreateButton("Exit", 480, 420, 60, 30)
GUISetState()
While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
        Case $GUI_EVENT_CLOSE,$btExit
            Exit
        Case $btSetEdit
			$sText=FileRead(@ScriptDir&'\text.txt')
			GUICtrlSetData($Edit1, $sText)
	EndSwitch
WEnd
 

Arei

Скриптер
Сообщения
938
Репутация
115
Я новичок в этом деле, и не понял полностью что делает твой скрипт, но все же ты забыл открыть файл перед чтением, например вот
Код:
$file = FileOpen(@ScriptDir&"\text.txt", 0)
$fileini=FileRead(@ScriptDir&"\text.txt")


$Edit1 = $fileini



MsgBox(4096, "Test", $Edit1, 10)
 

gregaz

AutoIT Гуру
Сообщения
1 166
Репутация
299
Arei [?]
но все же ты забыл открыть файл перед чтением, например вот
В принципе можно читать напрямую.

Но уж если открывать файл , то это делается так:
Код:
$hFile=FileOpen(@ScriptDir&"\text.txt"); Получить Handly открытого файла
;Все последующие операции уже выполняются с $hFile (Handly открытого файла)
$sText=FileRead($hFile)
FileClose($hFile)
 
Автор
damien2008

damien2008

Осваивающий
Сообщения
157
Репутация
30
да сообщение вообще не надо.
это Arei смуту наводит)

нужно просто при запуске, загружать содержимое из файла, в "Эдит1" и все.

главное, что бы перенос строк был по @CRLF и все.
 

XpycT

Скриптер
Сообщения
380
Репутация
132
damien2008

Код:
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
$Form2 = GUICreate("Form2", 568, 454, 208, 138)
$Edit1 = GUICtrlCreateEdit("", 48, 24, 425, 417)
GUICtrlSetData(-1, "")

$hFileini=FileOpen(@ScriptDir&"\text.txt")
$sFileiniText=FileRead($hFileini)
GUICtrlSetData($Edit1, $sFileiniText)
FileClose($hFileini)

GUISetState(@SW_SHOW)

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

        Case $Edit1
    EndSwitch
WEnd
 

Arei

Скриптер
Сообщения
938
Репутация
115
это только ради примера.
Код:
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
$Form2 = GUICreate("Form2", 568, 454, 208, 138)
$Edit1 = GUICtrlCreateEdit("", 48, 24, 425, 417)
GUICtrlSetData(-1, "")
GUISetState(@SW_SHOW)


$file = FileOpen(@ScriptDir&"\text.txt", 0)
            $sText=FileRead(@ScriptDir&'\text.txt')
            GUICtrlSetData($Edit1, $sText)
			
			   
			   

GUISetState()
While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
        Case $GUI_EVENT_CLOSE
            Exit
     
    EndSwitch
WEnd
 
Автор
damien2008

damien2008

Осваивающий
Сообщения
157
Репутация
30
XpycT, Arei
РИСПЕКТ. спасибо большое. тема закрыта.
 
Верх