чтоб программа зпоминала расположение на экране.

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
DeMONiZ
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 162
Зарегистрирован: 03.01.2009 (Сб) 18:32

чтоб программа зпоминала расположение на экране.

Сообщение DeMONiZ » 13.03.2009 (Пт) 19:56

Как сделать чтоб программа запоминала расположение на экране и при последующем запуске открывалась на том месте где была закрыта.
Прошу дать пример.

MIT
Мега гуру
Мега гуру
Аватара пользователя
 
Сообщения: 2211
Зарегистрирован: 17.09.2006 (Вс) 22:46

Re: чтоб программа зпоминала расположение на экране.

Сообщение MIT » 13.03.2009 (Пт) 20:03

Обсуждалось много раз. В поиск.

Но, имхо, и поиск не нужен если включить логику: надо запомнить расположение... ну так запиши его куда-нибудь (реестр, ini, xml), и считывай при запуске.
Изображение
You can change your face, but can`t change your mind. No matter what you do.
Создайте еще более понятный интерфейс и мир создаст еще более тупого юзера. (с) Баш

DeMONiZ
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 162
Зарегистрирован: 03.01.2009 (Сб) 18:32

Re: чтоб программа зпоминала расположение на экране.

Сообщение DeMONiZ » 13.03.2009 (Пт) 20:25

в ini. вот я и прошу пример дать. в поиске я не нашел наверно не так искал!

MIT
Мега гуру
Мега гуру
Аватара пользователя
 
Сообщения: 2211
Зарегистрирован: 17.09.2006 (Вс) 22:46

Re: чтоб программа зпоминала расположение на экране.

Сообщение MIT » 13.03.2009 (Пт) 20:37

Как же ты, позволь спросить, искал? По запросу "ini" я сразу же нашел нужную тебе тему :evil:
Изображение
You can change your face, but can`t change your mind. No matter what you do.
Создайте еще более понятный интерфейс и мир создаст еще более тупого юзера. (с) Баш

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16489
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: чтоб программа зпоминала расположение на экране.

Сообщение Хакер » 13.03.2009 (Пт) 20:44

А надо в реестр.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

MIT
Мега гуру
Мега гуру
Аватара пользователя
 
Сообщения: 2211
Зарегистрирован: 17.09.2006 (Вс) 22:46

Re: чтоб программа зпоминала расположение на экране.

Сообщение MIT » 13.03.2009 (Пт) 20:57

Дык никто и не спорит: я, вон, выбор какой предложил :)

З.Ы.: правда, реестр не катит, если программа портативная
Изображение
You can change your face, but can`t change your mind. No matter what you do.
Создайте еще более понятный интерфейс и мир создаст еще более тупого юзера. (с) Баш

SSecurity
Служба безопасности
Аватара пользователя
 
Сообщения: 1283
Зарегистрирован: 19.08.2003 (Вт) 1:11
Откуда: Россия, Мурманск

Re: чтоб программа зпоминала расположение на экране.

Сообщение SSecurity » 13.03.2009 (Пт) 21:48

если каждое окошко будт в реестр всякие данные записывать... крута будет в реестре тогда :)

Код: Выделить всё
Private Sub Form_Load()
  Left = GetSetting("VASJA", "POS", "LEFT", Left & "")
  Top = GetSetting("VASJA", "POS", "TOP", Top & "")
  Width = GetSetting("VASJA", "POS", "WIDTH", Width & "")
  Height = GetSetting("VASJA", "POS", "HEIGHT", Height & "")
End Sub

Private Sub Form_Unload(Cancel As Integer)
  SaveSetting "VASJA", "POS", "LEFT", Me.Left
  SaveSetting "VASJA", "POS", "TOP", Me.Top
  SaveSetting "VASJA", "POS", "WIDTH", Me.Width
  SaveSetting "VASJA", "POS", "HEIGHT", Me.Height
End Sub


если совсем лень:)

а вот что в реестре осталось
Код: Выделить всё
[HKEY_CURRENT_USER\Software\VB and VBA Program Settings\VASJA]

[HKEY_CURRENT_USER\Software\VB and VBA Program Settings\VASJA\POS]
"LEFT"="8850"
"TOP"="1830"
"WIDTH"="7965"
"HEIGHT"="4935"
Программист - это маленький Бог, а все его ошибки - это самостоятельные творения:)
Так задумано:)

Andrey Fedorov
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3287
Зарегистрирован: 21.05.2004 (Пт) 9:28
Откуда: Москва

Re: чтоб программа зпоминала расположение на экране.

Сообщение Andrey Fedorov » 15.03.2009 (Вс) 3:39

Хакер писал(а):А надо в реестр.


Кстати, большой вопрос. Реестр все больше превращается в свалку. Программы пишут туда весь свой мусор и после сноса еxе-шника его там ни кто не почистит. Довольно незначительная часть программеров озадачивается чисткой этого мусора и при деинсталяции. Кроме того гораздо удобней перетаскивать программу на другой комп просто скопировав ее каталог, а не выискивая вдобавок ключи в реестре...

Хотя грешен, сам многое пишу в реестр, на вроде того-же расположения окон...
Фиг Вам! - Сказал Чебурашка, обгладывая Крокодила Гену...

Williams
Гуру
Гуру
Аватара пользователя
 
Сообщения: 1280
Зарегистрирован: 06.05.2008 (Вт) 18:35
Откуда: System.Reflection.Williams (увидел себя в зеркале :))

Re: чтоб программа зпоминала расположение на экране.

Сообщение Williams » 15.03.2009 (Вс) 16:35

Все-таки xml файлы удобнее чем реестр. Пройдя через реестр, вернулись к истокам
И вы думаете, что вас оставят в живых после прочтения этого поста?

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16489
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: чтоб программа зпоминала расположение на экране.

Сообщение Хакер » 15.03.2009 (Вс) 16:39

Реестр для хранения настроек — промышленный стандарт от Microsoft.

Реестр изначально разработан с большим запасом прочности и расчитан на то, чтобы хранить очень много мелочи.

Реестр обеспечивает прозрачный мезанизм разделения настроек на per-user и per-machine.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

SSecurity
Служба безопасности
Аватара пользователя
 
Сообщения: 1283
Зарегистрирован: 19.08.2003 (Вт) 1:11
Откуда: Россия, Мурманск

Re: чтоб программа зпоминала расположение на экране.

Сообщение SSecurity » 15.03.2009 (Вс) 16:43

А XML широковат для настроек ... можно нормально раздуть файл настроек ... хоть конечно он и красивым получается и возможности поболе:)

Вообщем для таскания своих настроек я бы выбрал INI для настроек под конкретную машину - реестр:)
Программист - это маленький Бог, а все его ошибки - это самостоятельные творения:)
Так задумано:)

iGrok
Артефакт VBStreets
Артефакт VBStreets
 
Сообщения: 4272
Зарегистрирован: 10.05.2007 (Чт) 16:11
Откуда: Сетевое сознание

Re: чтоб программа зпоминала расположение на экране.

Сообщение iGrok » 15.03.2009 (Вс) 17:26

SSecurity писал(а):А XML широковат для настроек ... можно нормально раздуть файл настроек ... хоть конечно он и красивым получается и возможности поболе:)

Вообщем для таскания своих настроек я бы выбрал INI для настроек под конкретную машину - реестр:)

Ну да. Portable - INI. Софт с установкой - реестр.
label:
cli
jmp label

Williams
Гуру
Гуру
Аватара пользователя
 
Сообщения: 1280
Зарегистрирован: 06.05.2008 (Вт) 18:35
Откуда: System.Reflection.Williams (увидел себя в зеркале :))

Re: чтоб программа зпоминала расположение на экране.

Сообщение Williams » 15.03.2009 (Вс) 18:06

Хакер писал(а):Реестр обеспечивает прозрачный мезанизм разделения настроек на per-user и per-machine.


С XML-файлами такое тоже возможно.
И вы думаете, что вас оставят в живых после прочтения этого поста?

Andrey Fedorov
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3287
Зарегистрирован: 21.05.2004 (Пт) 9:28
Откуда: Москва

Re: чтоб программа зпоминала расположение на экране.

Сообщение Andrey Fedorov » 15.03.2009 (Вс) 19:56

SSecurity писал(а):А XML широковат для настроек ... можно нормально раздуть файл настроек ... хоть конечно он и красивым получается и возможности поболе:)

Вообщем для таскания своих настроек я бы выбрал INI для настроек под конкретную машину - реестр:)


INI удобен тем что что его содержимое можно посмотреть и исправить ручками - иногда полезно. XML в этой степени менее удобен.
Фиг Вам! - Сказал Чебурашка, обгладывая Крокодила Гену...

Andrey Fedorov
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3287
Зарегистрирован: 21.05.2004 (Пт) 9:28
Откуда: Москва

Re: чтоб программа зпоминала расположение на экране.

Сообщение Andrey Fedorov » 15.03.2009 (Вс) 19:57

Хакер писал(а):Реестр для хранения настроек — промышленный стандарт от Microsoft.
Реестр изначально разработан с большим запасом прочности и расчитан на то, чтобы хранить очень много мелочи.
Реестр обеспечивает прозрачный мезанизм разделения настроек на per-user и per-machine.


Угу, а потом другие люди выдумывают разнообразные чистильщики реестра от накопившегося в нем мусора.
Просто меру надо знать во всем...
Фиг Вам! - Сказал Чебурашка, обгладывая Крокодила Гену...

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16489
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: чтоб программа зпоминала расположение на экране.

Сообщение Хакер » 15.03.2009 (Вс) 20:04

XML в этой степени менее удобен.

Он вообще не для этого.

Угу, а потом другие люди выдумывают разнообразные чистильщики реестра от накопившегося в нем мусора.

Ну, нечем больше людям заняться, вот и пишут.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Re: чтоб программа зпоминала расположение на экране.

Сообщение alibek » 15.03.2009 (Вс) 20:24

После того, как довелось пообщаться с системами, где имеется несколько десятков конфигурационных файлов, стал ценить реестр еще больше.
Ну а то, что его редактировать вручную сложнее, чем текстовый файл, проблема в какой-то степени надуманная — без текстового редактора и ini-файл не отредактируешь.
Lasciate ogni speranza, voi ch'entrate.

jangle
Википедик
Википедик
Аватара пользователя
 
Сообщения: 3013
Зарегистрирован: 03.06.2005 (Пт) 12:02
Откуда: Нидерланды

Re: чтоб программа зпоминала расположение на экране.

Сообщение jangle » 15.03.2009 (Вс) 20:42

XML - в конфигах имеет смысл для .NET софта. Там функции сериализации в XML, уже часть фреймворка.
Да и большинство компонентов, умеют сохранять свое состояние в XML, типа: Componet.SaveToXML ("ini.xml")

SSecurity
Служба безопасности
Аватара пользователя
 
Сообщения: 1283
Зарегистрирован: 19.08.2003 (Вт) 1:11
Откуда: Россия, Мурманск

Re: чтоб программа зпоминала расположение на экране.

Сообщение SSecurity » 15.03.2009 (Вс) 23:19

в качестве экзотики можно расположение окна, картинкой хранить :)))))))))))
а потом её (картинку) открывать ... и искать в нем окно по имеющимся признакам:))))
чем не способ? спсособ, но весьма специфичный и более трудоемкий:)

Зато любой юзер открыв файл сразу увидет где окно появится - очень наглядно:)))))
если ещё и имя такого файла настроек дать чтоб было понятно человеку типа "Положение формы на экране.jpg" ^))) :lol: :lol: :lol:
Программист - это маленький Бог, а все его ошибки - это самостоятельные творения:)
Так задумано:)

MIT
Мега гуру
Мега гуру
Аватара пользователя
 
Сообщения: 2211
Зарегистрирован: 17.09.2006 (Вс) 22:46

Re: чтоб программа зпоминала расположение на экране.

Сообщение MIT » 15.03.2009 (Вс) 23:31

SSecurity писал(а):и искать в нем окно по имеющимся признакам
Не, есть много способов хранения любых данных в файле изображения. Самый простой - наложение альфы (если таковая содержится) со значением не 255, а 254 (например, или 253 - для второго слоя данных), тем самым можно создавать строчки подобные битовым... и т.д. Либо хранение в "мертвых" зонах файла - например после конца данных самой картинки.
Изображение
You can change your face, but can`t change your mind. No matter what you do.
Создайте еще более понятный интерфейс и мир создаст еще более тупого юзера. (с) Баш

SSecurity
Служба безопасности
Аватара пользователя
 
Сообщения: 1283
Зарегистрирован: 19.08.2003 (Вт) 1:11
Откуда: Россия, Мурманск

Re: чтоб программа зпоминала расположение на экране.

Сообщение SSecurity » 15.03.2009 (Вс) 23:48

MIT писал(а):
SSecurity писал(а):и искать в нем окно по имеющимся признакам
Не, есть много способов хранения любых данных в файле изображения. Самый простой - наложение альфы (если таковая содержится) со значением не 255, а 254 (например, или 253 - для второго слоя данных), тем самым можно создавать строчки подобные битовым... и т.д. Либо хранение в "мертвых" зонах файла - например после конца данных самой картинки.

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

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


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: AhrefsBot и гости: 13

    TopList