kIT Universal Presets
Select messages from
# through # FAQ
[/[Print]\]
Goto page Previous  1, 2, 3, 4, 5, 6, 7, 8, 9  Next  :| |:
Total Commander -> Программное обеспечение

#16:  Author: ApceHLocation: Димитровград PostPosted: Sun Jun 12, 2011 16:25
    —
Flasher
Да... В этом духе я рассуждал-рассуждал и расплавились мозги, потому что "такое-то значение" может быть не только в ini, но и в реестре и в xml... Да и наличие файлов может потребоваться проверять...
Вот и приходится ооочень серьёзно думать, чтобы решение (синтаксис) был действительно универсальным, последовательным.

P.S. Сразу хочу предупредить, что у меня не будет времени сверхбыстро всё добавлять и реализовывать. Мне до таких феноменов, как, например, Dec, MVV, очень далеко (им респект). Но стараться буду, обещаю.


Last edited by ApceH on Sun Jun 12, 2011 16:33; edited 2 times in total

#17:  Author: FlasherLocation: Москва PostPosted: Sun Jun 12, 2011 16:28
    —
ApceH
Да, универсальное не помешает. Для ini пока более актуально. В xml надо, но куда реже. С реестром я могу и на vbs справиться без проблем.
Flasher wrote:
Но стараться буду, обещаю.
Это радует. Smile
А вообще сама задача давненько в воздухе витала. Поэтому поклон за попытки реализовать идею. Если помимо ифов будет ещё приклеен аналог run, то вообще можно будет без скриптов во многих случаях обходиться. Smile


Last edited by Flasher on Sun Jun 12, 2011 16:34; edited 1 time in total

#18:  Author: ApceHLocation: Димитровград PostPosted: Sun Jun 12, 2011 16:33
    —
Flasher
Реестр это та же ini с точки зрения синтаксиса. Даже проще, потому что единый корень. Так что в 0.3 будет.

Кстати, предваряя запросы по действиям с ini, приведу остальные придуманные, но ещё не реализованные функции:
Quote:
5.1.2) Шаблоны секций
Имя секции должно совпадать с таковой в целевом ini-файле. При этом регистр букв не учитывается.
Вместо имени секции могут присутствовать некоторые спец. символы:
5.1.2.1) [i<буква_действия>|<ini-файл>|?]
Секция не известна. Следует найти ПЕРВОЕ вхождение указанных ниже ключей и применить указанное действие.
5.1.2.2) [i<буква_действия>|<ini-файл>|*]
Секция не известна. Следует найти ВСЕ вхождения указанных ниже ключей и применить указанное действие.

5.2.3) x
Взаимная перезапись (обмен). Секция в целевом файле и секция в пресете целиком меняются местами.
5.2.5) e
Удаление. Из целевого ini-файла удаляются ключи, присутствующие в пресете, причем если значение в пресете отсутствует, то ключ удаляется безусловно, а если присутствует — только если имеющееся значение совпадает со значением в пресете.


Добавлено спустя 4 минуты:

Flasher wrote:
Если помимо ифов будет ещё приклеен аналог run, то вообще можно будет без скриптов во многих случаях обходиться. Smile
Уже есть!
Code:
[pee|%WINDIR%\system32\calc.exe]

И параметры можно. Правда вот и обнаружилась одна потребность: если просто написать [pee|calc.exe], то он будет искать через DefaultDirectory и т.д.... Надо как-то что-ли уточнять, что это ShellExecute типа... Сделаю.


Last edited by ApceH on Sun Jun 12, 2011 16:41; edited 1 time in total

#19:  Author: FlasherLocation: Москва PostPosted: Sun Jun 12, 2011 16:40
    —
ApceH wrote:
Уже есть!
Отлично. А строковые параметры поддерживаются?

Добавлено спустя 8 минут:

ApceH wrote:
И параметры можно.
Вот, теперь вижу.
А ещё надо бы выжидалочку выполнения (например, полного закрытия).

