Hónap: 2025. február

Értesítés küldés állapotváltozásról üzenetobjektum átadásával – megfigyelő minta, push változat

Az előző bejegyzésben azt a helyzetet modelleztük, amikor egy áruház új termék érkezésekor értesíti a címüket megadó vásárlókat, lehetőséget adva, hogy ha az adott termék, az adott áron érdekli őket, akkor meg tudják vásárolni. Láttuk, hogy a modellben csak a vásárlási hajlandóságot tudtuk megjeleníteni, aminek oka az, hogy a potenciális vásárlók csak a termékinformációt (terméknév …

Értesítés küldés állapotváltozásról üzenetobjektum átadásával – megfigyelő minta, push változat Read More »

Értesítés küldés állapotváltozásról – megfigyelő minta, push változat

Modellezzük le azt a helyzetet, amikor egy szupermarket hírlevelére a vásárlók feliratkoznak azért, hogy ha új termék jelenik meg az áruház kínálatában, akkor arról értesítést kapjanak. Természetesen nem minden árucikk érdekel minden vásárlót. A vásárlóknak eltérő igényeik vannak, és ráadásul hiába érdekli a termék, egy bizonyos árszint felett nem tudja vagy nem akarja megvásárolni. Viszont, …

Értesítés küldés állapotváltozásról – megfigyelő minta, push változat Read More »

Kivételkezelő szerkezetet vagy előzetes feltételvizsgálatot használjunk?

Minden programnak van egy tervezett ideális normál lefolyása, ami akkor valósul meg, ha minden az elvárások szerint történik. Ez utóbbi azt jelenti például, hogy egy függvény mindig a megfelelő típusú és értékű argumentumot kap, a felhasználó nem hibázik az adatbevitelnél, a fájl mindig létezik az adott néven, vagy egy hálózati kapcsolat soha nem szakad meg. …

Kivételkezelő szerkezetet vagy előzetes feltételvizsgálatot használjunk? Read More »

Hogyan tegyük nagybetűssé egy szöveg szavainak kezdőbetűit?

Ez a kérdés, illetve feladat például olyankor merül fel, ha egy személynevet tartalmazó karakterlánc csupa kisbetűvel áll rendelkezésre, de megjeleníteni a helyesírás szabályai szerint kívánjuk, azaz a családi- és utónevet nagy kezdőbetűvel akarjuk írni. Egy másik eset, ha angol nyelvű cikkben, könyvben vagy más írásműben a karakterlánc címsorként szerepel. Ilyenkor az angolban az egyes szavak …

Hogyan tegyük nagybetűssé egy szöveg szavainak kezdőbetűit? Read More »

Hogyan készítsünk Excel táblához hasonló számolótáblát? – 5. befejező rész

Az előző bejegyzésekben, megadott specifikáció alapján egy Excelszerű egyszerű számolótábla fejlesztésébe kezdtünk. A megvalósítást három fő részre bontottuk, amelyből az első kettőt, vagyis a táblázat kirajzolását, valamint az egyes cellákban levő beviteli mezőkhöz tartozó kontrollváltozók létrehozását, már megtettük. A harmadik fázis az eseménykezelők kidolgozása. Ezekből a cellatartalom kiértékelését és aktualizálását végző eseménykezelőket, valamint egy adott …

Hogyan készítsünk Excel táblához hasonló számolótáblát? – 5. befejező rész Read More »

Hogyan készítsünk Excel táblához hasonló számolótáblát? – 4.rész

Folytatjuk az előző bejegyzésekben elkezdett Excelszerű egyszerű számolótábla megvalósítását. Legutóbb a cellatartalom kiértékelését végző eseménykezelőt implementáltuk. Most annak az eseménykezelőnek a kidolgozásával kezdjük, amellyel egy egéresemény bekövetkeztekor meg tudjuk jeleníteni a cellában levő képletet (kifejezést), ha volt ilyen. Ennek felhasználásával utána a táblázat cellaértékeinek aktualizálását végző eseménykezelőt is lekódoljuk. Az előző bejegyzésekből már ismert, hogy …

Hogyan készítsünk Excel táblához hasonló számolótáblát? – 4.rész Read More »

Hogyan készítsünk Excel táblához hasonló számolótáblát? – 3.rész

A legutóbbi cikkben a számolótábla fejlesztésének második fázisát fejeztük be azzal, hogy végigvettük a tábla specifikáció szerinti működését lehető eseményeket, és az egyes eseményekhez hozzárendeltünk meghatározott nevű eseménykezelő függvényeket. Most áttérünk a harmadik fázisra, és ezen eseménykezelők megvalósításába kezdünk bele. Elsőnek a cellatartalom kiértékelését végző eval_cell_content_event_handler() eseménykezelő és ehhez kapcsolódó függvények implementációjával foglalkozunk. Ez az …

Hogyan készítsünk Excel táblához hasonló számolótáblát? – 3.rész Read More »

Hogyan készítsünk Excel táblához hasonló számolótáblát? – 2.rész

Az előző bejegyzésben egy Excelszerű egyszerű számolótábla készítését kezdtük el az ott megadott specifikáció alapján. A megvalósítást három fő részre bontottuk, amelyből az elsőt, vagyis a táblázat kirajzolását, valamint az egyes cellákban levő beviteli mezőkhöz tartozó kontrollváltozók létrehozását, már megtettük. Ebben a részben a specifikáció szerinti eseményeket határozzuk meg és kötjük a beviteli mezőkhöz. A …

Hogyan készítsünk Excel táblához hasonló számolótáblát? – 2.rész Read More »

Hogyan készítsünk Excel táblához hasonló számolótáblát? – 1.rész

Természetesen nem az Excel táblázatkezelő programot akarjuk megírni, mert egy több évtizedes fejlesztés eredményét nehéz lenne egy-két bejegyzésben megismételni. Célunk – mint minden ezen oldalon megjelenő cikkben – pusztán csak az, hogy példafeladatokon keresztül gyakoroljuk a Python használatát, és egy feladat kapcsán a megoldási lehetőségeken való gondolkodást. Most tehát az lesz a feladat, hogy állítsunk …

Hogyan készítsünk Excel táblához hasonló számolótáblát? – 1.rész Read More »

Hogyan lehet kiszűrni egy iterálható objektum elemei közül tetszőleges sorrendpozíciók alapján bizonyos elemeket?

Ebben a bejegyzésben az iterátorok és generátorok (generátorkifejezés és -függvény) készítését és használatát fogjuk gyakorolni a címben feltett kérdésre válaszolva. A konténer- és iterálható objektum, valamint az iterátor és generátor fogalmainak és főbb jellemzőinek ismerete szükséges a továbbiak megértéséhez. Ha bizonytalan vagy e téren, akkor érdemes az ezeket lényegre törően összefoglaló „Hogyan ellenőriznéd, hogy iterálható-e …

Hogyan lehet kiszűrni egy iterálható objektum elemei közül tetszőleges sorrendpozíciók alapján bizonyos elemeket? Read More »