Вверх ↑
Этот топик читают: Гость
Гость
Ответов: 17029
Рейтинг: 0
#1: 2004-09-08 02:53:32 ЛС | профиль | цитата
Немного доработал компонент 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).
карма: 0

0
Ответов: 377
Рейтинг: 0
#2: 2004-09-08 09:00:59 ЛС | профиль | цитата
Большое тебе СПАСИБО! Ты мне очень помог
карма: 1

0
Ответов: 857
Рейтинг: 1
#3: 2004-09-08 14:15:53 ЛС | профиль | цитата
Это оч полезно. но реестр будет засорятся как низнаю кто, а если например сделать в ини файл запись по всем маин форм?
карма: 1

0
Ответов: 235
Рейтинг: 0
#4: 2004-09-08 14:28:53 ЛС | профиль | цитата
Вот-вот, добавить точки в майн формs с выходом координат, а вреестр под "пулеметом" не полезу после пары-тройки неудачных опытов ...........
карма: 0

0
Гость
Ответов: 17029
Рейтинг: 0
#5: 2004-09-08 14:49:50 ЛС | профиль | цитата
> Но реестр будет засорятся

чушь

До этого я делал тоже самое извращениями вручную с элементами управления. Далее, меня совершенно не беспокоях лишние 4хN байт в реестре для каждой программы, даже когда я сделаю автосохранение вводимых значений в текстовые поля или отмеченные checkbox. И наконец, реестр - по определению место для хранения параметров.
карма: 0

0
Администрация
Ответов: 15295
Рейтинг: 1519
#6: 2004-09-08 17:19:44 ЛС | профиль | цитата
<table><tr><td class=quote>
> Но реестр будет засорятся

чушь
</td></tr></table>
Важен сам факт, а не количество занимаемых байт. Да реестр действительно нужен для хранения настроек, но многие(в том числе и я) предпочитают хранить настройки программы в папке в ней. Это дает один большой плюс эти насройки будут жить пока жива программа. В связи с этим предлагаю исправить компонент и добавить возможность выбора места сохранения параметров none - не сохранять, registry - сохранять в реестре, IniFile - сохранять в Ini файле.
карма: 27
0
Гость
Ответов: 17029
Рейтинг: 0
#7: 2004-09-08 17:59:00 ЛС | профиль | цитата
1. Я делать запись в файлы не буду. Кто там упомянул это слово, пусть и пишет. Или, хотя бы, хоть что-то полезное, кроме трепа.
2. Кто реестрово озабочен, может просто не использовать фичу. Согласен, им можно написать страшное предупреждение в описании элемента "координаты сохраняются в реестре". Ах-ах!
3. Все программы винды сохраняют настройки (отличающиеся от дефолтных при инсталляции) в реестре. Умные люди, которые не хотят при переустанавке винды терять опции программы, делают копию реестра. В FAR'е, например, для сей цели есть 2 файлика - скинуть реестр в файл или загрузить опции из ранее сохраненного файла. Остальные проги (ICQ, SSH, TheBat - списки хостов, паролей, опции, цвета и т.д.) таких заготовленных файлов не имеют, их каждый в состоянии сделать руками. Ибо заново настраивать все программы после инсталляции винды или на чужих компах - идиотизм.
4. Опции координат окна столь незначительные и столь удобные для юзера, что обсуждать этот вопрос смешно. Кроме тех, кому хочется потрепаться.
5. Существует места CURRENT_USER и LOCAL_MACHINE в зависимости от смысла. Кто не в курсе, что на компе существуют разные юзеры с независимым настройками - отдыхает.
6. Доступа записи на диск может нет быть. Как и в LOCAL_MASHINE. В CURRENT_USER - всегда, как правило. Особо юзера будет злить загрузка опций из файла, недоступного на запись, который сделан, когда прогу запускал админ и передвинул окно, скажем, в ж.
7. Чтобы наиболее усилить эффект пункта (2), можно сделать эфу фичу как отдельный компонент, не имеющий параметров и методов. Но смысла делать компоненты без параметров/медов не много.
карма: 0

