Diskuze: Mazání ze souboru po označení v listboxu
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.


Zobrazeno 12 zpráv z 12.
K personalizaci obsahu a reklam, poskytování funkcí sociálních médií a analýze naší návštěvnosti využíváme soubory cookie. Informace o tom, jak náš web používáte, sdílíme se svými partnery pro sociální média, inzerci a analýzy. Partneři tyto údaje mohou zkombinovat s dalšími informacemi, které jste jim poskytli nebo které získali v důsledku toho, že používáte jejich služby.
Používáme nezbytné cookies pro fungování webu a s tvým souhlasem také analytické a marketingové cookies.
Zajišťují základní funkce, bezpečnost a služby, které sis vyžádal. Nelze je vypnout.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| ITnetwork | ITnetwork | Provoz webu, relace, přihlášení a uložení nastavení cookies. | PHPSESSID, auth_token, sid, itn_consent_impression, __Host-itn_consent | Relace až 1 rok |
| Google Tag Manager | Správa značek a načítání měřicích nástrojů webu. | Žádné | Neukládá se | |
| Google Fonts | Načítání typografie webu. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele | |
| Google Hosted Libraries | Načítání potřebných knihoven a stylů webu. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele | |
| Google reCAPTCHA | Ochrana formulářů a webu před zneužitím. | _GRECAPTCHA, rc::a, rc::b, rc::c, rc::f | Relace až 180 dní | |
| YouTube | Přehrávání vloženého video obsahu. | localStorage, IndexedDB; cookies after playback interaction | Relace až trvalé úložiště | |
| Vimeo | Vimeo | Přehrávání vloženého video obsahu. | __cf_bm, _cfuvid, vuid, localStorage, IndexedDB | Relace až 2 roky |
| Facebook Login | Meta | Přihlášení pomocí účtu třetí strany. | Úložiště řízené poskytovatelem | Relace až 1 rok |
| GoPay | GoPay | Zpracování uživatelem vyžádané platby. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele |
Pomáhají nám porozumět používání webu a zlepšovat ho.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| Google Analytics 4 | Měření návštěvnosti a používání webu. | _ga, _ga_* | Až 2 roky | |
| Microsoft Clarity | Microsoft | Měření návštěvnosti a používání webu. | _clck, _clsk, _cltk | Relace až 1 rok |
Slouží k měření kampaní, personalizaci reklamy a marketingové komunikaci.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| Google Ads | Měření kampaní, reklama a remarketing. | _gcl_au, _gcl_ls | Relace až 90 dní | |
| Meta Pixel | Meta | Měření kampaní, reklama a remarketing. | _fbp, _fbc, localStorage | Až 90 dní |
| Sklik | Seznam.cz | Měření kampaní, reklama a remarketing. | retargeting, sid, szn:* | Relace až trvalé úložiště |
| LinkedIn Insight | Měření kampaní, reklama a remarketing. | bcookie, li_gc, lidc, __cf_bm | Relace až 1 rok | |
| Ecomail | Ecomail.cz | Měření kampaní, reklama a remarketing. | ecmid, Úložiště řízené poskytovatelem | Dle podmínek poskytovatele |
| Atribuce kampaní ITnetwork | ITnetwork | Přiřazení návštěvy a objednávky ke kampani. | campaign_clid[*], user_session_context | Až 1 rok |
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.


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.
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);
Možná nejsi sám, ale se mnou nepočítej. Preferuji databázi. Jinak nemáš jistotu, že se ti konfigurace neztratí.
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...
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.
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 
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))))
Kite mohl bys sem nějakou ukázku JEDNODUCHÉHO!
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)
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.
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...
Zobrazeno 12 zpráv z 12.