Spolek OpenAlt zve příznivce otevřených řešení a přístupu na 209. brněnský sraz, který proběhne tento pátek 16. května od 18:00 ve studentském klubu U Kachničky na Fakultě informačních technologií Vysokého učení technického na adrese Božetěchova 2/1. Jelikož se Brno stalo jedním z hlavních míst, kde se vyvíjí open source knihovna OpenSSL, tentokrát se OpenAlt komunita potká s komunitou OpenSSL. V rámci srazu Anton Arapov z OpenSSL
… více »GNOME Foundation má nového výkonného ředitele. Po deseti měsících skončil dočasný výkonný ředitel Richard Littauer. Vedení nadace převzal Steven Deobald.
Byl publikován přehled vývoje renderovacího jádra webového prohlížeče Servo (Wikipedie) za uplynulé dva měsíce. Servo zvládne už i Gmail. Zakázány jsou příspěvky generované pomocí AI.
Raspberry Pi Connect, tj. oficiální služba Raspberry Pi pro vzdálený přístup k jednodeskovým počítačům Raspberry Pi z webového prohlížeče, byla vydána v nové verzi 2.5. Nejedná se už o beta verzi.
Google zveřejnil seznam 1272 projektů (vývojářů) od 185 organizací přijatých do letošního, již jednadvacátého, Google Summer of Code. Plánovaným vylepšením v grafických a multimediálních aplikacích se věnuje článek na Libre Arts.
Byla vydána (𝕏) dubnová aktualizace aneb nová verze 1.100 editoru zdrojových kódů Visual Studio Code (Wikipedie). Přehled novinek i s náhledy a videi v poznámkách k vydání. Ve verzi 1.100 vyjde také VSCodium, tj. komunitní sestavení Visual Studia Code bez telemetrie a licenčních podmínek Microsoftu.
Open source platforma Home Assistant (Demo, GitHub, Wikipedie) pro monitorování a řízení inteligentní domácnosti byla vydána v nové verzi 2025.5.
OpenSearch (Wikipedie) byl vydán ve verzi 3.0. Podrobnosti v poznámkách k vydání. Jedná se o fork projektů Elasticsearch a Kibana.
PyXL je koncept procesora, ktorý dokáže priamo spúštat Python kód bez nutnosti prekladu ci Micropythonu. Podľa testov autora je pri 100 MHz približne 30x rýchlejší pri riadeni GPIO nez Micropython na Pyboard taktovanej na 168 MHz.
Grafana (Wikipedie), tj. open source nástroj pro vizualizaci různých metrik a s ní související dotazování, upozorňování a lepší porozumění, byla vydána ve verzi 12.0. Přehled novinek v aktualizované dokumentaci.
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: