Avatar
standa.dolezal:

Ahoj, potřeboval bych poradit.
Mám soubor, kam zapisuji text ve tvaru : text-text
do listboxu si soubor vypíšu a potřeboval bych, aby když jeden řádek(text-text) v listboxu označím, pak kliknu na tlačítko tak aby se mi označený záznam smazal.Netušíte někdo jak na to?

 
Odpovědět 11.12.2012 1:11
Avatar
Luboš Běhounek (Satik):

Budeš muset celý soubor uložit znova s úpravami, které jsi provedl, v souboru nejde vymazat jen kousek.
Takže nejspíš nejdřív normálně smazat řádek z ListBoxu a pak uložit obsah celého ListBoxu znova do souboru.

Editováno 11.12.2012 1:48
Nahoru Odpovědět 11.12.2012 1:47
:)
Avatar
matesax
Redaktor
Avatar
Odpovídá na standa.dolezal
matesax:

Preferuji - a nejsem sám - metodu - jednou načíst a jedenou uložit... Při spuštění souboru si načti data ze souboru - s parametrem OpenOrCreate a nejspíše v cyklu naplň ListBox. Pak se starej již jen o řádky v ListBoxu. A až ve FormClosing dej zápis s parametrem Create - takto přepíšeš původní soubor - dle řádků v ListBoxu. Pro tento účel bych si přetížil ToString s využitím LINQ - ale to je již na tobě... A soubor měj v AppData -

Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData);
Editováno 11.12.2012 7:37
 
Nahoru Odpovědět 11.12.2012 7:36
Avatar
Kit
Redaktor
Avatar
Odpovídá na matesax
Kit:

Možná nejsi sám, ale se mnou nepočítej. Preferuji databázi. Jinak nemáš jistotu, že se ti konfigurace neztratí.

Nahoru Odpovědět 11.12.2012 8:45
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
matesax
Redaktor
Avatar
Odpovídá na Kit
matesax:

Databázi? Tak jestli tam má jen menší textové položky, tak mi přijde jednnodušší ten soubor. Ovšem mě se tam nelíbí ani ten ListBox - ovšem to se tu neřešilo, tak jsem to ani já nepitval...

 
Nahoru Odpovědět 11.12.2012 8:50
Avatar
Kit
Redaktor
Avatar
Odpovídá na matesax
Kit:

Používám i dvouřádkovou databázi. Na disku zabírá jen pár bytů a práce s ní je jednodušší a spolehlivější než se souborem.

Nahoru Odpovědět 11.12.2012 8:54
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
standa.dolezal:

Mockrát děkuji za tipy :)...Pro mě bude asi nejjednodušší smazat záznam z list boxu a pak přepsat celý soubor tím, co mi zůstane v listboxu, nemám tam tolik údajů.
Teď jsem nenapsal by mi někdo, jak by to mělo vypadat?Moje snahy jsou zatím stále marné a hází mi to trošku něco jiného :D

 
Nahoru Odpovědět 11.12.2012 11:01
Avatar
matesax
Redaktor
Avatar
Odpovídá na standa.dolezal
matesax:

Už jsem to napsal - v konstruktoru přečti soubor s parametrem OpenOrCreate a vyplň jeho údaji příslušný ListBox. Ve FormClosing eventu pak zapiš s parametrem Create...

using (Stream(Writer/Reader) xxx = new Stream(Writer/Reader)(new FileStream("cesta", FileMode.(OpenOrCreate/Create))))
Editováno 11.12.2012 15:15
 
Nahoru Odpovědět  +1 11.12.2012 15:14
Avatar
Eldest
Redaktor
Avatar
Odpovídá na Kit
Eldest:

Kite mohl bys sem nějakou ukázku JEDNODUCHÉHO! :D programu, kde takovou DB používáš hodit? Díky (nebo napiš do zpráv, pokud bys mi to byl třeba ochotný poslat na e-mail)

 
Nahoru Odpovědět 11.12.2012 19:43
Avatar
Kit
Redaktor
Avatar
Odpovídá na Eldest
Kit:

Něco takového jsem se snažil popsat na
http://www.itnetwork.cz/…ni-jen-mysql
ale pokračování, ve kterém se čte i zapisuje, jsem ještě nedokončil.

V C# neprogramuji, budeš si to muset v knihovnách najít sám. Ale vím, že C# má také nějakou jednoduchou databázi, která se dá použít podobným způsobem.

Nahoru Odpovědět 11.12.2012 20:07
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
 
Nahoru Odpovědět 11.12.2012 23:27
Avatar
matesax
Redaktor
Avatar
Odpovídá na Kit
matesax:

Může použít i tu tvou - s MySQL není žádný problém... Ale já bych použil normální lokální DB - pěkně s LINQ...

http://www.codeproject.com/…al-with-MySQ

Editováno 12.12.2012 7:19
 
Nahoru Odpovědět 12.12.2012 7:17
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 12 zpráv z 12.