Войти
NeoBooker.ru
Добро пожаловать к нам в гости!
Наш сайт посвящён программе NeoBook, с помощью которой вы легко сможете создавать собственные мультимедиа-приложения без необходимости изучать сложные языки программирования! Зарегистрируйтесь, чтобы стать членом нашего сообщества.
Модератор форума: Peter, DEMBEL  
Форум NeoBook » Всё о программе NeoBook » Плагины для NeoBook » asNotify (плагин для контроля за изменениями папок или файлов)
asNotify
AS3856Дата: Пт, 16 Марта 2018, 11:33 | Сообщение # 91
Ветеран форума
Цитата mishem ()
Например переменной, клики мыши, нажатие клавиш, изменение главного окна, буфеа обмена и т.д. Как Петр уже делал, раскладки клавиатуры... Т.е плагин разного мониторинга определенных действий.

- Думаю что могу осилить ( уверен) - только не совсем понятно - зачем?
в любом практически плагине есть подпрограмммы. мониторить переменные - тоже как то странно - можно это прописать сразу в NeoBook'e. Вообще наверное всё можно описать в переменной и её мониторить - т.е. всё сводится к монитору каой-то(каких то) переменной? ( изменение времени [Time], размеров объектов, буфера )
- объясни поподробнее цель такого мониторинга - ведь всё это можно заложить сразу на стадии проектирования..
Интересное предложение- но цель невижу..Может что то недопонимаю...
 
Сообщение
Цитата mishem ()
Например переменной, клики мыши, нажатие клавиш, изменение главного окна, буфеа обмена и т.д. Как Петр уже делал, раскладки клавиатуры... Т.е плагин разного мониторинга определенных действий.

- Думаю что могу осилить ( уверен) - только не совсем понятно - зачем?
в любом практически плагине есть подпрограмммы. мониторить переменные - тоже как то странно - можно это прописать сразу в NeoBook'e. Вообще наверное всё можно описать в переменной и её мониторить - т.е. всё сводится к монитору каой-то(каких то) переменной? ( изменение времени [Time], размеров объектов, буфера )
- объясни поподробнее цель такого мониторинга - ведь всё это можно заложить сразу на стадии проектирования..
Интересное предложение- но цель невижу..Может что то недопонимаю...

Автор - AS3856
Дата добавления - 16 Марта 2018 в 11:33
mishemДата: Пт, 16 Марта 2018, 16:49 | Сообщение # 92
Эксперт форума
Ну вот смотри, ниже создал проект, что бы тебе не изобретать... Нужен плагин NeoBookDBPro.
Добавь несколько строк с разными значениями.

Монитор переменной.
При навигации по таблице переменные изменяются. Есть штатная возможность подключить подпрограмму которая будет автоматически выполняться каждый раз, когда таблица обновляется или изменяется номер текущей записи. Но мне к примеру не нужно что бы подпрограмма выполнялась каждый раз, а только в тот момент, когда были внесены изменения. Для этого мне просто нужно мониторить переменную Base.Таблица1.$State.

Там есть три состояния переменной Browse, Insert, Edit. И например мне нужно выполнить подпрограмму только в том случае, если переменная примет значение Edit. Штатная же будет выполняться постоянно.

Если пользоваться штатной подпрограммой, то могут возникнуть определенные проблемы. Какие именно, я сейчас не вспомню. Ну как вариант, предположим что пользователь просто сидит и клацает в раздумьях по разным записям с интервалом доли секунды. Итог может быть не предсказуем.

