uložení nastavení   otázka

VB.NET, WinForms

Dobrý den, jakým způsobem si mohu uložit uživatelské nastavení textboxů a jiných prvků v programu pro nové spuštění programu?

Roman

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Dobrý den, v zásadě máte dvě možnosti. Buď si to můžete napsat sám a nastavení ukládat např. to txt souborů (výhoda: absolutní kontrola nad tim vším, nevýhoda: pracnost) a nebo můžete využít vestavěný systém ukládání.

Pokud budete chtít využít druhý případ, tak ve vlastnostech projektu na kartě settings si můžete vytvořit potřebné proměnné které chcete ukládat a z kódu k nim pak můžete přistupovat přes:

My.Settings.NazevVytvorenePromenne

Navíc v tomto případě budete moci využít vlastnost PropertyBinding (je skryta pod ApplicationSettings) kterou má většina komponent (textBox ji má). Takže pouze u konkrétního textboxu vyberete vlastnost PropertyBinding, v tabulce kliknete na vlastnost text a ze seznamu si vyberete uloženou property kterou to má do textu načíst. Bude to dělat to co požadujete aniž by jste musel napsat jediný řádek kódu. Jediná nevýhoda je, že nemáte kontrolu kam se tyto data v počítači ukládají, ale většinou to není potřeba řešit, je to uděláno tak aby nebyl problém s oprávněním atd.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Jestli rozumím dobře a abych formuloval to co jsem pochopil, data se ukládají někam v PC, nevíme kam, ale po ukončení programu a vypnutí počítače bude opět spuštěný program vědět, jaké měl při posledním spuštění minulý týden nastavené hodnoty i když mezitím bylo PC 20x spuštěno a proběhla instalace nějakého programu?

Roman

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Lze všechny settings uložit místo "někde v PC" do konkrétního souboru v adresáři mé aplikace?

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Vyz příspěvek s odkzem na providery. Je tam provider, ktrý ukládá soubor přímo do adresáře spuštěné aplikace.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Není to tak že by jsme nevěděli kam. Ukládá se to kamsi do uživatelských složek. Pokud to potřebujete vědět přesně, na internetu to určitě najdete. já jsem po tom nikdy nepátral. Data jsou uložená myslím jako xml dokument, ale to si nejsem jistý. pokud data někdo ručně nevymaže (ale dá to trochu práce protože budou nejspíš ve skryté složce) tak je jedno za jak dlouho zapnete pc, soubory tam zůstanou dokud nezformátujete disk. Navíc je to ošetřeno tak, aby k těmto datum nemohla přistupovat jiná aplikace. Můžete si ale nastavit, zda uložená data mají být sdílená pro všechny uživatele na daném PC a nebo zda bude mít každý uživatel svoje nastavení.

Co se týká změny kam se data mají ukládat tak to nejspíš nejde (alespoň ne nějak jednoduše). Už jen z důvodu bezpečnosti to není uplně žádoucí, složky kam se data automaticky ukládají mají nastavená příslušná oprávnění, která by jste jinak musel složitě nastavovat ručně.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

U výchozího poskytovatele nastavení (SettingsProvider) cesta ke konfiguračnímu souboru změnit nejde, ukládá se do složky uživatele pod názvem vytvořeným ze jména a verze assembly, všechny konfigurační soubory ve Frameworku jsou XML. Nejde o žádné oprávnění (vzhledem k tomu, že je to nastavení pro konkrétního uživatele oprávnění nemá smysl), ale o to, aby nedocházelo ke konfliktu nastavení mezi různými verzemi stejné assembly.

nahlásit spamnahlásit spam 1 / 1 odpovědětodpovědět

Zkuzte použít settings a providery.

ukázku s knihovnou providrů najdete je tam na registry a soubor v adresáři aplikace.

http://www.uloz.to/8309413/settingsprovi...

nahlásit spamnahlásit spam -1 / 1 odpovědětodpovědět

Z důvodu napadání redaktory a správci VBNET soubory z ulozto stahuji.

nahlásit spamnahlásit spam -3 / 3 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.
  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:
Heslo:

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback