Что нового

Выбор файла для получения данных в скрипт

uritalex

Новичок
Сообщения
197
Репутация
3
Версия AutoIt: 3.

Добрый день! В результате реализации одного проекта столкнулся с необходимостью реализации дополнительного функционала а именно, необходимо чтоб при запуске скрипта появлялось окно со списком файлов той же директории где лежит основной скрипт, и две кнопки "Добавить" и "Отменить"
По кнопке "Добавить", файл добавлялся в обработку основного скрипта, по кнопке "Отменить" прекращались все действия.
Выбранный файл должен быть подставлен в команду основного скрипта на место url.txt :
Код:
_FileReadToArray("url.txt", $aURL, 0, ",")
 

edyapd

Осваивающий
Сообщения
380
Репутация
30
С окнами не очень дружен, по этому могут быть где-то ошибки. Черновой вариант, думаю дальше уже справитесь.
Код:
#include <ListBoxConstants.au3>
#include <GUIConstantsEx.au3>

Local $hGUI, $mylist, $read, $tmp

$hGUI = GUICreate(" ")

$read = GUICtrlCreateButton("Добавить", 40, 30, 121, 25)

$mylist = GUICtrlCreateList("", 180, 30, 190, 100, $LBS_STANDARD + $__LISTBOXCONSTANT_WS_VSCROLL)

$hSearch = FileFindFirstFile("*.txt")
If $hSearch = -1 Then
    MsgBox(4096, "Ошибка", "Ни один из файлов или каталогов не соответствует маске поиска")
    Exit
EndIf

While 1
    $sFile = FileFindNextFile($hSearch) ; возвращает имя следующего файла, начиная от первого до последнего
    If @error Then ExitLoop

    GUICtrlSetData(-1, $sFile)
WEnd

FileClose($hSearch)

GUISetState()

While 1
    Switch GUIGetMsg()
		Case $GUI_EVENT_CLOSE
            Exit
        Case $read
            $tmp = GUICtrlRead($mylist)
            _FileReadToArray($tmp, $aURL, 0, ",")
    EndSwitch
WEnd
 
Автор
U

uritalex

Новичок
Сообщения
197
Репутация
3
Благодарю что дали направление куда рыть :smile: При запуске скрипта выдает следующее :
Код:
$mylist = GUICtrlCreateList("", 180, 30, 190, 100, $LBS_STANDARD + $__LISTBOXCONSTANT_WS_VSCROLL)
$mylist = GUICtrlCreateList("", 180, 30, 190, 100, $LBS_STANDARD + ^ ERROR
Может сталкивались с такой ошибкой?
 

edyapd

Осваивающий
Сообщения
380
Репутация
30
Это константа из ListBoxConstants.au3. Возможно он у меня старый и у вас в этом файле она называется по другому. Можете её совсем убрать. Она нужна, чтобы появлялся вертикальная прокрутка, при большом колличестве пунктов в ListBox.
 

InnI

AutoIT Гуру
Сообщения
4,912
Репутация
1,429
uritalex
А стандартный диалог вас не устроит?
Код:
#include <File.au3>
Global $aURL
$File = FileOpenDialog("", @ScriptDir, "(*.txt)", 3)
If @error Then Exit
_FileReadToArray($File, $aURL, 0, ",")

#include <Array.au3>
_ArrayDisplay($aURL)
 
Автор
U

uritalex

Новичок
Сообщения
197
Репутация
3
Более чем :smile:
OffTopic:
Дайте мне свой адрес я Вам хоть пивка вышлю за постоянную помощь :beer:
:IL_AutoIt_1:
 

edyapd

Осваивающий
Сообщения
380
Репутация
30
uritalex сказал(а):
OffTopic:
М-да. И нафига я тут извращался. Вы бы хоть справку иногда читали. Я то думал вам и вправду через окно требуется.
 
Автор
U

uritalex

Новичок
Сообщения
197
Репутация
3
Ваш способ так же в копилку положил :smile: справку читал и форум изучал Но не хватает мне извилин это все переварить и воплотить в жизнь :smile:
 
Верх