0
Администрация
Ответов: 15295
Рейтинг: 1519
#8: 2004-09-08 21:46:16 ЛС | профиль | цитата
<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
0
Ответов: 857
Рейтинг: 1
#9: 2004-09-08 22:48:40 ЛС | профиль | цитата
DiMA, вы помойму нимного не поняли , Хиасмом не тока профы пользуются но и те кто реестр в глаза не видел, так что я думаю что следует все таки прислушиватся к мнению пользователей, как это делает Дилма за енто мы его и любим правда парни?
карма: 1

0
Ответов: 377
Рейтинг: 0
#10: 2004-09-09 08:26:26 ЛС | профиль | цитата

карма: 1

0
Ответов: 25
Рейтинг: 0
#11: 2004-09-09 09:40:31 ЛС | профиль | цитата
Dilma

Полностью поддерживаю!
Я сам все чаще смотрю в сторону тех программ, которые хранят настройки в ini файлах (ну или в других файлах, но только не в реестре). Это удобно не только при переустновке винды или же создания бекапов (с помощью программ), это хорошо еще и тем, что свои настройки я могу передать другому человеку. Который в свою очередь, понятия не имеет, что и как делать.
К примеру: Outpost Firewall & KAV. Мне лично проще кинуть пару маленьких файликов, нежели часами объяснять в аське что и как делать...

"MarGoo" писал(а):

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

Ну... любить в данном случае, все же больше по женской части ;), я лично его уважаю.
карма: 1

0
Гость
Ответов: 17029
Рейтинг: 0
#12: 2004-09-09 10:18:31 ЛС | профиль | цитата
Сколько можно бредить-то? Еще раз тыкаю в очевидную вещь - файлы не дадут раздельных настроек каждому юзеру. Бредово заранее отнимать важное свойство. Бредово обсуждать то, что еще не написано, т.е. шкуру неубитого медведя. Бред про аутпост - хранит он в реестре именно свои настройки. А правила и логи действительно на диске. Но не из-за бреда, обсуждаемого здесь, а по соображениям большого объема и частой записи/чтения. Хочешь файлы - сделал молча и выложил.

Это была моя ошибка, что я тут привел метод сохранения данных. А так бы юзали тихо, кому надо (фича не навязывается), и пищали бы от счастья от сей полезной мелочи.
карма: 0

0
Ответов: 857
Рейтинг: 1
#13: 2004-09-09 11:38:20 ЛС | профиль | цитата
даже если бы ты не сказал то все ровно бы узнали я напремер свой реестр раз в неделю проверяю, на наличие всякой лабуды, ты немного игоистичин, но енто компенсируется твоей помощью и забавными дополнениями, так что не обижайся.
карма: 1

0
Администрация
Ответов: 15295
Рейтинг: 1519
#14: 2004-09-09 17:45:56 ЛС | профиль | цитата
<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
0
Ответов: 25
Рейтинг: 0
#15: 2004-09-09 19:38:55 ЛС | профиль | цитата
"DiMA" писал(а):
Бред про аутпост - хранит он в реестре именно свои настройки. А правила и логи действительно на диске. Но не из-за бреда, обсуждаемого здесь, а по соображениям большого объема и частой записи/чтения. Хочешь файлы - сделал молча и выложил.

Та пара настроек, что хранится в реестре - мелочи! Часть, самых (для меня) важных настроек хранится в файлах! А галочки напротив "делать обновление через инет" и еще что-то, можно и самому выставить.
Все правила (это вообще наиважнейшее), настройки журнала, список сайтов для блокировки, список рекламных строк и еще много чего лежит именно в ini файлах, так что бекапить/корректировать очень удобно.
Еще пример, Sev-U, там есть выбор или реестр или файлы. Опять же, зачем мне хранить их в реестре? Если винда ляжет то, с большой вероятностью можно сказать, что я потеряю огромное (если не все) кол-во настроек пользователей.
Примеры можно и дальше приводить... Но если нет желания делать, не делай, но не надо кричать, что все вокруг идиоты и ламеры (интерпритация слова "бред")!
карма: 1

0
Сообщение
...
Прикрепленные файлы
(файлы не залиты)