[Цитировать]

    vampir225
  • 16411
  • Стаж: 1 год 3 месяца
  • Сообщений: 38
  • Репутация:0

    [+] [-]
Доброго времени суток форумчане. Вопрос заключается в следующем: есть строка для запуска файла
File.Run("AutoPlay\\Docs\\CitrixReceiver 4.11.exe", arg, "", SW_SHOWNORMAL, true);
С помощью чекбоксов нужно добавлять аргументы для запуска этого файла.
По совету многоуважаемого Joker-2013 сделал так
local store0 = "STORE0="; --переменная1
local storeksrt = '"CitrixKSRT;https://ctx.ks.rt.ru/Citrix/CitrixKSRT/discovery"';  --переменная2
ksrt = "store0".."storeksrt"; --объединение переменных 1 и 2 сделал потому что STORE0="CitrixKSRT;https://ctx.ks.rt.ru/Citrix/CitrixKSRT/discovery" не получается забить в одну переменную
arg = "/silent ALLOWADDSTORE=A";
if CheckBox.GetChecked("CheckBox1") then
  arg =  arg.." ksrt"
end
if CheckBox.GetChecked("CheckBox2") then
  arg =  arg.." /ay"
end
if CheckBox.GetChecked("CheckBox3") then
  arg =  arg.." /iu"
end
File.Run("AutoPlay\\Docs\\CitrixReceiver 4.11.exe", arg, "", SW_SHOWNORMAL, true);
result = DialogEx.Show("OK", true, nil, nil);
Но вот почему-то при установке не добавляется аргумент ((
Второй и третий чекбоксы пока не трогал
Кто что подскажет?

[Цитировать]

    Joker-2013
  • 1039
  • Стаж: 3 года 2 месяца
  • Сообщений: 2882
  • Репутация:103

    [+] [-]
  • Откуда: Админ от сюда
52898.." ksrt"
это строка а не переменная....
То есть нужно не так: arg = arg.." ksrt"
а так: arg = arg.." "..ksrt

[Цитировать]

    vampir225
  • 16411
  • Стаж: 1 год 3 месяца
  • Сообщений: 38
  • Репутация:0

    [+] [-]
52899
52898.." ksrt"
это строка а не переменная....
То есть нужно не так: arg = arg.." ksrt"
а так: arg = arg.." "..ksrt
все равно не добавляет ((
Может я сами переменные не так указываю? Меня смущают кавычки тут STORE0="CitrixKSRT;https://ctx.ks.rt.ru/Citrix/CitrixKSRT/discovery"
Не может такого быть чтобы они как-то неправильно работали?

[Цитировать]

    Gemostarter
  • 15956
  • Стаж: 1 год 5 месяцев
  • Сообщений: 125
  • Репутация:13

    [+] [-]
52898ksrt = "store0".."storeksrt"
Тут тоже строки вместо переменных.
Закоментьте File.Run, заставьте DialogEx.Show выводить содержимое переменной arg, и экспериментируйте как и сколько угодно.

[Цитировать]

    vampir225
  • 16411
  • Стаж: 1 год 3 месяца
  • Сообщений: 38
  • Репутация:0

    [+] [-]
заставьте DialogEx.Show выводить содержимое переменной arg, и экспериментируйте как и сколько угодно.
знать бы еще как это сделать ))
Ладно. буду пробовать дальше

[Цитировать]

    Joker-2013
  • 1039
  • Стаж: 3 года 2 месяца
  • Сообщений: 2882
  • Репутация:103

    [+] [-]
  • Откуда: Админ от сюда
vampir225,
Сложно помочь человеку, который не знает основ...
Почитайте в справке хотя бы типы переменных...
Если в строке аргументов, встречаются кавычки " то надо писать \"
Слеши \ нужно удваивать \\
Добавьте данный код в глобальные функции проекта:
function Mess(Value, sComment)
   local sOutput, stype;
   if sComment == nil then
    sComment = "";
  end
   stype = type(Value);
   if stype == "table" then
    sOutput = "";
       for Name, Contents in pairs(Value) do
      sOutput = sOutput .. Name .. " = " .. tostring(Contents) .. "\r\n";
    end
  else
    sOutput = tostring(Value);
  end
  Dialog.Message("Show value: "..sComment, "Type: "..stype.."\r\n-------------\r\n"..sOutput);
end
Это типо отладчика... Отображает значения любых типов переменных и таблиц, в отличии от стандартного диалогового окна, где есть отображение только строковых переменных.
Применять, можно так: Mess(arg)
Выведет содержимое переменной arg
Я уже пишу на другом языке программирования и мне тяжело что либо вспомнить о AMS, приходится насиловать мозг,
пожалейте меня, всё есть в справке и на форуме ru-board, ссылку на тему я давал...

[Цитировать]

    vampir225
  • 16411
  • Стаж: 1 год 3 месяца
  • Сообщений: 38
  • Репутация:0

    [+] [-]
Joker-2013, понял вас )) буду штудировать тему ))
Спасибо за отладчик, по нему сразу понял где ошибка ))


Показать сообщения:    

Текущее время: 22-Сен 09:48

Часовой пояс: UTC + 3


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