Монитор переменной очень часто нужен (во всяком случае такому как я) при работе с различными плагинами.
Где и когда конкретно, могу только привести пример когда вернусь к работе с программой. Сейчас пока просто действительно нет времени. :(

Монитор мыши
Петр делал в своем плагине монитор мыши. Вообще без него практически никуда (если делаешь что то более менее серьезное). Но есть проблема с глобальным монитором, особенно в супер осях. Если будет один специализированный плагин мониторинга, то эта возможность там просто обязательна быть, как и все остальные перечисленные в предыдущем сообщении.

По поводу таймеров
Можно создать одну универсальную команду. которая сможет создавать таймеры работающие где то там, за пределами программы на уровне системы. По принципу команды If, IfEx...

То есть запускается определенный таймер с указанным условием, если условие выполняется, то запустить подпрограмму.

Например:
Если значение\переменная такая то равна\не равна\больше\меньше и т.д. такому то значению\переменной, то выполнить подпрограмму.

Зачем это надо и чем не устраивает таймер?
1. При работающем таймере не удобно отслеживать действия в отладчике.
2. Штатный таймер "рвет" выполнение основного кода, а если их несколько (таймеров), то основной код может вообще не выполнится. Или выполнится тогда, когда он уже вообще как бы и не нужен. В итоге получаем ошибки, проблемы и т.д.

Ну как то так, тема для размышления есть.
Прикрепления: 3218012.zip(1.5 Kb)


Не хочешь читать хелп?

Если хелп и форум не помогли, тогда все ответы здесь



Если вы думаете, что сможете — вы сможете, если думаете, что нет — вы правы.
 
СообщениеНу вот смотри, ниже создал проект, что бы тебе не изобретать... Нужен плагин NeoBookDBPro.
Добавь несколько строк с разными значениями.

Монитор переменной.
При навигации по таблице переменные изменяются. Есть штатная возможность подключить подпрограмму которая будет автоматически выполняться каждый раз, когда таблица обновляется или изменяется номер текущей записи. Но мне к примеру не нужно что бы подпрограмма выполнялась каждый раз, а только в тот момент, когда были внесены изменения. Для этого мне просто нужно мониторить переменную Base.Таблица1.$State.

Там есть три состояния переменной Browse, Insert, Edit. И например мне нужно выполнить подпрограмму только в том случае, если переменная примет значение Edit. Штатная же будет выполняться постоянно.

Если пользоваться штатной подпрограммой, то могут возникнуть определенные проблемы. Какие именно, я сейчас не вспомню. Ну как вариант, предположим что пользователь просто сидит и клацает в раздумьях по разным записям с интервалом доли секунды. Итог может быть не предсказуем.

Монитор переменной очень часто нужен (во всяком случае такому как я) при работе с различными плагинами.
Где и когда конкретно, могу только привести пример когда вернусь к работе с программой. Сейчас пока просто действительно нет времени. :(

Монитор мыши
Петр делал в своем плагине монитор мыши. Вообще без него практически никуда (если делаешь что то более менее серьезное). Но есть проблема с глобальным монитором, особенно в супер осях. Если будет один специализированный плагин мониторинга, то эта возможность там просто обязательна быть, как и все остальные перечисленные в предыдущем сообщении.

По поводу таймеров
Можно создать одну универсальную команду. которая сможет создавать таймеры работающие где то там, за пределами программы на уровне системы. По принципу команды If, IfEx...

То есть запускается определенный таймер с указанным условием, если условие выполняется, то запустить подпрограмму.

Например:
Если значение\переменная такая то равна\не равна\больше\меньше и т.д. такому то значению\переменной, то выполнить подпрограмму.

Зачем это надо и чем не устраивает таймер?
1. При работающем таймере не удобно отслеживать действия в отладчике.
2. Штатный таймер "рвет" выполнение основного кода, а если их несколько (таймеров), то основной код может вообще не выполнится. Или выполнится тогда, когда он уже вообще как бы и не нужен. В итоге получаем ошибки, проблемы и т.д.

Ну как то так, тема для размышления есть.

Автор - mishem
Дата добавления - 16 Марта 2018 в 16:49
AS3856Дата: Пт, 16 Марта 2018, 20:02 | Сообщение # 93
Ветеран форума
Могу такое написать.
в раздумьях по поводу создания нескольких таймеров - может всё же лучше на один повесить - и делать обработку в одном - нагрузка уменьшается чем тарабанить будут несколько..

Монитор переменных - ессли значение изменилось, если значение равно заданному
Монитор мыши - если мышь на форме, если мышь вне формы,прав\лев клики
Монитор объектов - изменил положение,изменил размеры (цвет и прочее в мониторе переменных)
Монитор клавиатуры - (фактически клавиатурный шпиён - если нажал что то - и это што то равно(не равно) )
монитор окна(формы) - изменил положение,свёрнут и т.д. -

Примерно навскидку - может ещё что то добавится..
По поводу таймеров - возможно создавать несколько по категории монитора? Покеа не решил...

надо поробовать для начала с переменными (самое простое) - далее видно будет..
 
СообщениеМогу такое написать.
в раздумьях по поводу создания нескольких таймеров - может всё же лучше на один повесить - и делать обработку в одном - нагрузка уменьшается чем тарабанить будут несколько..

Монитор переменных - ессли значение изменилось, если значение равно заданному
Монитор мыши - если мышь на форме, если мышь вне формы,прав\лев клики
Монитор объектов - изменил положение,изменил размеры (цвет и прочее в мониторе переменных)
Монитор клавиатуры - (фактически клавиатурный шпиён - если нажал что то - и это што то равно(не равно) )
монитор окна(формы) - изменил положение,свёрнут и т.д. -

Примерно навскидку - может ещё что то добавится..
По поводу таймеров - возможно создавать несколько по категории монитора? Покеа не решил...

надо поробовать для начала с переменными (самое простое) - далее видно будет..

Автор - AS3856
Дата добавления - 16 Марта 2018 в 20:02
mishemДата: Пт, 16 Марта 2018, 20:43 | Сообщение # 94
Эксперт форума
Цитата AS3856 ()
Монитор мыши - если мышь на форме, если мышь вне формы,прав\лев клики

координаты относительно окна (рабочей области), относительно экрана. Правый левый клик, нажата отпущена.

Цитата AS3856 ()
в раздумьях по поводу создания нескольких таймеров - может всё же лучше на один повесить - и делать обработку в одном - нагрузка уменьшается чем тарабанить будут несколько..

Тебе виднее, но как один будет обрабатывать несколько вариантов если понадобится?

Цитата AS3856 ()
надо поробовать для начала с переменными (самое простое) - далее видно будет..

Да. И после постепенно добавлять, тестировать...


Не хочешь читать хелп?

Если хелп и форум не помогли, тогда все ответы здесь



Если вы думаете, что сможете — вы сможете, если думаете, что нет — вы правы.
 
Сообщение
Цитата AS3856 ()
Монитор мыши - если мышь на форме, если мышь вне формы,прав\лев клики

координаты относительно окна (рабочей области), относительно экрана. Правый левый клик, нажата отпущена.

Цитата AS3856 ()
в раздумьях по поводу создания нескольких таймеров - может всё же лучше на один повесить - и делать обработку в одном - нагрузка уменьшается чем тарабанить будут несколько..

Тебе виднее, но как один будет обрабатывать несколько вариантов если понадобится?

Цитата AS3856 ()
надо поробовать для начала с переменными (самое простое) - далее видно будет..

Да. И после постепенно добавлять, тестировать...

Автор - mishem
Дата добавления - 16 Марта 2018 в 20:43
AS3856Дата: Пт, 16 Марта 2018, 22:57 | Сообщение # 95
Ветеран форума
Цитата mishem ()
Тебе виднее, но как один будет обрабатывать несколько вариантов если понадобится?

невижу проблем - условия - и обработка ( хотя может это сейчас не вижу - а там появятся..)
Начну писать .....

Добавлено (16 Марта 2018, 22:57)
---------------------------------------------
тут другая проблема - проверяем допустим переменную (глобальную NeoBook'a) [Time], таймер барабанит ну хотя б 500мс, время допустим подошло контрольное - срабатывает подпрограмма типа переменная равна искомым данным - и так каждые 500мс т.е. идёт повтор выполнения подпрограммы... - пока не изменится время или не будет команды стоп..


Сообщение отредактировано
AS3856 - Пт, 16 Марта 2018, 23:04
 
Сообщение
Цитата mishem ()
Тебе виднее, но как один будет обрабатывать несколько вариантов если понадобится?

невижу проблем - условия - и обработка ( хотя может это сейчас не вижу - а там появятся..)
Начну писать .....

Добавлено (16 Марта 2018, 22:57)
---------------------------------------------
тут другая проблема - проверяем допустим переменную (глобальную NeoBook'a) [Time], таймер барабанит ну хотя б 500мс, время допустим подошло контрольное - срабатывает подпрограмма типа переменная равна искомым данным - и так каждые 500мс т.е. идёт повтор выполнения подпрограммы... - пока не изменится время или не будет команды стоп..

Автор - AS3856
Дата добавления - 16 Марта 2018 в 22:57
mishemДата: Пт, 16 Марта 2018, 23:35 | Сообщение # 96
Эксперт форума
AS3856, ты заглядывай в штатные объекты, команды. Там подсказки в открытом виде.
Добавить параметры:
Остановить после одного срабатывания...

То же самое и с запуском....

В необук уже все годами продумано. Достаточно брать готовое оттуда и добавлять что то новое, свое.

Для переменной да, скорей всего будет достаточно одного срабатывания, а в подпрограмме, если нужно, запускать таймер по новой.

Хотя к примеру если переменная изменилась, нужно воспроизвести к примеру какой нибудь сигнал "окошко моргает", или "объект моргает", тогда к примеру можно указать количество срабатываний таймера. Но это не обязательно. Основное это монитор, а повтор можно выполнять в подпрограмме.

И все же я думаю что в плагине нужен параметр "остановить после одного срабатывания, или продолжать молотить дальше". Так как в той же подпрограмме можно изменить переменную и ждать когда по таймеру она снова определится. То есть у пользователя должен быть выбор.


Не хочешь читать хелп?

Если хелп и форум не помогли, тогда все ответы здесь



Если вы думаете, что сможете — вы сможете, если думаете, что нет — вы правы.
 
СообщениеAS3856, ты заглядывай в штатные объекты, команды. Там подсказки в открытом виде.
Добавить параметры:
Остановить после одного срабатывания...

То же самое и с запуском....

В необук уже все годами продумано. Достаточно брать готовое оттуда и добавлять что то новое, свое.

Для переменной да, скорей всего будет достаточно одного срабатывания, а в подпрограмме, если нужно, запускать таймер по новой.

Хотя к примеру если переменная изменилась, нужно воспроизвести к примеру какой нибудь сигнал "окошко моргает", или "объект моргает", тогда к примеру можно указать количество срабатываний таймера. Но это не обязательно. Основное это монитор, а повтор можно выполнять в подпрограмме.

И все же я думаю что в плагине нужен параметр "остановить после одного срабатывания, или продолжать молотить дальше". Так как в той же подпрограмме можно изменить переменную и ждать когда по таймеру она снова определится. То есть у пользователя должен быть выбор.

Автор - mishem
Дата добавления - 16 Марта 2018 в 23:35
AS3856Дата: Пт, 16 Марта 2018, 23:43 | Сообщение # 97
Ветеран форума
понятно направление...

Добавлено (16 Марта 2018, 23:43)
---------------------------------------------
только я хотел чтоб мониторило сразу несколько разных позиций - ну наверно можно и это решить..

 
Сообщениепонятно направление...

Добавлено (16 Марта 2018, 23:43)
---------------------------------------------
только я хотел чтоб мониторило сразу несколько разных позиций - ну наверно можно и это решить..


Автор - AS3856
Дата добавления - 16 Марта 2018 в 23:43
mishemДата: Сб, 17 Марта 2018, 00:27 | Сообщение # 98
Эксперт форума
Цитата AS3856 ()
только я хотел чтоб мониторило сразу несколько разных позиций

Нужно посмотреть что именно ты хочешь, а после тогда пообсуждаем.

Лично я склоняюсь что нужен отдельный таймер для каждой задачи.
Не думаю что их (таймеров) может в одном проекте потребоваться слишком много. Хотя... Как знать, как знать.

Может быть твое направление будет правильным.


Не хочешь читать хелп?

Если хелп и форум не помогли, тогда все ответы здесь



Если вы думаете, что сможете — вы сможете, если думаете, что нет — вы правы.
 
Сообщение
Цитата AS3856 ()
только я хотел чтоб мониторило сразу несколько разных позиций

Нужно посмотреть что именно ты хочешь, а после тогда пообсуждаем.

Лично я склоняюсь что нужен отдельный таймер для каждой задачи.
Не думаю что их (таймеров) может в одном проекте потребоваться слишком много. Хотя... Как знать, как знать.

Может быть твое направление будет правильным.

Автор - mishem
Дата добавления - 17 Марта 2018 в 00:27
AS3856Дата: Сб, 17 Марта 2018, 02:02 | Сообщение # 99
Ветеран форума
думаю первый результат через недельку...

Добавлено (17 Марта 2018, 01:03)
---------------------------------------------
тут тоже много продумать надо - переменныен то разные бываю..
- иразный мониторинг нужен, если числа(дробные - целые) - сравнение больше меньше равно. больше или равно меньше или равно
если строка - тоже смотреть что и как - изменения всякие возможны

Добавлено (17 Марта 2018, 01:06)
---------------------------------------------
а главное всё это оформить в окне помощника кода....
%)

Добавлено (17 Марта 2018, 02:02)
---------------------------------------------
наверно не стоит так глубоко копать с разными типами данных - сравнивать строки и всё - иначе весь паскаль придётся переписывать :D

 
Сообщениедумаю первый результат через недельку...

Добавлено (17 Марта 2018, 01:03)
---------------------------------------------
тут тоже много продумать надо - переменныен то разные бываю..
- иразный мониторинг нужен, если числа(дробные - целые) - сравнение больше меньше равно. больше или равно меньше или равно
если строка - тоже смотреть что и как - изменения всякие возможны

Добавлено (17 Марта 2018, 01:06)
---------------------------------------------
а главное всё это оформить в окне помощника кода....
%)

Добавлено (17 Марта 2018, 02:02)
---------------------------------------------
наверно не стоит так глубоко копать с разными типами данных - сравнивать строки и всё - иначе весь паскаль придётся переписывать :D


Автор - AS3856
Дата добавления - 17 Марта 2018 в 02:02
PeterДата: Сб, 17 Марта 2018, 02:46 | Сообщение # 100
Админ NeoBook
Цитата AS3856 ()
а главное всё это оформить в окне помощника кода....

Тут мудрить нечего - все просто.
Цитата AS3856 ()
весь паскаль придётся переписывать

Не придется - и тут все просто.

Однако, в целом замутили вы, джентльмены, что-то, гм... грандиозное....
Даже вникать страшно, честное слово!
:)


- А вам какую операционку поставить - экспи, семерку или висту?
- Это ты сейчас о чем?
- Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный?
- Ну, конечно, надежный!
- Вот, значит - экспи, без вопросов! Сейчас сделаем...

(Улицы разбитых фонарей, сезон 10, серия 17)

Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!


При модном втюхе модоподдающимся начинает нравиться
 
Сообщение
Цитата AS3856 ()
а главное всё это оформить в окне помощника кода....

Тут мудрить нечего - все просто.
Цитата AS3856 ()
весь паскаль придётся переписывать

Не придется - и тут все просто.

Однако, в целом замутили вы, джентльмены, что-то, гм... грандиозное....
Даже вникать страшно, честное слово!
:)

Автор - Peter
Дата добавления - 17 Марта 2018 в 02:46
AS3856Дата: Сб, 17 Марта 2018, 02:57 | Сообщение # 101
Ветеран форума
Цитата Peter ()
Не придется - и тут все просто.

так я с заделом на будущее - если мониторить не только переменные, но и что то другое(читай выше) - тут придётся подумать как всё уместить и расписать чтоб понятно было пользователю -( да и самому)
если есть какие то идеи на эту тему - готов послушать как оформить это всё...
 
Сообщение
Цитата Peter ()
Не придется - и тут все просто.

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

Автор - AS3856
Дата добавления - 17 Марта 2018 в 02:57
PeterДата: Сб, 17 Марта 2018, 03:23 | Сообщение # 102
Админ NeoBook
Цитата AS3856 ()
если есть какие то идеи на эту тему

А идеи все давно придуманы и озвучены - делай по примеру и подобию NeoBookDBPro, т.е. пара "свойство=значение".
За основу редактора параметра можно взять стандартный компонент ValueEditor, но только "в чистом виде" пользоваться им будет весьма неудобно, и потому нужна доработка.
Можешь подсмотреть у эсперальты сам принцип организации, но у него сделано, как обычно, через ж.... (применен, и причем коряво, ValueEditor в чистом виде).
В плагине zmVLC тоже применен ValueEditor, но там я писал собственный компонент, взяв за основу штатный, а переделать (или вообще полностью свой нашлепать) можно как угодно - это же Delphi!


В общем, поупражняться тебе будет в чем....
Если, конечно, захочешь сделать хороший плагин, а не отмазку "и так сойдет".
:)
Прикрепления: 1839304.png(4.6 Kb)


- А вам какую операционку поставить - экспи, семерку или висту?
- Это ты сейчас о чем?
- Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный?
- Ну, конечно, надежный!
- Вот, значит - экспи, без вопросов! Сейчас сделаем...

(Улицы разбитых фонарей, сезон 10, серия 17)

Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!


При модном втюхе модоподдающимся начинает нравиться
 
Сообщение
Цитата AS3856 ()
если есть какие то идеи на эту тему

А идеи все давно придуманы и озвучены - делай по примеру и подобию NeoBookDBPro, т.е. пара "свойство=значение".
За основу редактора параметра можно взять стандартный компонент ValueEditor, но только "в чистом виде" пользоваться им будет весьма неудобно, и потому нужна доработка.
Можешь подсмотреть у эсперальты сам принцип организации, но у него сделано, как обычно, через ж.... (применен, и причем коряво, ValueEditor в чистом виде).
В плагине zmVLC тоже применен ValueEditor, но там я писал собственный компонент, взяв за основу штатный, а переделать (или вообще полностью свой нашлепать) можно как угодно - это же Delphi!


В общем, поупражняться тебе будет в чем....
Если, конечно, захочешь сделать хороший плагин, а не отмазку "и так сойдет".
:)

Автор - Peter
Дата добавления - 17 Марта 2018 в 03:23
AS3856Дата: Сб, 17 Марта 2018, 12:13 | Сообщение # 103
Ветеран форума
Цитата Peter ()
делай по примеру и подобию NeoBookDBPro, т.е. пара "свойство=значение".

кажется мне тут посложнее будет...
вот примерно навскидку...
берём переменную --> String or Integer or Real
String --> изменилось значение(любое) or изменилось на заданное
integer or Real --> стало меньше, стало больше, просто изменилось, достигло определённого значения

если б просто записывать данные в таблицу - то да стандартный компонент ValueEditor (или ListView - плохо изучил пока..)
пока в раздумьях..
 
Сообщение
Цитата Peter ()
делай по примеру и подобию NeoBookDBPro, т.е. пара "свойство=значение".

кажется мне тут посложнее будет...
вот примерно навскидку...
берём переменную --> String or Integer or Real
String --> изменилось значение(любое) or изменилось на заданное
integer or Real --> стало меньше, стало больше, просто изменилось, достигло определённого значения

если б просто записывать данные в таблицу - то да стандартный компонент ValueEditor (или ListView - плохо изучил пока..)
пока в раздумьях..

Автор - AS3856
Дата добавления - 17 Марта 2018 в 12:13
PeterДата: Сб, 17 Марта 2018, 13:04 | Сообщение # 104
Админ NeoBook
Цитата AS3856 ()
берём переменную --> String or Integer or Real

А при чем тут Real или Integer?
В действительности ("технически") в NeoBook есть только ОДИН тип данных - string, и редактируешь ты только его.
Это потом, в реальной работе, если потребуется, начинаются всякие преобразования, но РЕДАКТИРУЕШЬ в окне помощника ты всегда string.
И сравнивать (отслеживать момент наступления события) надо тоже всегда string.
В необушных переменных, которые ты собрался мониторить, тоже ВСЕГДА будет только string, и все, что требуется - сравнить две строки.
Единственное, что полезно будет организовать - сравнивать строки БЕЗ учета регистра, но это тоже элементарно делается штатными делфийскими средствами.

Если же тебе нужно прямо в плагине отслеживать "больше/меньше", то тоже нет проблем - преобразуй строку в Integer или в Single (Floatl, и сравнивай.
Это уже в реальной работе, а в редакторе (не важно ValueEditir или просто Edit), ты всегда редактируешь string.


- А вам какую операционку поставить - экспи, семерку или висту?
- Это ты сейчас о чем?
- Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный?
- Ну, конечно, надежный!
- Вот, значит - экспи, без вопросов! Сейчас сделаем...

(Улицы разбитых фонарей, сезон 10, серия 17)

Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!


При модном втюхе модоподдающимся начинает нравиться
 
Сообщение
Цитата AS3856 ()
берём переменную --> String or Integer or Real

А при чем тут Real или Integer?
В действительности ("технически") в NeoBook есть только ОДИН тип данных - string, и редактируешь ты только его.
Это потом, в реальной работе, если потребуется, начинаются всякие преобразования, но РЕДАКТИРУЕШЬ в окне помощника ты всегда string.
И сравнивать (отслеживать момент наступления события) надо тоже всегда string.
В необушных переменных, которые ты собрался мониторить, тоже ВСЕГДА будет только string, и все, что требуется - сравнить две строки.
Единственное, что полезно будет организовать - сравнивать строки БЕЗ учета регистра, но это тоже элементарно делается штатными делфийскими средствами.

Если же тебе нужно прямо в плагине отслеживать "больше/меньше", то тоже нет проблем - преобразуй строку в Integer или в Single (Floatl, и сравнивай.
Это уже в реальной работе, а в редакторе (не важно ValueEditir или просто Edit), ты всегда редактируешь string.

Автор - Peter
Дата добавления - 17 Марта 2018 в 13:04
mishemДата: Сб, 17 Марта 2018, 13:16 | Сообщение # 105
Эксперт форума
AS3856, какой раз уже замечаю, слишком пытаешься глубоко капнУть не в том месте. Мышление конечно у каждого свое, но попытаюсь подсказать, попробуй всегда сначала попытаться упростить задачу. Типа как с уравнениями, сначала упрощаем, отсеиваем все лишнее, а после решаем.

Может быть тебе попробовать понять что такое блок схема? Может быть с ней будет легче?



Не хочешь читать хелп?

Если хелп и форум не помогли, тогда все ответы здесь



Если вы думаете, что сможете — вы сможете, если думаете, что нет — вы правы.
 
СообщениеAS3856, какой раз уже замечаю, слишком пытаешься глубоко капнУть не в том месте. Мышление конечно у каждого свое, но попытаюсь подсказать, попробуй всегда сначала попытаться упростить задачу. Типа как с уравнениями, сначала упрощаем, отсеиваем все лишнее, а после решаем.

Может быть тебе попробовать понять что такое блок схема? Может быть с ней будет легче?


Автор - mishem
Дата добавления - 17 Марта 2018 в 13:16
AS3856Дата: Сб, 17 Марта 2018, 19:43 | Сообщение # 106
Ветеран форума
mishem, блок - схемы изучил давно :D
просто хотел на стадии проектирования разложить всё "по полкам"
- видимо придётся раскладывать внутри плагина - дополниительно обработку писать...
 
Сообщениеmishem, блок - схемы изучил давно :D
просто хотел на стадии проектирования разложить всё "по полкам"
- видимо придётся раскладывать внутри плагина - дополниительно обработку писать...

Автор - AS3856
Дата добавления - 17 Марта 2018 в 19:43
PeterДата: Сб, 17 Марта 2018, 20:07 | Сообщение # 107
Админ NeoBook
Цитата AS3856 ()
просто хотел на стадии проектирования разложить всё "по полкам"

Это все придет, так сказать, "в процессе", поскольку вариантов - тьма.
К примеру, я до сих пор не могу выработать окончательную систему обработки ошибок - каждый раз приходит в голову что-то новое.
По мере накопления опыта и знаний выработаешь свои "схемы" и "системы", а советы тут давать сложно (да и, как показывает опыт, все-равно ты им не последуешь).

Delphi - это язык (хоть и формальный), и каждый "писатель" пишет свои "произведения" по-своему, у каждого собственный стиль.
Как Толстой, Пушкин, Достоевский....
:)


- А вам какую операционку поставить - экспи, семерку или висту?
- Это ты сейчас о чем?
- Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный?
- Ну, конечно, надежный!
- Вот, значит - экспи, без вопросов! Сейчас сделаем...

(Улицы разбитых фонарей, сезон 10, серия 17)

Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!


При модном втюхе модоподдающимся начинает нравиться
 
Сообщение
Цитата AS3856 ()
просто хотел на стадии проектирования разложить всё "по полкам"

Это все придет, так сказать, "в процессе", поскольку вариантов - тьма.
К примеру, я до сих пор не могу выработать окончательную систему обработки ошибок - каждый раз приходит в голову что-то новое.
По мере накопления опыта и знаний выработаешь свои "схемы" и "системы", а советы тут давать сложно (да и, как показывает опыт, все-равно ты им не последуешь).

Delphi - это язык (хоть и формальный), и каждый "писатель" пишет свои "произведения" по-своему, у каждого собственный стиль.
Как Толстой, Пушкин, Достоевский....
:)

Автор - Peter
Дата добавления - 17 Марта 2018 в 20:07
AS3856Дата: Сб, 17 Марта 2018, 20:33 | Сообщение # 108
Ветеран форума
Цитата Peter ()
Как Толстой, Пушкин, Достоевский....

scared они тоже на делфии писали scared

Добавлено (17 Марта 2018, 20:32)
---------------------------------------------
:D

Добавлено (17 Марта 2018, 20:33)
---------------------------------------------
шутка..

Сообщение отредактировано
AS3856 - Сб, 17 Марта 2018, 20:32
 
Сообщение
Цитата Peter ()
Как Толстой, Пушкин, Достоевский....

scared они тоже на делфии писали scared

Добавлено (17 Марта 2018, 20:32)
---------------------------------------------
:D

Добавлено (17 Марта 2018, 20:33)
---------------------------------------------
шутка..


Автор - AS3856
Дата добавления - 17 Марта 2018 в 20:33
PeterДата: Сб, 17 Марта 2018, 20:37 | Сообщение # 109
Админ NeoBook


- А вам какую операционку поставить - экспи, семерку или висту?
- Это ты сейчас о чем?
- Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный?
- Ну, конечно, надежный!
- Вот, значит - экспи, без вопросов! Сейчас сделаем...

(Улицы разбитых фонарей, сезон 10, серия 17)

Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!


При модном втюхе модоподдающимся начинает нравиться
 
Сообщение

Автор - Peter
Дата добавления - 17 Марта 2018 в 20:37
mishemДата: Сб, 17 Марта 2018, 21:35 | Сообщение # 110
Эксперт форума
10 батонов колбасы.

Не хочешь читать хелп?

Если хелп и форум не помогли, тогда все ответы здесь



Если вы думаете, что сможете — вы сможете, если думаете, что нет — вы правы.
 
Сообщение10 батонов колбасы.

Автор - mishem
Дата добавления - 17 Марта 2018 в 21:35
AS3856Дата: Сб, 17 Марта 2018, 21:47 | Сообщение # 111
Ветеран форума
Цитата Peter ()
Если же тебе нужно прямо в плагине отслеживать "больше/меньше", то тоже нет проблем - преобразуй строку в Integer или в Single (Floatl, и сравнивай.

Пётр - я это прекрасно погимаю - но сначала надо определить в строке цифры или проосто строка - вот и хотел на стадии проектирования это прописать, чтобы пользователь сам написал - а не плагин определял что там в строке находится...
ладно - бросил затею - буду в плагине определять что находится в строке... ( но это менее удобно),т.к. для сравнения в этом случае низя уже писать больше\меньше и равно какому то Integer - следовательно придётся отсекать это если пользователь задумает это ввести(т.е. увеличивается код плагина, увеличивается обработка.. возможно в секции EXCEPT дописать(переписать)( E : Exception )
 
Сообщение
Цитата Peter ()
Если же тебе нужно прямо в плагине отслеживать "больше/меньше", то тоже нет проблем - преобразуй строку в Integer или в Single (Floatl, и сравнивай.

Пётр - я это прекрасно погимаю - но сначала надо определить в строке цифры или проосто строка - вот и хотел на стадии проектирования это прописать, чтобы пользователь сам написал - а не плагин определял что там в строке находится...
ладно - бросил затею - буду в плагине определять что находится в строке... ( но это менее удобно),т.к. для сравнения в этом случае низя уже писать больше\меньше и равно какому то Integer - следовательно придётся отсекать это если пользователь задумает это ввести(т.е. увеличивается код плагина, увеличивается обработка.. возможно в секции EXCEPT дописать(переписать)( E : Exception )

Автор - AS3856
Дата добавления - 17 Марта 2018 в 21:47
mishemДата: Вс, 18 Марта 2018, 01:29 | Сообщение # 112
Эксперт форума
Цитата AS3856 ()
но сначала надо определить в строке цифры или проосто строка

Зачем?

Это уже головная боль пользователя, что он там сравнивать будет. Глупо сравнивать текст с цифрой, по этому думаю даже никому в голову не придет.

Все что тебе надо
http://www.delphibasics.ru/AnsiCompareStr.php
и\или
http://www.delphibasics.ru/AnsiCompareText.php


Не хочешь читать хелп?

Если хелп и форум не помогли, тогда все ответы здесь



Если вы думаете, что сможете — вы сможете, если думаете, что нет — вы правы.


Сообщение отредактировано
mishem - Вс, 18 Марта 2018, 09:57
 
Сообщение
Цитата AS3856 ()
но сначала надо определить в строке цифры или проосто строка

Зачем?

Это уже головная боль пользователя, что он там сравнивать будет. Глупо сравнивать текст с цифрой, по этому думаю даже никому в голову не придет.

Все что тебе надо
http://www.delphibasics.ru/AnsiCompareStr.php
и\или
http://www.delphibasics.ru/AnsiCompareText.php

Автор - mishem
Дата добавления - 18 Марта 2018 в 01:29
AS3856Дата: Вс, 18 Марта 2018, 03:10 | Сообщение # 113
Ветеран форума
Цитата mishem ()
Это уже головная боль пользователя, что он там сравнивать будет. Глупо сравнивать текст с цифрой, по этому думаю даже никому в голову не придет.

mishem, подскажи - эта функция может определить что число 26 меньше чем число 62 ?

Добавлено (18 Марта 2018, 03:08)
---------------------------------------------
,а также дробные числа в строковом выражении..

Добавлено (18 Марта 2018, 03:10)
---------------------------------------------
Мне то вот пришло в голову.. :p такое там написать - почему ж другим непридёт..

 
Сообщение
Цитата mishem ()
Это уже головная боль пользователя, что он там сравнивать будет. Глупо сравнивать текст с цифрой, по этому думаю даже никому в голову не придет.

mishem, подскажи - эта функция может определить что число 26 меньше чем число 62 ?

Добавлено (18 Марта 2018, 03:08)
---------------------------------------------
,а также дробные числа в строковом выражении..

Добавлено (18 Марта 2018, 03:10)
---------------------------------------------
Мне то вот пришло в голову.. :p такое там написать - почему ж другим непридёт..


Автор - AS3856
Дата добавления - 18 Марта 2018 в 03:10
mishemДата: Вс, 18 Марта 2018, 09:58 | Сообщение # 114
Эксперт форума
Цитата AS3856 ()
подскажи - эта функция может определить что число 26 меньше чем число 62 ?

Я думаю да, или нет?


Не хочешь читать хелп?

Если хелп и форум не помогли, тогда все ответы здесь



Если вы думаете, что сможете — вы сможете, если думаете, что нет — вы правы.
 
Сообщение
Цитата AS3856 ()
подскажи - эта функция может определить что число 26 меньше чем число 62 ?

Я думаю да, или нет?

Автор - mishem
Дата добавления - 18 Марта 2018 в 09:58
AS3856Дата: Вс, 18 Марта 2018, 14:12 | Сообщение # 115
Ветеран форума
Цитата mishem ()

Я думаю да, или нет?

Так мне это неведомо, я никогла это не пробовал, знаю что сравнивает строки - и всё дальше не вдавался в подробности. Охватить сразу всё невозможно , и запомнить тоже . учусь...
 
Сообщение
Цитата mishem ()

Я думаю да, или нет?

Так мне это неведомо, я никогла это не пробовал, знаю что сравнивает строки - и всё дальше не вдавался в подробности. Охватить сразу всё невозможно , и запомнить тоже . учусь...

Автор - AS3856
Дата добавления - 18 Марта 2018 в 14:12
PeterДата: Вс, 18 Марта 2018, 14:44 | Сообщение # 116
Админ NeoBook
Цитата mishem ()
10 батонов колбасы.

Ответ НЕверный.
:)

Цитата AS3856 ()
вот и хотел на стадии проектирования это прописать, чтобы пользователь сам написал - а не плагин определял что там в строке находится...

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

Цитата mishem ()
Это уже головная боль пользователя,

Верно.
NB тоже не проверяет оперативно синтаксис (плохо это или хорошо вопрос спорный), но отладчик отследит ошибку, правда только когда будет обращение к этой команде с ошибкой в параметрах.
Цитата mishem ()
Все что тебе надо

В принципе, да.
Но этого маловато будет.
Как минимум, понадобится это.
И не только....
Короче, берем и изучаем функции модуля SysUtils, и вообще всю "материальную часть" Delphi по парсингу строк, преобразованию типов.
Если какой-то функции будет не хватать, то ничто не мешает нашлепать ее самостоятельно.
;)
Цитата mishem ()
Я думаю да, или нет?

Цитата AS3856 ()
Так мне это неведомо

Нет.
Сначала надо преобразовать строку в число (или в тот тип, с которым сравнивается), а потом уже сравнивать.


- А вам какую операционку поставить - экспи, семерку или висту?
- Это ты сейчас о чем?
- Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный?
- Ну, конечно, надежный!
- Вот, значит - экспи, без вопросов! Сейчас сделаем...

(Улицы разбитых фонарей, сезон 10, серия 17)

Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!


При модном втюхе модоподдающимся начинает нравиться
 
Сообщение
Цитата mishem ()
10 батонов колбасы.

Ответ НЕверный.
:)

Цитата AS3856 ()
вот и хотел на стадии проектирования это прописать, чтобы пользователь сам написал - а не плагин определял что там в строке находится...

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

Цитата mishem ()
Это уже головная боль пользователя,

Верно.
NB тоже не проверяет оперативно синтаксис (плохо это или хорошо вопрос спорный), но отладчик отследит ошибку, правда только когда будет обращение к этой команде с ошибкой в параметрах.
Цитата mishem ()
Все что тебе надо

В принципе, да.
Но этого маловато будет.
Как минимум, понадобится это.
И не только....
Короче, берем и изучаем функции модуля SysUtils, и вообще всю "материальную часть" Delphi по парсингу строк, преобразованию типов.
Если какой-то функции будет не хватать, то ничто не мешает нашлепать ее самостоятельно.
;)
Цитата mishem ()
Я думаю да, или нет?