#20: Новая версия Author: ApceHLocation: Димитровград PostPosted: Mon Jul 11, 2011 14:23
    —
Обновил немного прогу. Правда на порядок больше времени отвёл не программированию, а составлению спецификации. Поэтому уже могу выложить её черновик.

Всё тут: сайт, исполняемый файл с примерами, черновик спецификации

Из важного: изменено поведение секции [pek| и [per|. В прошлой версии происходило насильное завершение через Terminate, а значит настройки ТС не сохранялись.
Теперь секции таковы:
[pet| — насильное завершение (Terminate)
[peq| — корректное завершение (WM_QUIT)
[per| — перезапуск через корректное завершение (q+e)
[pee| — запуск программы

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

Вообщем интерфейс меня теперь практически устраивает, а значит после выпуска kIT PPP 11.7 с головой уйду в реализацию самого обработчика пресетов. Я выложил черновик спецификации полностью, так что вы можете прикинуть, что я собираюсь сделать и как. Естественно, буду рад услышать пожелания, рекомендации и конструктивную критику.

#21:  Author: FlasherLocation: Москва PostPosted: Mon Jul 11, 2011 17:10
    —
ApceH
Даа, мануал так мануал. "Без пол-литра" не разберёшься. Smile Чувствуется, что времени потрачено немало. Оглавление с гиперссылками добавить не помешает. А пустоши обязательно оставлять? Может, всё-таки заполнять? Некоторые страницы вообще целиком пустые.
ApceH wrote:
с головой уйду в реализацию самого обработчика пресетов
Т.е. пока то, что там написано - это только в теории? Алгоритмические функции, каркасы, псевдонимы, авторезервирование - этого ничего нет пока?

#22:  Author: ApceHLocation: Димитровград PostPosted: Mon Jul 11, 2011 18:58
    —
Flasher
Ой, забыл галку поставить при создании PDF. Перезалил.
Да, это по большей части теория пока, и многое ещё пишется, и многое наверняка в итоге сделаю не совсем так. Это только черновик. В процессе его написания всё больше убеждался, какой титанический труд майкрософтовцы совершили при составлении спецификации .NET...
Что уже точно реализовано, отмечено в файле History.txt.
Я потому и выложил, что одна голова хорошо, а взгляд со стороны ещё как не помешает...

#23:  Author: FlasherLocation: Москва PostPosted: Mon Jul 11, 2011 19:10
    —
ApceH
Понял. Я, конечно, с удовольстием поучаствую (т.к. продукт поистине заслуживает внимания), но пока не очень ясно, как это будет реально работать. Времени на изучение спецификации тоже нужно потратить прилично. Синтаксис местами понятен, но с примерами было бы в разы проще разобраться.
ApceH wrote:
Перезалил.
В отношении пустот - по-старому.

#24:  Author: ApceHLocation: Димитровград PostPosted: Mon Jul 11, 2011 23:06
    —
Flasher wrote:
В отношении пустот - по-старому.
Вы уже придираетесь Wink Перезалил.
Примеры по ходу дела будут добавляться. Хотя сразу говорю, что в данной ситуации нормальные примеры приводить затруднительно, потому что программа в итоге будет абсолютно универсальной. И даже если просто вставить пример к каждой конструкции, понять будет сложно, так как обычно при применении затрагиваются не один и не два файла... Ну как я дам пример секции [im|...? Дать исходный ini, up-файл и потом результирующий ini? По-моему, проще будет понять без примера))))))

#25:  Author: FlasherLocation: Москва PostPosted: Mon Jul 11, 2011 23:26
    —
ApceH
Да я не придираюсь, просто думал, что там этот момент исправлен.
Примеры давать необязательно к каждой конструкции. Можно объединить в несколько конструкций ряд примеров, в которых, естественно, должны быть комментарии. Как такая мысль?

#26: Новый билд: 0.2.7.39 Author: ApceHLocation: Димитровград PostPosted: Thu Jul 14, 2011 02:59
    —
Исправил несколько ошибок, серьёзных и не очень.
Неправильно отрабатывались пункты 1.2.1.2 и 4.1.2 — не работал ключ DefaultFile в конфиге категории.
Алгоритм обработки секций [peq и [per был доработан. Теперь менее вероятно запустить программу, не закрыв предыдущую копию. Хотя сделано всё ещё не совсем правильно, работаю над этим. Надо же учитывать, что процесс может и отказаться закрываться... Ну с TC вроде нормально.
Делая пресеты для новой фичи в kIT PPP, столкнулся с новыми задачками и реализовал их.
Если имя up-файла начинается с точки, то он не покажется в дереве. Но в пакетном режиме, конечно, применится.
Потом пришлось забежать далеко вперёд и реализовать "выжидалочку" Smile Не процесса, а просто функция Sleep. Синтаксис:
Code:
[#wait|1000]
Число — время в миллисекундах.
Обратите внимание на категорию TC-GlobalModes. Там как раз применены нововведения.

#27:  Author: ask-rusLocation: Russian Federation PostPosted: Thu Jul 28, 2011 16:56
    —
Информация:
ApceH wrote:
Переименовывать и комментировать/раскомментировать произвольные секции и ключи будет способен kIT UP следующей версии. В середине августа будет готово.

#28:  Author: ApceHLocation: Димитровград PostPosted: Thu Jul 28, 2011 22:13
    —
ask-rus
Вы меня контролируете или ловите на слове?)))
Нет смысла. В опубликованном вместе с 0.2.7 черновике спецификации намерение реализовать комментирование и переименование уже было заявлено в пунктах 5.2.7-10.
Всё заявленное рано или поздно будет реализовано. Конкретно это, да, в августе.
Лучше бы прокомментировали и посоветовали что-то по программе или спецификации.

#29:  Author: ask-rusLocation: Russian Federation PostPosted: Fri Jul 29, 2011 15:59
    —
ApceH wrote:
Вы меня контролируете или ловите на слове?

Ни то, ни другое.
ApceH wrote:
Нет смысла. В опубликованном вместе с 0.2.7 черновике спецификации намерение реализовать комментирование и переименование уже было заявлено в пунктах 5.2.7-10.

А если кто-то не скачивал утилиту, есть смысл?
ApceH wrote:
Лучше бы прокомментировали и посоветовали что-то по программе или спецификации.

И комментарии, и советы будут - всё будет.

#30: Обновление черновика спецификации Author: ApceHLocation: Димитровград PostPosted: Sat Aug 06, 2011 21:54
    —
Ох, что за гик я?))) Пару часов в день купаюсь в море, остальное время пишу спецификацию))))) Отпуск для того, чтобы вплотную заняться работой)))

Очень значительно обновил спецификацию. Замораживаю пока, и начинаю реализовывать намеченное. Кое-какие пункты пришлось сдвинуть, поэтому history.txt в последней версии kIT UP не совсем верный, но это временно Wink
Написал многие вещи более простым языком. Если прочитать подряд, должно быть понятно, что я задумал в целом.
Полностью пересмотрел синтаксис секций работы с файлами ([f...). Похоже так и оставлю окончательно. Реализую сразу после окончания работ над ini и реестром. То есть в версии 0.4 (не позднее октября).
Почти везде вставил простенькие примеры, а то многие сильно просили)))


Last edited by ApceH on Tue Aug 09, 2011 01:33; edited 1 time in total



Total Commander -> Программное обеспечение


output generated using printer-friendly topic mod. All times are GMT + 4 Hours

Goto page Previous  1, 2, 3, 4, 5, 6, 7, 8, 9  Next  :| |:
Page 2 of 9

Powered by phpBB © 2001, 2005 phpBB Group