Модераторы: korob2001, ginnie

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Запуск программ через ActiveState, Окно выполнения программы закрывается 
V
    Опции темы
MDM
Дата 8.4.2008, 08:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 264
Регистрация: 16.3.2007
Где: г. Нальчик

Репутация: нет
Всего: 4



Вот оно решение!
Ура!
Спасибо nitr!...

p. s. Мог бы ставить плюсики, то поставил бы!... Очень классное, и стандартное решение! )))

И FIX'ы тоже хорошие... Это как вариант для других!

Спасибо всем,... я закрываю вопрос!
PM ICQ Skype   Вверх
shamber
Дата 8.4.2008, 09:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1422
Регистрация: 5.9.2006
Где: Россия

Репутация: 17
Всего: 18



nitr, вчера только хотел, найти как подобное сделать smile да времени не хватило smile
PM MAIL Jabber   Вверх
nitr
Дата 8.4.2008, 23:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2543
Регистрация: 10.2.2006
Где: Россия :)

Репутация: 37
Всего: 84



MDM, shamber, считаю что есть ещё способы, только я пошёл "простым путём" smile


--------------------
PM   Вверх
shamber
Дата 9.4.2008, 09:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1422
Регистрация: 5.9.2006
Где: Россия

Репутация: 17
Всего: 18



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

use File::Copy;
my $path = $ARGV[0]||'.';
opendir (my $dir, $path);
foreach (readdir $dir){
    if (-f $path.'/'.$_){
        next if($_ eq '.');
        next if($_ eq '..');
        next if($_ !~ /\.xml$/i);
        LoadXML($path.'/'.$_);
    } 
}

так вот при таком способе он не находит файлы в папке. smile а если просто через perl.exe, то все отрабатывает на ура.
PM MAIL Jabber   Вверх
MDM
  Дата 9.4.2008, 09:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 264
Регистрация: 16.3.2007
Где: г. Нальчик

Репутация: нет
Всего: 4



Цитата(nitr @  8.4.2008,  23:33 Найти цитируемый пост)
MDM, shamber, считаю что есть ещё способы, только я пошёл "простым путём"  

Простым путем, о котором мало кто, оказывается, знал! )))

Способы есть, но лично для меня этот подходит идиально!

Ну если развивать тему, то было бы вообще класс, если бы сообщение "для продолжения нажмите любую клавишу..." переводилось бы на новую строку! )))

А то получается в конце это системное сообщение, и тескт программы сливаются. Т. е., если расматривать пример 
print "Hello World!";
то получается так:
Hello World!Для продолжения нажмите любую клавишу...

Это сообщение отредактировал(а) MDM - 9.4.2008, 09:37
PM ICQ Skype   Вверх
MDM
Дата 9.4.2008, 09:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 264
Регистрация: 16.3.2007
Где: г. Нальчик

Репутация: нет
Всего: 4



Хотя всегда ставить в конце сообщения "\n" - хороший стиль программирования!
PM ICQ Skype   Вверх
shamber
Дата 9.4.2008, 10:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1422
Регистрация: 5.9.2006
Где: Россия

Репутация: 17
Всего: 18



добавьте перед pause 
Код

echo .


Это сообщение отредактировал(а) shamber - 9.4.2008, 10:01
PM MAIL Jabber   Вверх
amg
Дата 9.4.2008, 16:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1145
Регистрация: 3.8.2006
Где: Новосибирск

Репутация: 38
Всего: 50



Цитата(shamber @  9.4.2008,  09:22 Найти цитируемый пост)
nitr, кстати. вчера побаловался таким способом. и выявил следующий баг.
shamber, попробуй, пожалуйста, еще такой способ (он похож на предложенный nirt'ом, но без дополнительного батника, мне интересно, как он будет работать):
My Computer | меню Tools | Folder Options... | вкладка File Types | выбрать PL | Advanced | Edit ... | программа cmd.exe /k "C:\Perl\bin\perl.exe %1" | OK | OK


Это сообщение отредактировал(а) amg - 9.4.2008, 16:09
PM MAIL   Вверх
nitr
Дата 10.4.2008, 01:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2543
Регистрация: 10.2.2006
Где: Россия :)

Репутация: 37
Всего: 84



