Po roce vývoje od vydání verze 1.24.0 byla vydána nová stabilní verze 1.26.0 webového serveru a reverzní proxy nginx (Wikipedie). Nová verze přináší řadu novinek. Podrobný přehled v souboru CHANGES-1.26.
Byla vydána nová verze 6.2 živé linuxové distribuce Tails (The Amnesic Incognito Live System), jež klade důraz na ochranu soukromí uživatelů a anonymitu. Přehled změn v příslušném seznamu. Tor Browser byl povýšen na verzi 13.0.14.
Byla vydána nová verze 30.0.0 frameworku pro vývoj multiplatformních desktopových aplikací pomocí JavaScriptu, HTML a CSS Electron (Wikipedie, GitHub). Chromium bylo aktualizováno na verzi 124.0.6367.49, V8 na verzi 12.4 a Node.js na verzi 20.11.1. Electron byl původně vyvíjen pro editor Atom pod názvem Atom Shell. Dnes je na Electronu postavena celá řada dalších aplikací.
Byla vydána nová verze 9.0.0 otevřeného emulátoru procesorů a virtualizačního nástroje QEMU (Wikipedie). Přispělo 220 vývojářů. Provedeno bylo více než 2 700 commitů. Přehled úprav a nových vlastností v seznamu změn.
Evropský parlament dnes přijal směrnici týkající se tzv. práva spotřebitele na opravu. Poslanci ji podpořili 584 hlasy (3 bylo proti a 14 se zdrželo hlasování). Směrnice ujasňuje povinnosti výrobců opravovat zboží a motivovat spotřebitele k tomu, aby si výrobky nechávali opravit a prodloužili tak jejich životnost.
Bylo oznámeno (cs) vydání Fedora Linuxu 40. Přehled novinek ve Fedora Workstation 40 a Fedora KDE 40 na stránkách Fedora Magazinu. Současně byl oznámen notebook Slimbook Fedora 2.
ČTK (Česká tisková kancelář) upozorňuje (X), že na jejím zpravodajském webu České noviny byly dnes dopoledne neznámým útočníkem umístěny dva smyšlené texty, které nepocházejí z její produkce. Jde o text s titulkem „BIS zabránila pokusu o atentát na nově zvoleného slovenského prezidenta Petra Pelligriniho“ a o údajné mimořádné prohlášení ministra Lipavského k témuž. Tyto dezinformace byly útočníky zveřejněny i s příslušnými notifikacemi v mobilní aplikaci Českých novin. ČTK ve svém zpravodajském servisu žádnou informaci v tomto znění nevydala.
Byla založena nadace Open Home Foundation zastřešující více než 240 projektů, standardů, ovladačů a knihoven (Home Assistant, ESPHome, Zigpy, Piper, Improv Wi-Fi, Wyoming, …) pro otevřenou chytrou domácnost s důrazem na soukromí, možnost výběru a udržitelnost.
Společnost Meta otevírá svůj operační systém Meta Horizon OS pro headsety pro virtuální a rozšířenou realitu. Vedle Meta Quest se bude používat i v připravovaných headsetech od Asusu a Lenova.
Společnost Espressif (ESP8266, ESP32, …) získala většinový podíl ve společnosti M5Stack, čímž posiluje ekosystém AIoT.
Řešení dotazu:
IFormatter formatter = new BinaryFormatter(); Stream stream = new FileStream("MyFile.bin", FileMode.Create, FileAccess.Write, FileShare.None); formatter.Serialize(stream, MyBindingList); stream.Close(); //X IFormatter formatter = new BinaryFormatter(); Stream stream = new FileStream("MyFile.bin", FileMode.Open, FileAccess.Read, FileShare.Read); MyBindingList<tx> MyBindingList = (BindingList<Tx>) formatter.Deserialize(stream); stream.Close();
var formatter = new System.Xml.Serialization.XmlSerializer();místo
BinaryFormatter
.
(var
mi umožní vynechat datový typ proměnné, takže místo string abc = "def";
můžu použít var abc = "def";
- ale je vhodnější to používat s něčím jednoznačným, třeba s Listem.)
Díky moc. To mi to hodně ulehčí, akorát deserializaci jsem nerozchodil. Ikdyž k načtení snad dojde, ale v BindingListu nic není. Dělám chybu jinde? Nebo jsem to nepochopil?
public static class Data
{
private static BindingList<Kontakt> kontakty = new BindingList<Kontakt>();
public static void Uloz()
{
IFormatter formatter = new BinaryFormatter();
Stream stream = new FileStream("kontakty.bin", FileMode.Create, FileAccess.Write, FileShare.None);
formatter.Serialize(stream, kontakty);
stream.Close();
}
public static void Nacti()
{
IFormatter formatter = new BinaryFormatter();
Stream stream = new FileStream("kontakty.bin", FileMode.Open, FileAccess.Read, FileShare.Read);
BindingList<Kontakt> kontakty = (BindingList<Kontakt>)formatter.Deserialize(stream);
stream.Close();
}
}
Nacti()
načítáš obsah souboru do lokální proměnné, se kterou pracuješ jen v té dané metodě a nikde jinde, takže se nepřenese do BindingListu, který máš někde jinde.
Řešení? Budeš asi chtít, aby metoda Nacti()
vracela BindingList<Kontakt>
, který sis načetl ze souboru do proměnné kontakty
, takže té metodě nastavíš návratový typ BindingList<Kontakt>
a nakonec vrátíš:
return kontakty;A řešení pro část kódu, odkud voláš načítací metodu, si už asi domyslíš.
Tiskni Sdílej: