Byla vydána verze R14.1.2 desktopového prostředí Trinity Desktop Environment (TDE, fork KDE 3.5). Přehled novinek v poznámkách k vydání, podrobnosti v seznamu změn.
Dnešním dnem lze již také v Česku nakupovat na Google Store (telefony a sluchátka Google Pixel).
Apple představil (keynote) iPad Pro s čipem Apple M4, předělaný iPad Air ve dvou velikostech a nový Apple Pencil Pro.
Richard Biener oznámil vydání verze 14.1 (14.1.0) kolekce kompilátorů pro různé programovací jazyky GCC (GNU Compiler Collection). Jedná se o první stabilní verzi řady 14. Přehled změn, nových vlastností a oprav a aktualizovaná dokumentace na stránkách projektu. Některé zdrojové kódy, které bylo možné přeložit s předchozími verzemi GCC, bude nutné upravit.
Free Software Foundation zveřejnila ocenění Free Software Awards za rok 2023. Vybráni byli Bruno Haible za dlouhodobé příspěvky a správu knihovny Gnulib, nováček Nick Logozzo za front-end Parabolic pro yt-dlp a tým Mission logiciels libres francouzského státu za nasazování svobodného softwaru do praxe.
Před 10 lety Microsoft dokončil akvizici divize mobilních telefonů společnosti Nokia a pod značkou Microsoft Mobile ji zanedlouho pohřbil.
Fedora 40 release party v Praze proběhne v pátek 17. května od 18:30 v prostorách společnosti Etnetera Core na adrese Jankovcova 1037/49, Praha 7. Součástí bude program kratších přednášek o novinkách ve Fedoře.
Stack Overflow se dohodl s OpenAI o zpřístupnění obsahu Stack Overflow pro vylepšení OpenAI AI modelů.
AlmaLinux byl vydán v nové stabilní verzi 9.4 (Mastodon, 𝕏). S kódovým názvem Seafoam Ocelot. Přehled novinek v příspěvku na blogu a v poznámkách k vydání.
Před 50 lety, 5. května 1974 v žurnálu IEEE Transactions on Communications, Vint Cerf a Bob Kahn popsali protokol TCP (pdf).
Zdravím,
Pokouším se napsat program a spíš se i učím, ale mám problém s tímhle. Nedokážu pořád pochopit jak to pracuje a jedinej zdroj informací je
http://library.gnome.org/devel/glib/stable/glib-Key-value-file-parser.html
http://www.gtkbook.com/tutorial.php?page=keyfile
z čehož mi to pořád není jasný
Mám napsanou funkci pro přidávání záznamů
void add_record(gchar *name, gchar *last_name, gchar *birth, gchar *name_holiday) { GKeyFile *keyfile; GKeyFileFlags flags; GError *error = NULL; gchar *group_name; keyfile = g_key_file_new(); flags = G_KEY_FILE_KEEP_COMMENTS; if (!g_key_file_load_from_file (keyfile, "date_reminder.conf", flags, &error)) { g_error (error->message); return; } sprintf(group_name,"%s-%s", name, last_name); g_strup(group_name); /* Tohle je jenom kontrole záznamů co se tam bude vkládat */ printf("%s %s %s %s %s\n", group_name,name,last_name,birth,name_holiday); g_key_file_set_string(keyfile, group_name, "name", name); g_key_file_set_string(keyfile, group_name, "last_name", last_name); g_key_file_set_string(keyfile, group_name, "birth", birth); g_key_file_set_string(keyfile, group_name, "name_holiday", name_holiday); }
Problém je v tom, že se mi to do souboru neuloží a vůbec nevím co mi tam chybí nebo co mám blbě, takže budu rád za každou radu, protože v tuto chvíli víc asi nevymyslím. Výsledek by měl vypadat asi takhle pro uložení např. Jan, Osel, 4.5.1978, 5.6
[JAN-OSEL] name=Jan last_name=Osel birth=4.5.1978 name_holiday=5.6
Díky :)
Vyřešeno :)
void add_record(gchar *name, gchar *last_name, gchar *birth, gchar *name_holiday) { GKeyFile *keyfile; GKeyFileFlags flags; GError *error = NULL; gchar group_name[40]; gchar *buffer; gsize length; keyfile = g_key_file_new(); flags = G_KEY_FILE_KEEP_COMMENTS; if (!g_key_file_load_from_file (keyfile, "date_reminder.conf", flags, &error)) { g_error (error->message); return; } sprintf(group_name,"%s-%s", name, last_name); g_strup(group_name); printf("%s %s %s %s %s\n", group_name,name,last_name,birth,name_holiday); if(!g_key_file_has_group(keyfile,group_name)) { g_key_file_set_string(keyfile, group_name, "name", name); g_key_file_set_string(keyfile, group_name, "last_name", last_name); g_key_file_set_string(keyfile, group_name, "birth", birth); g_key_file_set_string(keyfile, group_name, "name_holiday", name_holiday); } else { printf("už existuje\n"); } buffer = g_key_file_to_data(keyfile, &length, NULL); g_file_set_contents ("date_reminder.conf", buffer, length, &error); g_key_file_free(keyfile); g_free(buffer); }
sprintf(group_name,"%s-%s", name, last_name); g_strup(group_name);je dosť zvláštna. Lepšie je asi niečo ako
group_name = g_strdup_printf("%s-%s", name, last_name);(a potom samozrejme g_free(group_name);) GKeyFile neukladá automaticky do súboru, o to sa musíš postarať ty. Funkcia g_key_file_to_data vráti reťazec obsahujúci tie kľúče/hodnoty a potom s tým musíš niečo urobiť (v tvojom prípade to musíš uložiť do toho súboru).
Díky,
Já teprv s Glib začínám takže ješte všechny ty funkce tak neznám takže nemám přehled :)
Tiskni Sdílej: