Что нового

запуск ехе файла из под таблицы ListView

OXIGEN

Новичок
Сообщения
30
Репутация
0
Здравствуйте. Пытаюсь сделать запуск ехе файла из под таблицы ListView при выделении строки с
последующей активацией кнопкой "запуск". Пока получилось вот это:
Код:
Case $Button  ; кнопка "Запуск"

           $scena1 = GUICtrlRead(GUICtrlRead($ListView))     ; читаем выбранную строку из base.txt файл-источник
            $hFile = FileOpen(@DesktopDir & '\zapusk.txt', 2) ; Удаляем предидущий документ
            FileClose($hFile)
            $file = FileOpen(@DesktopDir & "\zapusk.txt", 1)  ; Записываем в фаил считанный текст файл-получатель
            FileWrite($file, $scena1)
            FileClose($file)


Через буфер не получается, там ещё со считанной строкой различные манипуляции, обрезка строки, замена знаков
и т.д. Но в результате в файлике zapusk.txt лежит одно слово. Допустим одно из -

Прага

Верхний Лиман

Барселона

и есть каталог с запускаемыми ехе файлами, такими как -

Прага.ехе

Верхний Лиман.ехе

Барселона.ехе

И нужно это слово из zapusk.txt как-то вставить в строку запуска

Код:
$hFile = FileOpen(@ScriptDir & '\zapusk.txt', 0)
$sLine = FileReadLine($hFile)

RUN(@DesktopDir&"\$sLine.exe") ; - Здесь,понятно, что неправильно, но как будет правильно?
 

Norm

Продвинутый
Сообщения
289
Репутация
76
Если я правильно понял, .....
Код:
Case $Button  ; кнопка "Запуск"

            $scena1 = GUICtrlRead(GUICtrlRead($ListView))     ; читаем выбранную строку из base.txt файл-источник
            $hFile = FileOpen(@DesktopDir & '\zapusk.txt', 2) ; Удаляем и Записываем в фаил считанный текст файл-получатель
            FileWrite($hFile, $scena1)
            FileClose($hFile)

            $hFile = FileOpen(@ScriptDir & '\zapusk.txt', 0)
            $sLine = FileReadLine($hFile)
            Run(@DesktopDir&"\"& $sLine &".exe")


Если этот файл zapusk.txt не нужен, то может лучше напрямую, без пронежуточных "остановок" работать?
Код:
Case $Button  ; кнопка "Запуск"

            $scena1 = GUICtrlRead(GUICtrlRead($ListView))     ; читаем выбранную строку из base.txt файл-источник
            
            ; Манипуляции со строкой $scena1
            
            Run(@DesktopDir&"\"& $scena1 &".exe") ; - Здесь,понятно, что неправильно, но как будет правильно?
 
Автор
O

OXIGEN

Новичок
Сообщения
30
Репутация
0
Большое спасибо! Работает 1 вариант отлично!
Действительно, нужно было заключить $sLine в кавычки с амперсандами. Век живи век учись. А то я , пока, с Autoit на ясельном уровне). Ещё раз спасибо!
 
Верх