Добро пожаловать к нам в гости! Наш сайт посвящён программе NeoBook, с помощью которой вы легко сможете создавать собственные мультимедиа-приложения без необходимости изучать сложные языки программирования! Зарегистрируйтесь, чтобы стать членом нашего сообщества.
Тут на форуме не раз возникали замечания на тему, что в NeoBook не хватает тех или иных мелких, но иногда полезных функций. Мне думается, что следует попытаться исправить эту ситуацию с помощью плагина, т.к. VB или Java знают далеко не все необукеры, к тому же, на мой взгляд, плагин намного более эффективное средство нежели чем, например, тот же VBS. С учетом последнего вопроса об анимации внешних необушных окон, решил реанимировать свой самый первый плагин, который давно-давно делал.
В архиве (см.прикрепление) находятся две версии плагина (Design и Runtime), подобие справки, и демка.
27.02.2011
Мышь и клавиатура
zmShowMousePointer - Показать/Скрыть указатель мыши. zmSetMouseMonitor - Установить монитор мыши. zmConfigMouseMonitor - Конфигурирование монитора мыши. zmDelMouseMonitor - Удалить монитор мыши. zmKBChangeLayout - Изменить раскладку клавиатуры для текущего активного окна. zmKBGetLayout - Определить раскладку клавиатуры для текущего активного окна.
zmColorBox - Отобразить диалог выбора цвета. zmFontBox - Отобразить диалог выбора шрифта. zmTrayIcon - Создать в системном лотке значок приложения. zmTrayBalloon - Отобразить сообщение в системном лотке. zmDeleteTrayIcon - Удалить значок из системного лотка. zmExitWindows - Завершение работы: выключение компьютера / перезагрузка /завершение сессии.
Окна
zmFindWindow - Найти окно по заголовку и имени класса. zmGetWindowHandle - Получить дескриптор (HWND) окна по заголовку. zmGetWindowTitle - Получить имя класса и/или текст заголовка окна. zmSetWindowTitle - Установить новый текст заголовка окна. zmShowWindow - Скрыть/Показать/Свернуть/Развернуть/Закрыть окно. zmSetWindowPos - Установить положение окна. zmSetWindowTransparent - Установить уровень прозрачности окна (Windows 2000 и выше). zmCancelWindowTransparency - Отменить свойство прозрачности окна и сделать его непрозрачным (W2k и выше). zmIsWindow - Определить состояние окна (видимость, свернуто, развернуто, и т.п.). zmEnableWindow - Сделать активным неактивное окно. zmDisableWindow - Сделать неактивным окно. zmGetWindowRectangle - Получить положение и размер окна. zmGetForegroundWindow - Получить дескриптор (HWND) верхнего окна в системе. zmSetForegroundWindow - Сделать верхним в системе и активизировать указанное (по дескриптору) окно. zmGetExeNameByHandle - Получить имя файла приложения по дескриптору окна. zmGetDesktopRectangle - Получить координаты области рабочего стола, не скрытой панелью задач.
Окна NeoBook
zmSetCustomWindowPos - Установить положение и размеры внешнего окна (CustomWindow) NeoBook . zmShowCustomWindow - Скрыть/Показать/Свернуть/Развернуть/Закрыть внешнее окно NeoBook. zmIsCustomWindow - Определить состояние внешнего окна NeoBook (видимость, свернуто, развернуто, и т.п.). zmEnableCustomWindow - Сделать активным неактивное внешнее окно NeoBook. zmDisableCustomWindow - Сделать неактивным внешнее окно NeoBook. zmSetCustomWindowTransparent - Установить уровень прозрачности внешнего окна NeoBook (W2k и выше). zmCancelCustomWindowTransparency - Отменить свойство прозрачности внешнего окна NeoBook и сделать его непрозрачным (W2k и выше). zmAnimateCustomWindow - Скрыть/Показать с анимационным эффектом внешнее окно (CustomWindow) NeoBook. zmSetCustomWindowMask - Наложить маску на внешнее окно (CustomWindow) NeoBook. zmShowInRectangle - Отобразить внешнее окно (Custom Window) в объекте прямоугольник
Главное окно
zmSetOnMoveSize - Назначить подпрограмму для события перемещения и/или изменения размера главного окна.
Файлы и папки
zmFolderSize - Определить размер в байтах указанного каталога (папки). zmDeleteFolder - Удалить папку (в т.ч. и непустую). zmOpenWithDefault - Открыть файл в программе "по умолчанию". zmCreateLink - Создать ярлык. zmFileGetAtrribute - Получить указанный атрибут файла или папки. zmFileSetAtrribute - Установить/Снять указанный атрибут файлу или папке. zmClearIECache - Очистить временную папку Internet Explorer.
- А вам какую операционку поставить - экспи, семерку или висту? - Это ты сейчас о чем? - Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный? - Ну, конечно, надежный! - Вот, значит - экспи, без вопросов! Сейчас сделаем...
(Улицы разбитых фонарей, сезон 10, серия 17)
Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!
При модном втюхе модоподдающимся начинает нравиться
Смайлик это не насмешка, а улыбка. Улыбка от того, чт я не знаю как доолжно быть правильно.
Quote (mishem)
Сталкнулся с такой вот проблемкой, не проблемкой.
хорошо, я больше не буду их вставлять.
Quote (Peter)
Выклыдываю что-то новое специально для тестирования, реакции - ноль!
Тестирую по мере возможности, если что то вижу, задаю вопрос. Посидеть просто по кнопкам потыкать, нестыовок не найдешь, как раз нужны фантазии и ситуации.
Quote (Peter)
И вообще, я не могу в одиночку и полностью (во всех фантазиях и ситуациях) протестить функции плагина
Улыбка от того, чт я не знаю как доолжно быть правильно
Смайликии существуют для того, чтобы "досказывать" какую-либо фразу, или подчеркнуть свое отношение к сказанному. Обычно в таких случаях (незнание) другой смайлик ставится, например, вот такой: А это: означает, как минимум, улыбку, если не больше! Вот потому-то я и спросил (и без всяких претензий):
Quote (Peter)
Очень весело, что ли?
Вполне естесственный вопрос, тем более, что эту "улыбку" я видел практически постоянно. Когда обнаруживается какой-то косяк, то не улыбаться, а грустить надо.
Quote (mishem)
настроение испортил.
Пардон, не предполагал такую тонкую душевную организацию! Хотя, по идее, настроение должно было портиться у меня.
Quote (mishem)
А я что, разве с притензиями обратился?
А я и не говорил про претензии, но я действительно не могу в одиночку тестировать плагин, потому и прошу специально - потестируйте! Чем быстрее будут обнаружены ошибки, тем лучше! И в данном случае могу сказать только спасибо за указание на косяк, а это действительно был мой косяк по недосмотру!
В общем, плагин поправлен, и находится в первом сообщении темы! Теперь плагин обрабатывает правильно "составные" координаты окон. Но, все-равно, просьба потестить!
Добавлено (09 Ноябрь 2010, 19:32) ---------------------------------------------
Quote (Alex3A)
CRC32 может работать множеством способов
Речь шла не о CRC32. Оная считается правильно.
Quote (Alex3A)
Не порь ль послать всякие CRC нахутор бабочек ловить
Можно, но иногда (теоретически) может и пригодиться. - А вам какую операционку поставить - экспи, семерку или висту? - Это ты сейчас о чем? - Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный? - Ну, конечно, надежный! - Вот, значит - экспи, без вопросов! Сейчас сделаем...
(Улицы разбитых фонарей, сезон 10, серия 17)
Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!
При модном втюхе модоподдающимся начинает нравиться
Peter, разбираясь с командой zmFindFiles, задался вопросом - в чем отличие режимов поиска "в отдельном потоке" и "в главном потоке приложения"? Когда или для каких целей нужно пользоваться первым, либо вторым?
Режим поиска - определяет производить или нет поиск в подкаталогах, начинаная со стартовой папки (SubFolders), а также производить поиск в отдельном потоке (Asinc) или в главном потоке приложения.
Например:
Asinc - поиск в отдельном потоке.
SubFolders - искать во вложенных папках.
Asinc+SubFolders - искать в отдельном потоке с учетом подпапок.
да то же самое что и в других командах... в отдельном потоке" - означает поиск файлов как "отдельный процесс", будет протекать параллельно дальнейшей работе. в главном потоке приложения - придется подождать окончания работы команды поиска для дальнейшей работы. Как задавать вопросы
DEMBEL, спасибо! Как всё просто оказалось! Но ведь это же потрясающе! Peter, вот у меня сразу возникла "шальная" мысль, а возможно ли в плагине сделать команду "Выполнить в отдельном потоке"? Чтобы в нее, как в "оболочку" можно было поместить любые другие команды плагина или самой NeoBook? Если это возможно, то это позволило бы создавать на NB приложения с параллельными потоками... Например (пофантазирую): zmInParallelFlow "[тут имя выполняемой в отдельном потоке подпрограммы]" Бесплатный онлайн курс программирования в VisualNEO Win (NeoBook)
возникла "шальная" мысль, а возможно ли в плагине сделать команду "Выполнить в отдельном потоке"
Боюсь, что это невозможно. В том-то и состоит одна из убогостей скриптовых языков (например, РНР), что многопоточность в них отсутствует в принципе! Интерпретатор-то один. А он работает "построчно". "Мастера РНР", конечно, всячески изголяются имитируя многопоточность, но это - всего-лишь имитация. Плагином можно ЗАПУСТИТЬ ИЗ ОТДЕЛНОГО ПОТОКА необушную подпрограмму (или даже целиком скрипт), но выполнять-то их будет уже не плагин, а - интерпретатор. Кроме того, "отдельные потоки" нельзя пускать "на самотек", и в большинстве случаев их работа должна быть синхронизирована с главным потоком приложения, и эта синхронизация должна выполняться изнутри кода, выполняемого в отдельном потоке.
Конечно, интресно было бы посмотреть как необушный интерпретатор отнесется к попыткам запуска скриптов из отдельного потока (именно - запуска, а не выполнения), но, думаю, что ничего толкового из этого не получится. Хотя... Кто знает... Если даже и сработает, то будет "обезьяна с гранатой".
Кстати, частично многопточность уже реализована в NeoBook (например, команда MoveObjectAlongPath ), но эта многопоточность обеспечивается кодом Delphi "внутри интерпретатора", а не им самим.
- А вам какую операционку поставить - экспи, семерку или висту? - Это ты сейчас о чем? - Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный? - Ну, конечно, надежный! - Вот, значит - экспи, без вопросов! Сейчас сделаем...
(Улицы разбитых фонарей, сезон 10, серия 17)
Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!
При модном втюхе модоподдающимся начинает нравиться
А раскладку клавиатуры забыл в плагин добавить, или не захотел?
Руки пока не дошли, просто. - А вам какую операционку поставить - экспи, семерку или висту? - Это ты сейчас о чем? - Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный? - Ну, конечно, надежный! - Вот, значит - экспи, без вопросов! Сейчас сделаем...
(Улицы разбитых фонарей, сезон 10, серия 17)
Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!
При модном втюхе модоподдающимся начинает нравиться
интресно было бы посмотреть как необушный интерпретатор отнесется к попыткам запуска скриптов из отдельного потока
Еще бы! А возможно ли (немного фантазируя) благодаря слежке за буфером обмена синхронизировать потоки? Ведь есть уже команда отслеживания изменений в буфере, на нее можно повесить проверку наличия определенной информации. Скажем, один скрипт отработал и с помощью цикла ждет появление в буфере определенной переменной (в это время другой скрипт работает, и одним из его результатов будет значение данной переменной). Представим, что ищущий скрипт нашел что искал, и, таким образом, завершившись, передал исполнение следующей подпрограмме, вызвав ее... (?)
Кто знает, может быть NB снова удивит своих разработчиков!
один скрипт отработал и с помощью цикла ждет появление в буфере определенной переменной
А зачем цикл? Монитор буфера обмена имеет подпрограмму, которая выполняется каждый раз при изменении содержимого буфера, вот на неё можно (и нужно) повесить это "отслеживание определенной переменной". Собственно, именно для этого и существует подпрограмма "на событие" для монитора буфера.
Quote (Вадим)
передал исполнение следующей подпрограмме
Так в чем проблема? Передавай со спокойной совестью из подпрограммы монитора исполнение следующей подпрограмме, а монитор будет дальше следить. Никакие параллельные потоки здесь не требуются. - А вам какую операционку поставить - экспи, семерку или висту? - Это ты сейчас о чем? - Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный? - Ну, конечно, надежный! - Вот, значит - экспи, без вопросов! Сейчас сделаем...
(Улицы разбитых фонарей, сезон 10, серия 17)
Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!
При модном втюхе модоподдающимся начинает нравиться
В принципе, да. Для описанной логики слежения за буфером уже всё есть (собственно для того команда и существует). Я просто пытался сочинить способ создания именно параллельных потоков :). Но для такого фантазирования квалификации не хватает, поэтому остановлюсь .
До конца можно не читать, пары первых абзацев достаточно....
- А вам какую операционку поставить - экспи, семерку или висту? - Это ты сейчас о чем? - Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный? - Ну, конечно, надежный! - Вот, значит - экспи, без вопросов! Сейчас сделаем...
(Улицы разбитых фонарей, сезон 10, серия 17)
Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!
При модном втюхе модоподдающимся начинает нравиться
Вот потому-то я и просил протестить команду поиска файлов.
Но... "... в ответ - тишина, Он вчера не вернулся из боя..."
- А вам какую операционку поставить - экспи, семерку или висту? - Это ты сейчас о чем? - Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный? - Ну, конечно, надежный! - Вот, значит - экспи, без вопросов! Сейчас сделаем...
(Улицы разбитых фонарей, сезон 10, серия 17)
Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!
При модном втюхе модоподдающимся начинает нравиться
Дык, вроде бы всё работало. Сейчас протестил на разных папках. Не зря ты говорил потестить. Результаты поиска винды и плагина не совпали. Странно, что я не заметил этого раньше. Оказалось, что плагин по маске *.doc подсчитывает и файлы *.docx Результаты счета не зависят от "галки" - Асинхронно. Видимо нужно и с другими расширениями проверить, чтобы при поиске файлов маска имени файла понималась буквально. Бесплатный онлайн курс программирования в VisualNEO Win (NeoBook)
Сообщение отредактировано Вадим - Пт, 12 Ноября 2010, 01:38
Оказалось, что плагин по маске *.doc подсчитывает и файлы *.docx
Да, есть такое дело...
Quote (Вадим)
Результаты счета не зависят от "галки" - Асинхронно.
А они и не должны зависеть от этой "галки".
Quote (DEMBEL)
такой прикол и в необуке присутствует, насколько я помню, да?
Да, тоже присутствует.
Не знаю как там организован поиск в самой NeoBook и в винде, но плагин использует стандартные функции WinAPI непосредственно поиска файлов, и потому странно, что результаты поисков отличаются. Я понимаю, если бы использовались функции Delphi, но winapi, и результаты разные....
Попробую разобраться. Может дэлфийские функции применить...
А хотя, хрен с ними, этими *.docx! У меня на компе их нет и не будет, а все остальное ищется вполне исправно.
- А вам какую операционку поставить - экспи, семерку или висту? - Это ты сейчас о чем? - Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный? - Ну, конечно, надежный! - Вот, значит - экспи, без вопросов! Сейчас сделаем...
(Улицы разбитых фонарей, сезон 10, серия 17)
Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!
При модном втюхе модоподдающимся начинает нравиться
Может в поиск по маске добавить контроль числа символов расширения файла в его маске? "doc" - это три символа, а "docx" - уже четыре...
Quote (Peter)
Да, тоже присутствует.
Извиняюсь за наивный вопрос. Peter, ты, случаем, не в курсе - разработчики знают об этом?
Добавлено (13 Ноябрь 2010, 16:41) --------------------------------------------- Peter, вопрос по предустановкам шрифта.
Имеем объект "Надпись" с текстом внутри. Созданные тобой предустановки позволяют сразу задать нужные параметры шрифта в окне выбора свойств шрифта (благодаря этому пользователю не нужно заново выставлять те параметры, которые и так заложены при создании объекта).
Предположим далее, что мы изменили какие-то параметры шрифта, но результат нас не устроил и мы снова открываем настройки шрифта. В этот, второй, раз окно определения свойств шрифта имеет те предустановки, которые мы заложили для первого открытия, т.е. сделанные нами изменения не меняют предустановок (в соответствии с наличным состоянием объекта), как, по идее, должно быть.
Эту трудность можно было бы решить, если бы команда GetObjectInfo позволяла получать такую информацию как цвет, имя, размер, стиль, чарсет шрифта, но она этого не может. А если бы могла, то, получив информацию, можно было бы через переменные изменить предустановки свойств шрифта. Отсюда и нескромный вопрос.
Возможно ли создать команду zmGetTextObjectInfo? Для следующего:
Да, верна поговорка, что аппетит приходит во время еды!...
В необушном SDK отсутствуют средства доступа к свойствам объектов проекта. В общем случае, шрифт "чужого" объекта можно попробовать получить (теоретически) через "контекст устройства". Правда, я не пробовал пока и не знаю сработает ли это с необушными объектами. К тому же, стандартные атрибуты шрифта получить можно, но вот цвет... Пока непонятно...
Возникают два соображения: 1. Насколько вообще в реальности нужна эта информация? И нужна ли? 2. Создание опции вывода этой информации об объекте (как его свойство) логичнее всего поручить самим разработчикам NeoBook, т.к. им это сделать раз плюнуть.
Тем более, Вадим, если не ошибаюсь, то ты уже наладил активную переписку с ними,
Quote (Вадим)
Эту трудность
Несколько раз перечитал, но так и не понял в чем, собственно, "трудность"?
Quote (Вадим)
ты, случаем, не в курсе - разработчики знают об этом?
Меня даже на оффорум-то не впустили, а ты спрашиваешь...
Мне бы с поиском файлов разобраться... Завал на работе в последнюю неделю. Пипец!...
- А вам какую операционку поставить - экспи, семерку или висту? - Это ты сейчас о чем? - Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный? - Ну, конечно, надежный! - Вот, значит - экспи, без вопросов! Сейчас сделаем...
(Улицы разбитых фонарей, сезон 10, серия 17)
Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!
При модном втюхе модоподдающимся начинает нравиться
верна поговорка, что аппетит приходит во время еды!
А то!
Quote (Peter)
Насколько вообще в реальности нужна эта информация? И нужна ли?
Quote (Peter)
в чем, собственно, "трудность"?
Ну вот представим, что нужно изменить вид текста, открываем окно свойств шрифта (через команду плагина, ессно), меняем, например, цвет, смотрим на результат и решаем, что надо сделать цвет потемнее, следовательно, снова отрываем свойства шрифта, а там в свойствах выбран не тот цвет, что мы только что выбирали, а тот, что был предустановлен по умолчанию шагом ранее. В результате отталкиваться от текущих (произведенных нами же) настроек мы не можем, всегда приходится начинать с самого начала, с самого первого шага... Получается у пользователя нет возможности довести вид шрифта до требуемого состояния, корректируя только нужный параметр, приходится все редактируемые параметры шрифта выставлять всякий раз заново.
Quote (Peter)
логичнее всего поручить самим разработчикам NeoBook
Жаль, что нет доступа к этим свойствам объекта. Ок, напишу разработчикам, а то полноценно редактировать текстовые объекты не возможно без возможности получать их состояние.
Quote (DEMBEL)
расслабься. офигеешь.
DEMBEL, спасибо! Давно ничего подобного не слышал... Уносит на раз! Когда встречаются мастерство и вдохновение - рождается настоящее искусство...
а там в свойствах выбран не тот цвет, что мы только что выбирали, а тот, что был предустановлен по умолчанию шагом ранее. В результате отталкиваться от текущих (произведенных нами же) настроек мы не можем
Отчего же? В этом случае можно просто не указывать имя шрифта, и тогда в диалог будет автоматически подставлен последний выбранный шрифт. Это отмечено в "подобии справки", между прочим. Или - кто мешает подставлять в предустановки (в виде переменных) только-что полученные значения?
Quote (Вадим)
Получается у пользователя нет возможности довести вид шрифта до требуемого состояния, корректируя только нужный параметр, приходится все редактируемые параметры шрифта выставлять всякий раз заново.
А это уже зависит от того как ты САМ организуешь эту "доводку". Например, промежуточные результаты (если потребуется) можно хранить в "буферных" переменных.
Quote (Вадим)
редактировать текстовые объекты не возможно без возможности получать их состояние.
ВОЗМОЖНО, и вполне успешно! Все необходимые условия имеются.
Только все же так никак и не могу понять - чем тут может помочь именно GetTextObjectInfo?
- А вам какую операционку поставить - экспи, семерку или висту? - Это ты сейчас о чем? - Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный? - Ну, конечно, надежный! - Вот, значит - экспи, без вопросов! Сейчас сделаем...
(Улицы разбитых фонарей, сезон 10, серия 17)
Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!
При модном втюхе модоподдающимся начинает нравиться
В этом случае можно просто не указывать имя шрифта, и тогда в диалог будет автоматически подставлен последний выбранный шрифт. Это отмечено в "подобии справки", между прочим.
Да, действительно! Читал, да забыл. Смотрим в книгу, видим...
Quote (Peter)
можно хранить в "буферных" переменных
И это верно, что-то я разбаловался совсем . Попробую эту логику реализовать, спасибо за мысль!
Quote (Peter)
так никак и не могу понять - чем тут может помочь именно GetTextObjectInfo?
Да просто проще было бы. Когда куча текстовых объектов, не пришлось бы запоминать параметры каждого из них. Прежде чем открыть окно свойств шрифта можно было бы просто прочитать какое форматирование уже есть у данного объекта и его же подставить в качестве предустановок (как выше я и написал в примере кода из трех строчек). Бесплатный онлайн курс программирования в VisualNEO Win (NeoBook)
Да оно понятно, что так проще, но... Подобная фича (изменение шрифтов объектов) очень специфична и нужна раз в сто лет в обед. С другой же стороны - команда изменения шрифтов есть, а диалога выбора - нет. Неувязочка наблюдается.
Quote (Вадим)
Ок, напишу разработчикам
Во-во! И не забудь намекнуть, что неплохо бы и штатные диалоги выбора шрифта и цвета реализовать. А то в ММВ есть, а в NB до сих пор нет.
Quote (Вадим)
как выше я и написал в примере кода из трех строчек)
Гм... Это ЧТО такое? Это КАКИМ шрифтом? Ты сам читать пробовал?
Добавлено (16 Ноябрь 2010, 23:40) ---------------------------------------------
Quote (Вадим)
Оказалось, что плагин по маске *.doc подсчитывает и файлы *.docx
Немного модернизировал функцию поиска файлов - теперь упомянутый косяк не должен появляться. Убедительная просьба (ЕЩЁ РАЗ) потестить команду поиска файлов! Если кому интересно (и нужно), конечно.
Алгоритм поиска ещё не отработан, и в зависимости от стабильности работы имеющегося варианта, будет идти вся дальнейшая разработка механизма поиска файлов. Или команда так и заглохнет в имеющемся виде (с небольшим дополнением).
Последняя версия плагина - в первом сообщении темы.
- А вам какую операционку поставить - экспи, семерку или висту? - Это ты сейчас о чем? - Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный? - Ну, конечно, надежный! - Вот, значит - экспи, без вопросов! Сейчас сделаем...
(Улицы разбитых фонарей, сезон 10, серия 17)
Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!
При модном втюхе модоподдающимся начинает нравиться
а дак плагин был какой-то, NeoTreeView или как-то так, да и в плагах с сайта в соседней теме Fileutils дерево какоето есть. Ты пошарь получше, вдруг уже готовое найдешь. Как задавать вопросы