Добро пожаловать к нам в гости! Наш сайт посвящён программе 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, чтобы дебилы по иконкам не промахивались!
При модном втюхе модоподдающимся начинает нравиться
И, заранее извиняюсь за вопрос... как интерпретировать это?
Минимально выеляемы размер под файл определяется размером кластера, кластер это единица минимально квантуемого размера на диске, диск разбит на сектора и дорожки, самый малый участок это дорожка на одном секторе. Так как диск имеет не одну поверхность (верх, низ, и мож состоять из нескольких дисков), елементарный размер трека 512 байт, все треки в одном секторе(на всехповерхностях), называется кластером. Под файл отводится кластер, при его заполнении выделяется следующий, и так далее. По этому файл размером в 1 байт на диске будет занимать размер кластера. Обижаться на такое не следует, это есть компромис между размером кластера и размером справочника. Справочник содержит только номер первого кластера файла, в его конце, указывается следующий кластер файла. Все атрибуты находятся в справочнике. А вот архив, содержит только данные файла и инфу о нем, пустого места,как в кластере, он не держит.
Так вроде как выше говорилось, что архив - тоже файл, следовательно, если он меньше 512 байт, то должен иметь свободное место... ?
Правильно, но свое пустое место, и не если меньше, а если не кратно, и не 512 -это размер трека, а кластера-суммы треков на всех повехностях одного сегмента. У тебя на диске 4096\512=8 итого, 4 пластины, ну это конечно только виртуально, логическая организация файл размером 4097 байт на диске будет иметь 8192, так как займет еще один кластер. Потом, кластеры файла не обязательно идут подряд, где вздумается винде, там и запишется отсюда и дефрагментация. Ну "вздумается", это так обобщение, шобыневтиратьтебевголову всякаганенужнагамусару. Я имел ввиду что архив не содержит пустого пространства из кластеров файлов в него входящих. Поэтому, для переноски кучи файлов удобно засовывать их в архив, даже без сжатия.
Добавлено (06 Июль 2010, 03:20) --------------------------------------------- Размер кластера выбирается в зависимости от размера диска, на своих нашел 16384 8192 4096 1024 байтафф \ кластер
Нацарапал в плагине команду zmFileGetAtrrbute по чтению некоторых атрибутов файла (пока без даты и времени)
Я не удержался от очередного предложения в эту тему . Но, учитывая, что Петр итак вроде как собирался это сделать, хочу это намерение поддержать! Петр, в плане атрибутов файла было бы все таки замечательно иметь возможность узнавать дату/время создания файла и дату/время его последнего изменения. Эта штука будет оченна полезной, например при проверке свойств файла на его валидность, например - при реализации триальности программы или защиты каких-то параметров, прописанных в файлах настроек (чтобы файл не могли так просто подменить), для защиты самого исполняемого файла (от непрофессионального, конечно же, хакинга)... Очень простые можно делать алгоритмы, с такими то командами! Alex3A, как считаете? Бесплатный онлайн курс программирования в VisualNEO Win (NeoBook)
А это вообще, страшная сила!!! Власть над временем . Так любой школьник может в исходнике любой проги переписать атрибуты и заявить, что он Photoshop создал еще до своего рождения ...
Добавлено (08 Июль 2010, 23:44) ---------------------------------------------
Quote (Alex3A)
Лучший метод проверки целостности файла это его контрольная сумма.
У меня где то "валяется" такая прожка, которая может менять
Если Петр решит в плагин добавить еще и изменение атрибутов, то можно будет делать это одной командой! А вот интересно, существуют ли какие-то надежные способы идентификации времени создания и последнего изменения файла? Если эти атрибуты можно с легкостью поменять... Ужас какой...
Добавлено (09 Июль 2010, 00:09) --------------------------------------------- А в хеш файла включаются данные о его атрибутах, о времени создания/изменения, например?
А в хеш файла включаются данные о его атрибутах, о времени создания/изменения, например?
Там просто складывается, определенным образом, содержимое файла, атрибуты не являются его частью, файл это книга на полке, а атрибуты это карточка в библиотечном каталоге.
Жаль... Тогда, выходит, что хеш не является лучшим способом проверки целостности файла, ведь время создания документа может быть ключевой его частью (в суде, например, как дата договора, дата почтового извещения и пр.). Бесплатный онлайн курс программирования в VisualNEO Win (NeoBook)
Жаль... Тогда, выходит, что хеш не является лучшим способом проверки целостности файла,
А бшибаемся это есть лучший! Дата, прочия, у нормальных людефф находится в файле! Привязывать чего то к атрибутам нэхорошо! Любая пересылка файла, в открытом виде, сметет все атрибуты нафф.
Файл получается не как книга, у которой карточка в каталоге, а, скорее, как книга у которой обложка вместе с выходными данными - в каталоге, а на полке в хранилище лежит сам книжный блок, начиная со страницы оглавления... Бесплатный онлайн курс программирования в VisualNEO Win (NeoBook)
Жаль... Тогда, выходит, что хеш не является лучшим способом проверки целостности файла
проверяй md5, по моемому лучшая проверка на целосность Я натыкался на прогу, в которой параметры для работы записаны в файл. Я хотел подправить под себя кое что, но любое изменение файла влечет отказ проги работать, хоть если поставить пробел, тоже не запускается. Потом в хелпе прочитал, что файл проверяется(мд5)
Сообщение отредактировано Сергей - Пт, 09 Июля 2010, 00:47
Любая пересылка файла, в открытом виде, сметет все атрибуты нафф.
Получается, что атрибуты файла, это не столько его атрибуты (неотъемлемые свойства, выражающие сущность), а некая временная форма бытия (хранения). Т.е. атрибуты указывают не на особенности файла, а на особенности его состояния. Так? Бесплатный онлайн курс программирования в VisualNEO Win (NeoBook)
Вадим, Вы б с этой темы лучше в Безопасность программ сделанных на NB перешли, ближе будет к теме А то Дембель уже подчищал ее. Захочешь что то найти......
Если покатит, то можно будет добавить и изменение атрибутов.
Покатит! Уже 1.5 недели на 6 тачках катит Петр, у тебя как со временем?! добавить бы изминения атрр. хотябы изменять ReadOnly, Hidden и System, а то чтоб записать в файл, я пока использую батник для снятия атрр. в плаге на много удобнее
Сообщение отредактировано Сергей - Пт, 09 Июля 2010, 09:07
Вот альтернативу нашел батнику, в примере поробывал реализовать, но вот с атрриб. System какая то лажа всегда получается ----------------------------------- вот сам екзешник(710кб.)у кого нет НБ, а посмотреть хотца -----------------------------------
Можно ли добавить к команде zmClipboardMonitor параметр "всё/только текст"?
Можно, только сделать это надо несколько иначе. Я подумаю как лучше...
Quote (Вадим)
но рисунок перетащить из буфера в файл не позволяет...
Вопрос в том, ЧТО именно находится в буфере, например, файл рисунка или изображение? Это не одно и то же. Но, в любом случае, напрямую в проект NB рисунок (изображение) из буфера обмена не впихнуть, и понадобиться "промежуточный" этап в виде копирования в файл на диск, а уже из него в необушный объект "рисунок". Возможен и иной вариант: сделать в плагине аналог штатного "рисунка", и уже в него копировать изображение из буфера. Но тут уже нужно делать специализированный плагин по работе с изображениями. Превращать существующий плагин в "солянку" нет резона. В этом плагине если и делать, то что-то "в духе" вывода в специальную переменную типа содержащихся в буфере данных. Не более...
Quote (Сергей)
добавить бы изминения атрр. хотябы изменять ReadOnly, Hidden и System,
В принципе, это несложно. На выходных попробую. Может и с "буфером" что придумаю...
У нас в Питере жара нестерпимая сейчас стоит, и влажность! Делать чего-либо нет никаких сил!
- А вам какую операционку поставить - экспи, семерку или висту? - Это ты сейчас о чем? - Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный? - Ну, конечно, надежный! - Вот, значит - экспи, без вопросов! Сейчас сделаем...
(Улицы разбитых фонарей, сезон 10, серия 17)
Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!
При модном втюхе модоподдающимся начинает нравиться
ЧТО именно находится в буфере, например, файл рисунка или изображение?
Я сделал маленькую программулину, на основе команды zmClipboardMonitor твоего плагина, и хотелось бы там иметь возможность выбирать - "копировать всё" (читай - всё, что выделено, т.е. с рисунками, таблицами...) или "копировать только текст". Хотелось сделать доступным "копирование в буфер/вставку из буфера" так, как позволяет это, скажем, взаимодействие браузера с Word`ом - если скопировать какую-то часть страницы с некоторого сайта, а потом вставить из буфера в Word, то вставляется и текст, и рисунки, и таблицы... Иногда криво, но вставляются. А иногда нужно, чтобы копировался только текст. Поэтому существующий вид команды - это не недостаток, а преимущество. И реализация здесь через промежуточный файл - вполне допустимый вариант. Я все равно коплю сначала в файл RTF, а потом уже даю пользователю возможность всё разом (или по частям) вставить в свой документ. Бесплатный онлайн курс программирования в VisualNEO Win (NeoBook)
Сообщение отредактировано Вадим - Сб, 10 Июля 2010, 03:10
zmClipboardMonitor твоего плагина, и хотелось бы там иметь возможность выбирать - "копировать всё"
Плагин не копирует, а только сигнализирует о том, что содержимое буфера изменилось, а "копирует" (текстовые данные) уже сама NB. Главный вопрос, и задача: ЧТО и КУДА копировать.
Quote (Вадим)
И реализация здесь через промежуточный файл - вполне допустимый вариант.
Это уже задача для отдельного, специализированного, плагина. Впрочем, чтобы скопировать картинку в файл, больших затрат не требуется... - А вам какую операционку поставить - экспи, семерку или висту? - Это ты сейчас о чем? - Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный? - Ну, конечно, надежный! - Вот, значит - экспи, без вопросов! Сейчас сделаем...
(Улицы разбитых фонарей, сезон 10, серия 17)
Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!
При модном втюхе модоподдающимся начинает нравиться
Это уже задача для отдельного, специализированного, плагина.
Это не к спеху. С атрибутами, наверное, более актуальная задача - Сергей уже давно о них вспоминает. Просто как-то странно, что штатная глобальная переменная [Clipboard] работает только с текстом... Какое-то, прямо скажем, несправедливое самоограничение! Ведь такая шикарная возможность - полноценно работать с буфером обмена!
Добавлено (11 Июль 2010, 03:11) --------------------------------------------- Peter, шибко пригодились команды zmFontBox и zmColorBox!!! Спасибище!!! В сочетании со штатными SetObjectFont и SetObjectFill они работают на ура!!!
Поговорим о атрибутах, а О великие гуру! скажите мне неучу, почему не вешается атриб. системный на файл, т.е. я назначаю на файл три атрб.: r,h,s, вот системный чето не хочет назначатся?! Я подумываю, что дело в порядке назначения. Вот результат тестов порядок->r,s,h результат - r,s ставятся, h не ставится порядок->r,h,s результат - r,h ставятся, s не ставится Хотел погуглить по этому поводу, но про порядок ничего не сказано. Если вперед назначит системный, то остальные атриб. уже неставятся. Оно и понятно, вот и вопрос в каком же порядке ставить, чтоб все r,s,h назначились?!
Сообщение отредактировано Сергей - Вс, 11 Июля 2010, 11:17
В сочетании со штатными SetObjectFont и SetObjectFill они работают на ура!!!
Гм...
Да вообще-то, по идее, так и задумывалось, а иначе какой смысл их делать...
Quote (Сергей)
вопрос в каком же порядке ставить, чтоб все r,s,h назначились?!
А "кто" их знает...
Сергей, возьми лучше плагин (прикрепление). Кстати в плагине в названии команды zmFileGetAtrribute была очепятка, и, как всегда, НИКТО не заметил! В общем, сейчас поправлено, и если кто-то уже использоал в проекте эту команду, то тоже нужно исправить. Недаром же я специально говорил "экспериментально"!
До буфера обмена пока не добрался. Может вечером...
- А вам какую операционку поставить - экспи, семерку или висту? - Это ты сейчас о чем? - Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный? - Ну, конечно, надежный! - Вот, значит - экспи, без вопросов! Сейчас сделаем...
(Улицы разбитых фонарей, сезон 10, серия 17)
Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!
При модном втюхе модоподдающимся начинает нравиться
Сергей, И что ничего не нагуглил? наверное не то искал Атрибутов то никаких и нет, это только тебе кажется что они есть, на самом деле это флаги, цыфорки, в таблице размещения файлов, соответственно и искать надо савсем иные матюки типа фат, справочник,таблица размещения файлов.... И уже там искать что же собой представляют энти атрибуты, мож h и s это значения одного и того же бита, 0 и 1, а ты стремишся его поставить в 1.5. Нет я не утверждаю, что именно так и есть, у меня же голова не библиотека, все помнить не может. Ну а предварительно проверить лень, да и мне не нужно это сейчас, вот я и посылаю тебя... в гугл Изучиш, раскажеш, ну не мне, а то знаю где искать, а остальным полезно будет.
Peter, я те сколь раз говорил, не открывай ящик пандоры,
Quote (Сергей)
я все запупырил через виндовскую команду
Ну хорошо, уберу команду, коли не надо больше. Пардон, виноват-с... - А вам какую операционку поставить - экспи, семерку или висту? - Это ты сейчас о чем? - Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный? - Ну, конечно, надежный! - Вот, значит - экспи, без вопросов! Сейчас сделаем...
(Улицы разбитых фонарей, сезон 10, серия 17)
Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!
При модном втюхе модоподдающимся начинает нравиться