Цитата AS3856 ()
Так мне это неведомо

Нет.
Сначала надо преобразовать строку в число (или в тот тип, с которым сравнивается), а потом уже сравнивать.

Автор - Peter
Дата добавления - 18 Марта 2018 в 14:44
AS3856Дата: Вс, 18 Марта 2018, 16:10 | Сообщение # 117
Ветеран форума
Цитата Peter ()
Сначала надо преобразовать строку в число (или в тот тип, с которым сравнивается), а потом уже сравнивать

об этом я вам и толкую второй день :D
 
Сообщение
Цитата Peter ()
Сначала надо преобразовать строку в число (или в тот тип, с которым сравнивается), а потом уже сравнивать

об этом я вам и толкую второй день :D

Автор - AS3856
Дата добавления - 18 Марта 2018 в 16:10
PeterДата: Вс, 18 Марта 2018, 16:13 | Сообщение # 118
Админ NeoBook
Цитата AS3856 ()
об этом я вам и толкую второй день

Да, только есть разница:
Цитата Peter ()
На стадии проектирования это совсем необязательно, а вот в реальной работе (тестирование или готовый проект) это делать потребуется по-любому

И делать это можно тоже по-разному: либо по-нормальному, либо - через ж....
:)

Все это настолько очевидные вещи, что даже как-то странно их обсуждать.


- А вам какую операционку поставить - экспи, семерку или висту?
- Это ты сейчас о чем?
- Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный?
- Ну, конечно, надежный!
- Вот, значит - экспи, без вопросов! Сейчас сделаем...

(Улицы разбитых фонарей, сезон 10, серия 17)

Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!


При модном втюхе модоподдающимся начинает нравиться
 
Сообщение
Цитата AS3856 ()
об этом я вам и толкую второй день

Да, только есть разница:
Цитата Peter ()
На стадии проектирования это совсем необязательно, а вот в реальной работе (тестирование или готовый проект) это делать потребуется по-любому

И делать это можно тоже по-разному: либо по-нормальному, либо - через ж....
:)

Все это настолько очевидные вещи, что даже как-то странно их обсуждать.

Автор - Peter
Дата добавления - 18 Марта 2018 в 16:13
AS3856Дата: Вс, 18 Марта 2018, 18:18 | Сообщение # 119
Ветеран форума
Цитата Peter ()
И делать это можно тоже по-разному: либо по-нормальному, либо - через ж....

Думаю что можно сделать и на стадии проектирования , и обработкой при выполнении команд плагина( второй способ проще, уменьшает процент ложного ввода данных - конечно он удобнее. По нему и пошёл.
Пишу по образцу как в плагине DB - дальше видно будет..собственно - нетороплюсь...ошибки потом лень править..
 
Сообщение
Цитата Peter ()
И делать это можно тоже по-разному: либо по-нормальному, либо - через ж....

Думаю что можно сделать и на стадии проектирования , и обработкой при выполнении команд плагина( второй способ проще, уменьшает процент ложного ввода данных - конечно он удобнее. По нему и пошёл.
Пишу по образцу как в плагине DB - дальше видно будет..собственно - нетороплюсь...ошибки потом лень править..

Автор - AS3856
Дата добавления - 18 Марта 2018 в 18:18
PeterДата: Вс, 18 Марта 2018, 20:07 | Сообщение # 120
Админ NeoBook
Цитата AS3856 ()
Думаю что можно сделать и на стадии проектирования

Я бы не стал...
Хотя... если есть время и желание, то...
Не забудь только учесть, что в параметре, например, пользователь может указать переменную....
;)
Цитата AS3856 ()
обработкой при выполнении команд

Это нужно делать по-любасу!

Цитата AS3856 ()
второй способ проще,

Это какой такой "Второй способ"?
%)
Цитата AS3856 ()
нетороплюсь

А это мудро!
:)


- А вам какую операционку поставить - экспи, семерку или висту?
- Это ты сейчас о чем?
- Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный?
- Ну, конечно, надежный!
- Вот, значит - экспи, без вопросов! Сейчас сделаем...

(Улицы разбитых фонарей, сезон 10, серия 17)

Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!


При модном втюхе модоподдающимся начинает нравиться
 
Сообщение
Цитата AS3856 ()
Думаю что можно сделать и на стадии проектирования

Я бы не стал...
Хотя... если есть время и желание, то...
Не забудь только учесть, что в параметре, например, пользователь может указать переменную....
;)
Цитата AS3856 ()
обработкой при выполнении команд

Это нужно делать по-любасу!

Цитата AS3856 ()
второй способ проще,

Это какой такой "Второй способ"?
%)
Цитата AS3856 ()
нетороплюсь

А это мудро!
:)

Автор - Peter
Дата добавления - 18 Марта 2018 в 20:07
Форум NeoBook » Всё о программе NeoBook » Плагины для NeoBook » asNotify (плагин для контроля за изменениями папок или файлов)
Поиск: