Pull to refresh

Comments 43

Мне с консолью пока не приходилось работать, но на блог ваш подписался и в букмарки добавил)
на хабре еще очень удобно добавлять в избранное, а то букмарки на других компах не доступны как правило :)
я блог в букмарки добавил)
Сам недавно делал тему для installer-а своей системы.
Одна из них была как раз «консольная» :)
Этакое «Ретро Классик» :)
Видать не я один такой сумашедший ;)
Правда я делал на JS
Всмысле? Консольное приложение на JS??
Это сильно… Я тут все пытаюсь заставить JS выполнятся… Просто мне нужно связать DOM (который является класом в PHP) и JS.
Есть сумасшедшая идея делать скрины на чистом PHP =)

Почти удалось уже. Пока что только JS мешает осуществлению мечты. Но простенькие сайтики скринятся нормально…

С формочками (input, textarea, option, etc...) задолбался… Сидел с фотошопом, принтскрином и сафари… =)
Сделал на JS, правда от курсора пришлось отказаться :\, так как пришлось бы фактически писать свой wsywing.

А сделал я инсталлер своей CMS, с «консольной / терминальной» темой :)

Даже с прогресс баром (jquery-ajax) и распаковкой zip архива («убиваем» хостеров у которых включен safe mode :)

Кстати gmail отличился тоже тему «терминала» сделал в почте у себя!!!
Так что сумашедшие мыслят одинаково

а… Тогда понятно =)
Я уж испугался… думал консольный скрипт на JS…

Типа:

user@host$ js install.js

=))
Интерпретаторы языка JS для Linux есть, так что почему нет?
Конечно есть, spidermonkey, к примеру…
Другой вопрос — а не изврат ли??
В чём вы видите изврат?
В написании консольных приложений под Линукс на ЯваСкпипте.
Задам вопрос иначе. Почему это изврат?
UFO just landed and posted this here
Многие хвалят JS за его развитые возможности как языка.
Для работы в консоли ему, насколько я могу судить, не хватает функционала работы с окружением.
А так — тоже ЯП, почему бы и нет.
в Windows JavaScript работает со средой через Windows Script Host, может и под Linux есть что-то похожее?
SpiderMonkey.

Конечно есть. Причем в разы лучше и быстрее работающий пакет.

Просто я к тому, что писать консольное приложение на JS — всеравно как разрабатывать ОС на BrainFuck'e…

Просто у обоих языков отсутствуют еопходимые возможности. Как, например, работа с файлами. Работа с сетью.

Ведь JS сам по себе не умеет ни о ни то.

AJAX?? Это все заслуги браузеров. Сам же интерпритатор этого не делает.
Ну это реализовано за счет использования ActiveX, мне по большому счету безразлично, что используется для доступа к файлам — родные методы или внешняя библиотека
да причем здесь IE — я говорю про использование javascript в рамках операционной системы, а не браузера
> это реализовано за счет использования ActiveX

ActiveX — исключительно IE'шная технология.
Точнее виндовая, просто в IE она используется наиболее широко, видимо в связи с тем, что в IE ее просто использовать. А так ActiveX вполне может работать в любом виндовом приложении, практически все современные языки (и их IDE) позволяют использовать ActiveX при разработке, не трогая IE
Именно так. Но это для убунту и дебиан-подобных.
Хотя ладно, не будем грузить публику.
Отличная тема, порой нужно что-нибудь подсветить в консоле, так копипащу заклинание подсветки прямо в месте вывода, а тут класс подходящий, который упростит.
PHP, кстати, замечательный язык для написания консольных утилит. Может составить конкуренцию для перла и питона.
Мне кажется тут ошибка:
  // Text colors 
  function setStyle($style='default')    { $this->text .= "\033[".$this->style[$style]."m"; return $this; } 
  function setColor($color='default')    { $this->text .= "\033[".$this->color[$style]; return $this; } 
  function setBgColor($color='default')  { $this->text .= "\033[".$this->bgcolor[$style]; return $this; } 


$this->color[$style];
$this->bgcolor[$style];

нужно заменить на:
$this->color[$color];
$this->bgcolor[$color];
Ещё немного и ncurse обгоним :)
Огромное спасибо!
Очень полезный класс.
а где можно найти описание всех этих магических эскейп последовательностей "\033["…?
в моем блоге распишу скоро.
Спасибо за поучительный линк.

Не каждый догадается, что эти последовательности называются vt100 codes, ссылка не радует, даже обижает (
Это история. Это все называется ESC-последовательности и vt100 стал самым масовым терминалом.
public function setSoundLong($milliseconds=500) { echo "'033[11;{$milliseconds}]"; return $this; }

'033 -> \033
beep, setSoundHerz, setSoundLong почему то не работает
не плохо было бы увидеть пример для тестов ;)
Огромное спсибо за поправку.
Сейчас изменю, жто моя ошибка… У меня на ноуте кнопки рядом стоят просто…
Пример сделаю…
Положу в лаборатории, в своем блоге
Раздел лабороторий пока готовится…
Скоро будет работать…
Еще раз спасбо.
$this->text .= вместо echo во всех методах
draw для себя переименовал в output
. «m» забыты в setColor и setBgColor

зачем константы в классе забиты я не смог понять
Константы были определены для меня, а не для компилятора =)
Просто что бы помнить что к чему. Почему не использовал и не убрал? Даже е знаю что ответить…
почему не комментарием? ;)
Так судьба сложилась… =)
Sign up to leave a comment.

Articles