2009-08-30 3 views
0

У меня есть следующие AppleScript до сих пор:Значения списков в AppleScript?

# List of possible options to control the development environment. 
set WhatDoUWantToDoList to {"1", "2", "3", "4"} 

set MySites to {"test1", "test2"} 

# task selected 
set selectedTask to {choose from list WhatDoUWantToDoList with prompt "Pick your task now!!!" without multiple selections allowed} 

if selectedTask is equal to {"1"} then 
    display dialog selectedTask 
else 
    # site selected 
    set selectedSite to {choose from list MySites with prompt "Pick the site your working on!!!"} 

    if (selectedTask is not equal to false and selectedSite is not equal to false) then 
     display dialog selectedTask 
     display dialog selectedSite 
    else 
     display dialog "you messed up!" 
    end if 
end if 

Я пытаюсь сказать, если вариант 1 выбран в списке 1 дисплей только выбранная задача, однако, если любой другой вариант будет выбран в списке 1 вы должны перейдите к новому блоку кода и выберете опцию в списке 2, если вы отмените в списке 1 и списке 2, которые вы испортили.

Любые идеи о том, чего я здесь не хватает?

ответ

0

используя этот код работал: если selectedTask содержит «1», то

5

{ } в AppleScript создает список, поэтому, когда вы устанавливаете selectedTask, вы помещаете результаты из choose from list в другой список. Когда вы пытаетесь сравнить результат с {"1"}, это на самом деле {{"1"}}, поэтому он не равен.

Использовать круглые скобки ().

+1

я до сих пор не могу получить его, чтобы войти в если блок

 if selectedTask is equal to {{"1"}} then \t \t display dialog selectedTask \t else 
при выборе 1 следует указать, что если блок для выполнения задачи и остановить всякий раз, когда я запускаю его он все еще работает как части оператора if –

+0

Вы исправляете проблему не в том месте. Замените {} в 'set selectedTask, чтобы {выбрать из списка WhatDoUWantToDoList с подсказкой "Теперь выберите свою задачу !!!" без разрешенных разрешений} 'с(). –

0

Выберите из списка всегда будет возвращать массив, так как множественный выбор возможно. Основная идея заключается в том:

set selectedValues to (choose from list {"Value 1", "Value 2"} with prompt "Choose") 
if (selectedValues is not false) then 
    set selectedValue to item 1 of selectedValues 
    display dialog ("You chose " & selectedValue as text) 
else 
    display dialog ("You did not chose!") 
end if 

 Смежные вопросы

  • Нет связанных вопросов^_^