amg, не будет, я изначально так пробовал ( cmd /? ) - такой способ выводит невнятные ошибки.
Чтобы написать более менее верно, надо разобраться в "этом пункте Windows" smile

shamber, да... похоже батник надо исправить, спасибо.
Код
@echo off
@perl %2 %*
@pause


Добавлено через 56 секунд
До этого было понятно в чем проблема... смотрите @ARGV и cmd /? smile


--------------------
PM   Вверх
shamber
Дата 10.4.2008, 08:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1422
Регистрация: 5.9.2006
Где: Россия

Репутация: 17
Всего: 18



nitr, 
вариант предложенный amg, отработал нормально. пока ошибок не выявил.

З.Ы. этот вариант мне нравиться больше smile

Это сообщение отредактировал(а) shamber - 10.4.2008, 08:43
PM MAIL Jabber   Вверх
amg
Дата 10.4.2008, 09:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1145
Регистрация: 3.8.2006
Где: Новосибирск

Репутация: 38
Всего: 50



Цитата(shamber @  10.4.2008,  08:41 Найти цитируемый пост)
З.Ы. этот вариант мне нравиться больше
Он нехорош в том, что, наверное, параметры скрипту не передать (встроить туда %* у меня не получилось - windows я знаю плохо). Т.е. Start | Run | scriplt.pl file работать не будет, скорее всего.

PM MAIL   Вверх
nitr
Дата 10.4.2008, 11:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2543
Регистрация: 10.2.2006
Где: Россия :)

Репутация: 37
Всего: 84



Код

@echo off
@perl "%1" "%*"
@perl -e "print \"\nPress 'Enter' for continue...\"; <>"

smile


shamber, интересно, чем твой WindowsXP отличается от моего smile ?
Выводит или "Отказано в доступе", или "Синтаксическая ошибка в имени файла, имени папки или метке тома."
запускаю просто C:\1.pl .


--------------------
PM   Вверх
shamber
Дата 10.4.2008, 11:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1422
Регистрация: 5.9.2006
Где: Россия

Репутация: 17
Всего: 18



nitr, даже не знаю. 
 smile 

сначала я просто добавлял пункт в контекстное меню для расширения *.pl Думал может из-за этого, но только что заменил пункт open, ноэто не повлияло.

Специально русские буквы в названии папок делал. и все равно работает. smile
 просто smile voodoo smile

Добавлено @ 11:55
да.... темка оказалась интереснее чем казалась smile

Добавлено @ 12:01
amg, добавил к вашему  %*
Код

cmd.exe /k "C:\Perl\bin\perl.exe %1"

в итоге
Код

cmd.exe /k "C:\Perl\bin\perl.exe %1 %*"

и варианты Start | Run | scriplt.pl file
Код

print $ARGV[0];

выдает file

Может я чего не правильно понял?


Это сообщение отредактировал(а) shamber - 10.4.2008, 12:01
PM MAIL Jabber   Вверх
amg
Дата 10.4.2008, 12:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1145
Регистрация: 3.8.2006
Где: Новосибирск

Репутация: 38
Всего: 50



Цитата(shamber @  10.4.2008,  11:50 Найти цитируемый пост)
Может я чего не правильно понял?
Да нет, все правильно. И у меня тоже этот вариант работает. И как я умудрился его сам не попробовать? 

Спасибо! smile 

PM MAIL   Вверх
nitr
Дата 10.4.2008, 20:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2543
Регистрация: 10.2.2006
Где: Россия :)

Репутация: 37
Всего: 84



amg, shamber, ребята дайте скрины чтоли smile
У меня видна с "нуля" есть (виртуальная машина) - не сработало smile
Windows XP, Perl 5.10


--------------------
PM   Вверх
Страницы: (3) Все 1 [2] 3 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Perl"
korob2001
sharq
  • В этом разделе обсуждаются общие вопросы по языку Perl
  • Если ваш вопрос относится к системному программированию, задавайте его здесь
  • Если ваш вопрос относится к CGI программированию, задавайте его здесь
  • Интерпретатор Perl можно скачать здесь ActiveState, O'REILLY, The source for Perl
  • Справочное руководство "Установка perl-модулей", можно скачать здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Perl: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0801 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.