wczytywanie opcji programu

Odpowiedz Nowy wątek
bob12345
2009-08-05 23:07
bob12345
0

Witam,
Pisząc program napotkałem na pewnien problem, chciałbym żeby użytkownik mógł ustawiać różne właściwości programu np. rozmiar okna, kolory przycisków, czy dzwięki wciskanych klawiszy, chciałbym żeby po zmianie ustawieniu właściwości a następnie wyłączeniu programu i włączeniu zmany byly widoczne a nie program wraca do ustawień początkowych.

Jakimś rozwiązaniem jest żeby te informacje zapisać do zwykłego pliku txt, ale nie jest to rozwiązanie profesionalne, można by było rówież zapisać je np w XML ale czy to ma sens... to sam niewiem, prosiłbym o odpowiedź (opinie) kogoś kto wie jak to się robi profesionalnie. Z góry dzięki

Pozostało 580 znaków

2009-08-05 23:32

Rejestracja: 11 lat temu

Ostatnio: 7 lat temu

0

Możesz użyć klasy Settings:

Settings.Default.Context.Add("WindowSize", new Size(100, 200));
Settings.Default.Save();
//Pobieramy zapisane dane
this.Size = (Size)Settings.Default.Context["WindowSize"];

Możesz stworzyć klasę, którą następnie zserializujesz do pliku Xml lub binarnego. Zależy jakiego typu dane chcesz przechowywać.


Pozostało 580 znaków

2009-08-06 00:22

Rejestracja: 10 lat temu

Ostatnio: 4 lata temu

0

IMHO najlepszym rozwiązaniem jest XML.
keyword: serializacja klasy

Pozostało 580 znaków

2009-08-06 07:34

Rejestracja: 10 lat temu

Ostatnio: 10 lat temu

0

Wg mnie w tym wypadku to najlepszym są Settingsy. Od razu mamy rozdzielenie na ustawienia użytkownika i globalne (dla wszystkich).
Serializacja klasy jest prosta, ale po co coś robić jak mamy to od razu gotowe.


Pozostało 580 znaków

Ermes
2009-08-06 20:15
Ermes
0

Jak by sie kto uparł to jeszcze można wykorzystać rejestr systemu ;)

Namespace: Microsoft.Win32
Klasa statyczna: Registry
Klasa: RegistryKey

też czasem przydatne ;)

Pozostało 580 znaków

2009-08-06 20:53
Moderator

Rejestracja: 11 lat temu

Ostatnio: 1 godzina temu

Lokalizacja: Wrocław

0
Ermes napisał(a)

Jak by sie kto uparł to jeszcze można wykorzystać rejestr systemu ;)

Można też podłączyć pod RS232 murzyna z maszyną do pisania, który wszystko zapisze. Tylko czy jest sens?


"HUMAN BEINGS MAKE LIFE SO INTERESTING. DO YOU KNOW, THAT IN A UNIVERSE SO FULL OF WONDERS, THEY HAVE MANAGED TO INVENT BOREDOM."

Pozostało 580 znaków

Ermes
2009-08-06 21:16
Ermes
0
somekind napisał(a)

Można też podłączyć pod RS232 murzyna z maszyną do pisania, który wszystko zapisze. Tylko czy jest sens?

ależ Ty nie miły :] a pomyślałeś może że np. po odinstalowaniu aplikacji można by zostawić pewne klucze w rejestzre by mozna było jakieś ustawienia odtworzyć, przy upadatach, reinstalacjach (a to dopiero wieżchołek góry lodowej możliwych rozwiązań) ? Tam można przechowywać też dane binarne wiec całkiem sporo różnych rzeczy tam wejdzie i czasem warto to wykoszystać, więc może jednak jest sens o takiej możliwości wspomnieć, a praktycznie kazda aplikacja w jakims stopniu chociaż drobnym korzysta z rejestru.
Chyba wszyscy programiści w wielu firmach nagle nie zgłupieli :]

a akurat to, że w tym konkretnym przypadku do przetrzymywania typowych ustawień aplikacji najlepiej się nadaje Settings to kwestia tylko i wyłącznie tego konkretnego przypadku.

Pozostało 580 znaków

2009-08-06 21:21
Moderator

Rejestracja: 11 lat temu

Ostatnio: 1 godzina temu

Lokalizacja: Wrocław

0
Ermes napisał(a)

a pomyślałeś może że np. po odinstalowaniu aplikacji można by zostawić pewne klucze w rejestzre by mozna było jakieś ustawienia odtworzyć

Myślałem, myślałem i wymyśliłem np. katalog LocalAppData. Co Ty na to?


"HUMAN BEINGS MAKE LIFE SO INTERESTING. DO YOU KNOW, THAT IN A UNIVERSE SO FULL OF WONDERS, THEY HAVE MANAGED TO INVENT BOREDOM."

Pozostało 580 znaków

Ermes
2009-08-06 21:38
Ermes
0
somekind napisał(a)

Myślałem, myślałem i wymyśliłem np. katalog LocalAppData. Co Ty na to?

lepiej :] ale i tak łatwiej jest wykorzystać klucze do zapisania niektórych ważnych wpisów np. jakichś ścieżek dostępu, pare linijek mniej i znacznie mniej wyjątków do obsłużenia, poprostu łatwiej ;P
chyba że ma się tonę ustawień to nie ma sensu wpisywać ich do rejestru moża to wtedy lepiej zorganizować, byłoby za dużo kluczy.

a Tobie chyba tylko chodzi o jakąś słuszność że rejestr może jest wcale nie przydatny :] a tu sie mylisz :P

to tak jak powiedzieć "po co nam tablice? używajmy tylko i wyłącznie list..."

Pozostało 580 znaków

2009-08-07 01:30
Moderator

Rejestracja: 11 lat temu

Ostatnio: 1 godzina temu

Lokalizacja: Wrocław

0

I pomyśleć, że są na świecie SO, które nie mają rejestru.


"HUMAN BEINGS MAKE LIFE SO INTERESTING. DO YOU KNOW, THAT IN A UNIVERSE SO FULL OF WONDERS, THEY HAVE MANAGED TO INVENT BOREDOM."

Pozostało 580 znaków

2009-08-07 12:33

Rejestracja: 16 lat temu

Ostatnio: 10 lat temu

0

Rejestr nie sluzy do przechowywania danych, tylko ustawien wspoldzielonych miedzy aplikacjami. Dlaczego? Poniewaz jego rozmiar bardzo wplywa na wydajnosc systemu. Od zapisywania ustawien prywatnych aplikacji sa katalogi uzytkownika (jak wspomniany przez somekind'a AppData).

Forma dowolna; XML jest wygodny.


<font color="red">Konto porzucone</span>

Dzięki wszystkim forumowiczom za lata wspólnych dyskusji; miłej zabawy w programowanie!
Sławomir 'Szczawik' Włodkowski

Pozostało 580 znaków

Odpowiedz

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0