Немного доработал компонент MainForm, чтобы окно автоматически записывало в реестр свои координаты и размеры. А при запуске программы перемещалась на ранее сохраненное место. Включается опцией в MainForm.ini (добавить эту строку) -
-------------------------------
[Property]
SavePosition=Автоматически запоминать позицию и размер окна на экране для последующих запусков программы. Для корректной работы задайте 'заголовок формы', отличный от других проектов.|14|1|True,False
-------------------------------
Необходимо, чтобы заголовок формы у разных приложений был сазный, т.к. именно по нему идет создание в реестре ключей
HKEY_CURRENT_USER \ Software \ HiAsm_App \ <имя формы> \ ...
и в нем параметры Left, Top, Height, Width. Вместо имени формы можно брать какое-то уникальное число, но его тогда нужно при запуске проекта генерировать и хранить. Или сделать поле для ввода руками. Не думаю, что нужно над этим париться, так легко включается (без доп. параметров) и автоматически пишет в реестр.
Файл с основным кодом hiMainForm.pas -
http//php.spb.ru/1/hiasm/hiasm_save_position_window.zip
Версия hiMainForm.pas из update1.rar (hiasm_3.13b96.rar).
Этот топик читают: Гость
Гость
Ответов: 17029
Рейтинг: 0
|
|||
карма: 0 |
|
Ответов: 377
Рейтинг: 0
|
|||
Большое тебе СПАСИБО! Ты мне очень помог
|
|||
карма: 1 |
|
Ответов: 857
Рейтинг: 1
|
|||
Это оч полезно. но реестр будет засорятся как низнаю кто, а если например сделать в ини файл запись по всем маин форм?
|
|||
карма: 1 |
|
Ответов: 235
Рейтинг: 0
|
|||
Вот-вот, добавить точки в майн формs с выходом координат, а вреестр под "пулеметом" не полезу после пары-тройки неудачных опытов ...........
|
|||
карма: 0 |
|
Гость
Ответов: 17029
Рейтинг: 0
|
|||
> Но реестр будет засорятся
чушь До этого я делал тоже самое извращениями вручную с элементами управления. Далее, меня совершенно не беспокоях лишние 4хN байт в реестре для каждой программы, даже когда я сделаю автосохранение вводимых значений в текстовые поля или отмеченные checkbox. И наконец, реестр - по определению место для хранения параметров. |
|||
карма: 0 |
|
Администрация
Ответов: 15295
Рейтинг: 1519
|
|||
<table><tr><td class=quote>
> Но реестр будет засорятся чушь </td></tr></table> Важен сам факт, а не количество занимаемых байт. Да реестр действительно нужен для хранения настроек, но многие(в том числе и я) предпочитают хранить настройки программы в папке в ней. Это дает один большой плюс эти насройки будут жить пока жива программа. В связи с этим предлагаю исправить компонент и добавить возможность выбора места сохранения параметров none - не сохранять, registry - сохранять в реестре, IniFile - сохранять в Ini файле. |
|||
карма: 27 |
|
Гость
Ответов: 17029
Рейтинг: 0
|
|||
1. Я делать запись в файлы не буду. Кто там упомянул это слово, пусть и пишет. Или, хотя бы, хоть что-то полезное, кроме трепа.
2. Кто реестрово озабочен, может просто не использовать фичу. Согласен, им можно написать страшное предупреждение в описании элемента "координаты сохраняются в реестре". Ах-ах! 3. Все программы винды сохраняют настройки (отличающиеся от дефолтных при инсталляции) в реестре. Умные люди, которые не хотят при переустанавке винды терять опции программы, делают копию реестра. В FAR'е, например, для сей цели есть 2 файлика - скинуть реестр в файл или загрузить опции из ранее сохраненного файла. Остальные проги (ICQ, SSH, TheBat - списки хостов, паролей, опции, цвета и т.д.) таких заготовленных файлов не имеют, их каждый в состоянии сделать руками. Ибо заново настраивать все программы после инсталляции винды или на чужих компах - идиотизм. 4. Опции координат окна столь незначительные и столь удобные для юзера, что обсуждать этот вопрос смешно. Кроме тех, кому хочется потрепаться. 5. Существует места CURRENT_USER и LOCAL_MACHINE в зависимости от смысла. Кто не в курсе, что на компе существуют разные юзеры с независимым настройками - отдыхает. 6. Доступа записи на диск может нет быть. Как и в LOCAL_MASHINE. В CURRENT_USER - всегда, как правило. Особо юзера будет злить загрузка опций из файла, недоступного на запись, который сделан, когда прогу запускал админ и передвинул окно, скажем, в ж. 7. Чтобы наиболее усилить эффект пункта (2), можно сделать эфу фичу как отдельный компонент, не имеющий параметров и методов. Но смысла делать компоненты без параметров/медов не много. |
|||
карма: 0 |
|
Администрация
Ответов: 15295
Рейтинг: 1519
|
|||
<table><tr><td class=quote>
1. Я делать запись в файлы не буду. Кто там упомянул это слово, пусть и пишет. Или, хотя бы, хоть что-то полезное, кроме трепа. </td></tr></table> Хорошо, я сам сделаю. <table><tr><td class=quote> Умные люди, которые не хотят при переустанавке винды терять опции программы, делают копию реестра. В FAR'е, например, для сей цели есть 2 файлика - скинуть реестр в файл или загрузить опции из ранее сохраненного файла. </td></tr></table> А умные программисты пишут настройки в файлы на диске и не заставляют мучатся пользователей со своей программой при переустановки Windows, и уж тем более заставлять их искать ключи в реестре и сохранять все это добро ручками. <table><tr><td class=quote> Особо юзера будет злить загрузка опций из файла, недоступного на запись, который сделан, когда прогу запускал админ и передвинул окно, скажем, в ж. </td></tr></table> Вот поэтому и нужен выбор. Кому что больше нравиться, с тем и будет работать. |
|||
карма: 27 |
|
Ответов: 857
Рейтинг: 1
|
|||
DiMA, вы помойму нимного не поняли , Хиасмом не тока профы пользуются но и те кто реестр в глаза не видел, так что я думаю что следует все таки прислушиватся к мнению пользователей, как это делает Дилма за енто мы его и любим правда парни?
|
|||
карма: 1 |
|
Ответов: 377
Рейтинг: 0
|
|||
|
|||
карма: 1 |
|
Ответов: 25
Рейтинг: 0
|
|||
Dilma
Полностью поддерживаю! Я сам все чаще смотрю в сторону тех программ, которые хранят настройки в ini файлах (ну или в других файлах, но только не в реестре). Это удобно не только при переустновке винды или же создания бекапов (с помощью программ), это хорошо еще и тем, что свои настройки я могу передать другому человеку. Который в свою очередь, понятия не имеет, что и как делать. К примеру: Outpost Firewall & KAV. Мне лично проще кинуть пару маленьких файликов, нежели часами объяснять в аське что и как делать... "MarGoo" писал(а):
... следует все таки прислушиватся к мнению пользователей, как это делает Дилма за енто мы его и любим правда парни? Ну... любить в данном случае, все же больше по женской части ;), я лично его уважаю. |
|||
карма: 1 |
|
Гость
Ответов: 17029
Рейтинг: 0
|
|||
Сколько можно бредить-то? Еще раз тыкаю в очевидную вещь - файлы не дадут раздельных настроек каждому юзеру. Бредово заранее отнимать важное свойство. Бредово обсуждать то, что еще не написано, т.е. шкуру неубитого медведя. Бред про аутпост - хранит он в реестре именно свои настройки. А правила и логи действительно на диске. Но не из-за бреда, обсуждаемого здесь, а по соображениям большого объема и частой записи/чтения. Хочешь файлы - сделал молча и выложил.
Это была моя ошибка, что я тут привел метод сохранения данных. А так бы юзали тихо, кому надо (фича не навязывается), и пищали бы от счастья от сей полезной мелочи. |
|||
карма: 0 |
|
Ответов: 857
Рейтинг: 1
|
|||
даже если бы ты не сказал то все ровно бы узнали я напремер свой реестр раз в неделю проверяю, на наличие всякой лабуды, ты немного игоистичин, но енто компенсируется твоей помощью и забавными дополнениями, так что не обижайся.
|
|||
карма: 1 |
|
Администрация
Ответов: 15295
Рейтинг: 1519
|
|||
<table><tr><td class=quote>
Сколько можно бредить-то? </td></tr></table> Интересная политика сделать очевидно полезное дополнение, выложить его на форум(не зажали же!) и просто не в какую не желать добавить то, что попросили. И на счет бреда пару слов . Вот цитата еще одного "маститого" программиста, уверенного, что все, что он делает хорошо и правильно, а остальное бред собачий <table><tr><td class=quote> " IK>>>> Это ж до чего лень довести может! По ссылке находится сайт IK>>>> "Конструктора программ". Жуткая вещь! Позволяет создавать IK>>>> программы из готовых компонентов /без единой строчки кода/ !!! IK>>>> Скажите, вам это надо ? ) А где кайф от процесса отладки? А где IK>>>> ощущение собственной гениальности, когда после часа отладки IK>>>> программа наконец компиляется? IK>>>> Скажем HЕТ губительному отуплению HiAsm'ом !!! ) </td></tr></table> |
|||
карма: 27 |
|
Ответов: 25
Рейтинг: 0
|
|||
"DiMA" писал(а): Бред про аутпост - хранит он в реестре именно свои настройки. А правила и логи действительно на диске. Но не из-за бреда, обсуждаемого здесь, а по соображениям большого объема и частой записи/чтения. Хочешь файлы - сделал молча и выложил.Та пара настроек, что хранится в реестре - мелочи! Часть, самых (для меня) важных настроек хранится в файлах! А галочки напротив "делать обновление через инет" и еще что-то, можно и самому выставить. Все правила (это вообще наиважнейшее), настройки журнала, список сайтов для блокировки, список рекламных строк и еще много чего лежит именно в ini файлах, так что бекапить/корректировать очень удобно. Еще пример, Sev-U, там есть выбор или реестр или файлы. Опять же, зачем мне хранить их в реестре? Если винда ляжет то, с большой вероятностью можно сказать, что я потеряю огромное (если не все) кол-во настроек пользователей. Примеры можно и дальше приводить... Но если нет желания делать, не делай, но не надо кричать, что все вокруг идиоты и ламеры (интерпритация слова "бред")! |
|||
карма: 1 |
|