Передача входных данных командной строки в экспортированное приложение/апплет языка обработки?

Я создал приложение для обработки, а затем экспортировал его с помощью приложения файл-> экспорт. Первоначально некоторые параметры были жестко закодированы, чтобы просто заставить его работать. Теперь я хочу предоставить эти (строковые) параметры с помощью командной строки при выполнении экспортированного приложения.

Я пытался найти что-то похожее на язык C или Java, но, похоже, это не сработает.

Я экспортирую свое приложение в Win32, и оно создает папку с именем «application.windows32». Внутри папки есть «myapp.exe», «исходная» папка и папка «lib». Папка «lib» содержит «args.txt» и другие файлы «.jar». Чтобы запустить этот апплет, я дважды щелкаю «myapp.exe», и он запускается. Не могли бы вы сказать мне, какие команды будут использоваться внутри исходного кода обработки для достижения:

myapp.exe arg1 arg2?

Любой пример или предложения?


person tod    schedule 23.12.2013    source источник
comment
Существует ограничение на использование только указанной платформы. Всего наилучшего.   -  person Andrew Thompson    schedule 23.12.2013


Ответы (2)


Каждый скетч Processing является подклассом класса PApplet, который имеет свойство args

Вот очень простой пример:

void setup(){
  if(args != null){
     for(int i = 0; i < args.length; i++) 
        text(args[i],0,10+i*10);
  }
}

Сохраните этот код как эскиз, экспортируйте его, затем запустите исполняемый файл из командной строки и передайте аргументы, чтобы понять, что я имею в виду.

person George Profenza    schedule 24.12.2013
comment
Работает отлично. Да, это то, что спросили. - person tod; 24.12.2013
comment
Я обнаружил, что аргументы теперь могут быть нулевыми, поэтому вам нужно сначала проверить, не является ли он нулевым. - person CMCDragonkai; 19.10.2016
comment
@CMCDragonkai Спасибо, что указали на это! Я обновил свой ответ. - person George Profenza; 19.10.2016

Ищите основной метод... у него такая подпись

public static void main(String[] args) {
  for (String s : args) {
    System.out.println(s);
  }
}

Который (при запуске с предоставленными вами аргументами) будет выводить

arg1
arg2?

Если вы хотите значительно использовать аргументы командной строки, вы можете посмотреть Commons Интерфейс командной строки.

person Elliott Frisch    schedule 23.12.2013