| |
Ablakrács
Ablakrács településenként ezen az oldalon
Ablakrács Budapest
Zeusz 2002 kft1000 Budapest, N/A 70/238-2206 http://www.zeusz2002.nok.hu |
ablakrács, acélszerkezet, előtető, építészet, építészeti és mérnökiroda, építőipar, épületgépészet, épületgépészeti szerelés, épületvillamossági munka kivitelezése, földmérés, ipari padló kivitelezése, kapu, korlát, kőművesmunka, szakipari munka, szárazépítés, szigetelés, talajvíz elleni szigetelés, telekkitűzés, villanyszerelés Zártech 2000 Bt.1077 Budapest, Izabella u. 36-38. 342-0154 http://www.extra.hu/zartech2000 |
ablakrács, ajtórács, biztonsági ajtó, hevederzár szerelése, kulcsmásolás, lakatosmunka Mercurius Plusz Kft.1141 Budapest, Bartók Béla út 78. 20/939-0813 http://www.betores-vedelem.hu |
ablak, ablakrács, ajtó, bejárati ajtó, biztonsági ablak, biztonsági ajtó, biztonságtechnika, DIMEX, főkulcsos rendszer, főkulcsos zárrendszer, garázskapu, hevederzár, HÖRMANN, kapu, kaputechnika, KESO, MOTTURA, portál, rács, rácsajtó, TESA, vagyonvédelem, vezérkulcsos zárrendszer, zár, zár, lakat Pro-Manual-Art Kft.1204 Budapest, Eperjes u. 17 283-2606 Mobil: 30/948-6713, (20) 934 9239 janosmarkus kukac t-online.hu |
ablakrács, ajtórács, belsőépítészet, egyedi kovácsoltvas termék, építési vállalkozás, felújítási munka, fémszerkezetgyártás, kapu, kerítés, korlát, lépcsőkorlát, rács, tolókapu Schwartzmetall Kft.1071 Budapest, Bethlen G. u. 19. 285-4213, 20/9421-836 http://www.diszvas.hu |
ablakrács, acélszerkezet, acélszerkezet szerelés, ajtórács, díszkovács munka, erkélykorlát, kapu, kerítés, lakásfelszerelés, lakásfelszerelési cikk, lépcsőkorlát Magzett Vagyonvédelmi Bt.1114 Budapest, Hamzsabégi u. 32. 209-2439 http://www.extra.hu/betoresvedelem/ |
ablakrács, ablakrácsba köthető riasztó, ajtórács, betörés utáni helyreállítás, betörésvédelem, betörésvédelmi fólia, biztonsági ajtó, biztonsági fólia, biztonsági rendszer, biztonságtechnika, CODE, épületriasztó, főkulcsrendszer, hevederzár, hevederzár szerelése, MAUER, MOTTURA, MULTI-LOCK, páncélajtó, rács, riasztó, széf, TESA, vagyonvédelem, vezérkulcs, vezérkulcsrendszer, zárjavítás, zárnyitás, zárszerelés Bagi és Társa Szolgáltató Bt.1138 Budapest, Újpalotai út 16. ablakrács, ajtórács, autóalkatrész, díszítőelem, épületlakatos munka, garázskapu, guruló kapu, kapu, kerítés, kerítéselem, kerti lámpa, kerti szék, kovácsoltvas, kovácsoltvas garázskapu, kovácsoltvas kapu, kovácsoltvas kerítés, kovácsoltvas szék, lakatosipar, lámpa, lépcső, lépcsőkorlát, úszókapu Tűz Kft.1137 Budapest, Szent István krt.10. fsz. 5. 349-39-18 http://www.tuzkft.hu |
ablakrács, ajtórács, biztonsági ajtó, biztonsági ajtórács, biztonsági fólia, biztonsági rács, biztonságtechnika, fényvédő fólia, hevederzár, riasztórendszer, személyvédelem, tűzgátló ajtó, vagyonvédelem Krometal Bt.1144 Budapest, Szentmihályi u. 26/b. 30 488-1815 http://www.krometal.hu |
ablakrács, acélszerkezet, bútor, design bútor, díszkovácsolás, élhajlítás, fémszerkezet, kerítés, korlát, korlátelem, kovácsolt beltéri bútor, kovácsoltvas ágy, kovácsoltvas bútor, kovácsoltvas csillár, kovácsoltvas dísztárgy, kovácsoltvas fogas, kovácsoltvas gyertyatartó, kovácsoltvas jellegű kerítés, kovácsoltvas kerítés, lemezmegmunkálás, lézervágás, rozsdamentes korlát, terelőkorlát, uszodatechnika, védőkorlát Szellőzés-Klíma-Gép Szerelőipari és Kereskedelmi Kft.1097 Budapest, Gubacsi u. 97. 281-2293, 348-0170 Mobil: 20/961-4138 http://www.extra.hu/szkg |
ablakrács, acélszerkezet, csőszerelés, elszívórendszer, épületlakatos munka, erkélykorlát, erőművi berendezés, erőművi ventilátor, ipari berendezés, klímaszerelés, klímatechnika, klimatizálás, klimatizálás kivitelezése, korlát, lakatosipar, lakatosmunka, légcsatorna, légtechnika, légtechnikai berendezés, porelszívó, szellőzéstechnika, szellőztetőrendszer Vasvirág Vállalkozás1165 Budapest, Csömöri út 38. 70/298-8150 http://w3.enternet.hu/babikyo |
ablakrács, ágy, asztal, bortartó, bútor, díszítőelem, épületdíszítő elem, gyertyatartó, kapu, kerítés, korlát, kovácsoltvas, lámpa, lépcső, szék, tükör, virágtartó Kulcsember1162 Budapest, Istráng u.90 Mobil: 20/922-0611, 70/253-6107, 20/92- 0611 kulcsember kukac kulcsember.com http://www.kulcsember.com |
ablakrács, ABUS, ajtónyitás, ajtórács, betörésvédelem, biztonsági ajtórács, biztonsági rács, biztonsági zár, biztonságtechnika, hevederzár, rács, védőpajzs, zár, zárcsere, zárnyitás, zárszerelés, zárszerviz Ablakrács Dombóvár
Vida Fémipari Kft.7200 Dombóvár, Kórház u. 1. 74/465-387, 74/461-278, 30/979-7372, 74/460-209, 74/465-643 vida2003 kukac tolna.net http://www.vidafem.hu/ |
ablakrács, acélszerkezet, betonkeverőgép, élhajlítás, épületgépészet, erkély, esztergálás, excenter présmunka, fémfeldolgozás, fémipar, fémmegmunkálás, fémszerkezet, forgácsolás, garázskapu, gépi forgácsolás, kémény, kerítés, konténer, korlát, kovácsolás, kovácsoltvas termék, köszörülés, lakatosipar, lakatosmunka, lemezdarabolás, lemezmegmunkálás, marás, öltözőszekrény, préstechnika, szállítókonténer, technológiai szerelés, tetőszerkezet, tűzcsapszekrény, vasszerkezet, vésés Ablakrács Écs
Lendvai Művek Kft.9083 Écs, Deák Ferenc u. 27. 96/473-231, 30/9274-404, 96/557-060 |
ablakrács, ajtórács, asztal, étkezőbútor, függönykarnis, generálkivitelezés, kapu, kaputechnika, kerítés, kerti bútor, korlát, kovácsolás, kovácsolt termék, lakberendezési tárgy, lámpa, lépcsőkorlát, nappalibútor, rács, szék, teraszrács, virágtartó Ablakrács Érsekcsanád
Hevesi-Korlát6347 Érsekcsanád, Dózsa György út 130. 20/455-5825 http://hevesi-korlat.hu |
ablakrács, fémmegmunkálás, helyszíni szerelés, kapu, kaputechnika, kerítés, korlát, lépcső, lépcsőkorlát Ablakrács Győr
Kovácsoltvas9028 Győr, József A. u. 171. 96/310-152, 30/301-2197 http://www.kovacsolt-vas.hu |
ablakrács, ajtórács, csillár, díszkovács, díszkovácsolás, kapu, kerítés, kovácsmunka, kovácsolt beltéri bútor, kovácsolt kültéri bútor, kovácsoltvas, lakáskiegészítő, lámpa Sissy Bútorszalon - Busz Center Kft.9021 Győr, Szt.István u. 43. 96/618-630, 96/600-200 http://www.buszcenter.hu |
ablakrács, autóbuszalkatrész, bútor, bútorkereskedelem, céginformáció-közvetítés, csillár, dolgozószobai bútor, étkezőbútor, hálószobabútor, hamutartó, idősgondozás, ingatlanközvetítés, járműalkatrész, kandalló, lámpa, szalonbútor, szék, teherautó-alkatrész Ablakrács Hódmezővásárhely
Sávai Fémbútor Stúdió6800 Hódmezővásárhely, Görbe u. 63. 62246436 http://www.haztervek.hu/haztervek/bemutatk_savai.htm |
ablakrács, ágy, bárpult, bútor, étkezőgarnitúra, fémbútor, kapu, kerítés, korlát, küszöb, polcrendszer Ablakrács Kecskemét
Vörös Tamás és Társai Kft.6000 Kecskemét, Március 15. u. 2. ablakrács, ajtórács, árnyékolástechnika, biztonsági rács, biztonsági zár, biztonságtechnika, CORBIN, díszrács, hevederzár, kirakatrács, kirakatvédő rács, kovácsoltvas ablakrács, kovácsoltvas ajtórács, kovácsoltvas rács, kulcsmásolás, lakat, napernyő, páncélajtó, rács, redőny, reluxa, vagyonvédelmi rács, zár, zár, lakat, zárszerelés Herczeg és Társa Bt.6000 Kecskemét, N/A 20/9261-191 http://www.diszkovacs.hu |
ablakrács, bútor, csigalépcső, díszkovács, díszlakatos munka, kapu, kerítés, kilincs, korlát, kovácsolás, kovácsoltvas kapu, kovácsoltvas kerítés, kovácsoltvas lépcső, lakatosipar, lakberendezési tárgy, lépcső Ablakrács Makó
FERRUM Acélipari Gyártó, Forgácsoló, Szolgáltató és Kereskedelmi Kft.6900 Makó, Lonovics sgt. 42. 62/510-605 Mobil: 20/931-7075 ferrumkft kukac invitel.hu, ferrum kukac vnet.hu http://www.ferrum.vnet.hu |
ablakrács, acélcsarnok, acélipar, acélkorlát, acélszerkezet, acélvázas épület, antennatorony, esztergálás, fémipar, fémszerkezet, hajlítás, hegesztés, lángvágás, hengerítés, idomacél darabolása, kapu, kerítés, lakatos, lakatosipar, lakatosmunka, lángvágás, lemezdarabolás, lemezmegmunkálás, oszlop, rács, rácstartó, toronyszerkezet, tűzihorganyzás, TV-antenna rendszer, vázszerkezet, virágtartó Szikra Kereskedelmi és Szolgáltató Bt.6900 Makó, József A. u. 50. ablakrács, ajtórács, állólámpa, asztal, csillár, épületgépészet, épületgépészeti szerelés, fűtéstechnika, fűtésszerelés, gázszerelés, gyertyatartó, kapu, klíma, klímatechnika, kovácsolás, kovácsoltvas jellegű ajtórács, kovácsoltvas jellegű bútor, kovácsoltvas jellegű kapu, lámpa, rács, szék, víz, gáz, fűtés, vízszerelés Ablakrács Mezőkövesd
Díszműkovács3400 Mezőkövesd, Jácint utca 13. 20/952-5115 http://diszmukovacs.uw.hu |
ablakrács, díszműkovácsolás, kovácsoltvas, kovácsoltvas ablakrács, kovácsoltvas kapu, kovácsoltvas kerítés, kovácsoltvas lépcső, vaskapu, zsanér Ablakrács Miskolc
Gyürki Díszkovácsoló és Kereskedelmi Kft.3528 Miskolc, Rét u. 19. Mobil: 70/946-15-78 gyurki.laszlo kukac freemail.hu http://www.gyurki.hu |
ablakrács, cégér, díszkovácsolás, dísztárgy, kandalló, kapu, kerítés, kovácsolás, lámpa, lépcsőkorlát, teraszrács Ablakrács Németkér
Pruzsenszki Kovácsoltvas Manufaktúra7039 Németkér, Szabadság u 1/a 75/313-216 http://www.pruzsenszki.hu |
ablakrács, ajtórács, díszkovácsolás, dísztárgy, éjjeliszekrény, franciaágy, kerítés, kézi kovácsolás, korlát, kovácsoltvas, kovácsoltvas ágy, kovácsoltvas ajtórács, kovácsoltvas asztal, kovácsoltvas beltéri bútor, kovácsoltvas bútor, kovácsoltvas dísz, kovácsoltvas kerítés, kovácsoltvas korlát, kovácsoltvas szék, kovácsoltvas termék Ablakrács Nyíregyháza
HÁLYAS Művek - Hályas Gyula4400 Nyíregyháza, Kígyó u. 7. 42/312-628 Mobil: (20) 581-4972 halyas.gyula kukac gmail.com http://www.devinfo.hu/halyas |
ablakrács, acélszerkezet, előtető, fémipar, kapu, kaputechnika, korlát, lakatosipar, lakatosmunka, lépcsőkorlát, lépcsőrendszer, nyílászáró, rács Ablakrács Orosháza
Ifj. Verasztó Géza egyéni vállalkozó5900 Orosháza, Bartók Béla u. 75. 68/415242, 30/2664480 http://www.globonet.hu/kovacsoltvas |
ablakrács, ágy, asztal, cégér, díszkovácsolás, díszműkovácsolás, egyedi kovácsoltvas termék, függönytartó, gyertyatartó, kandalló, kapu, korlát, kovácsolás, kovácsolt bútor, kovácsolt kapu, kovácsoltvas, kovácsoltvas ablakrács, kovácsoltvas ágy, kovácsoltvas asztal, kovácsoltvas erkélykorlát, kovácsoltvas gyertyatartó, kovácsoltvas kapu, kovácsoltvas karnis, kovácsoltvas kerítés, kovácsoltvas kerti bútor, kovácsoltvas korlát, kovácsoltvas lámpa, kovácsoltvas lépcső, kovácsoltvas szék, kovácsoltvas termék, lámpa, szék, vas, virágtartó Ablakrács Sóskút
Szolnoki Sándor egyéni vállalkozó2038 Sóskút, Arany János u. 19. ablakrács, belsőépítészet, biztonsági ajtó, biztonsági ajtó beépítés, biztonsági ajtórács, biztonsági rács, bútor, díszkovácsolás, díszkovácsolt korlát, kerítés, korlát, kovácsmunka, kovácsolt beltéri bútor, kovácsolt bútor, kovácsolt kerítés, kovácsolt kerítéselem, kovácsolt kültéri bútor, kovácsolt termék, kovácsoltvas, kovácsoltvas ablakrács, kovácsoltvas ágy, kovácsoltvas ajándéktárgy, kovácsoltvas ajtórács, kovácsoltvas állólámpa, kovácsoltvas asztal, kovácsoltvas beltéri korlát, kovácsoltvas bútor, kovácsoltvas csillár, kovácsoltvas dísz, kovácsoltvas díszkapu, kovácsoltvas éjjeliszekrény, kovácsoltvas erkélykorlát, kovácsoltvas franciaágy, kovácsoltvas gyertyatartó, kovácsoltvas jellegű ajtórács, kovácsoltvas jellegű bútor, kovácsoltvas kerítés, tolókapu Ablakrács Szeged
Szeiman Művek Díszkovács Kft.6729 Szeged, Gere Sándor u. 46. 62/427-835, 20/531-2514 szeiman kukac invitel.hu http://www.diszkovacsolas.hu |
ablakrács, ágy, állólámpa, asztal, beltéri kovácsoltvas korlát, berendezés, dísz, díszkovács, díszkovács munka, díszkovácsolás, díszkovácsolt korlát, díszműkovácsolás, egyedi kovácsoltvas termék, fémbútor, gyertyatartó, iparművészet, kapu, kaputechnika, karnis, kárpitozott kovácsoltvas bútor, kerítés, kézi kovácsolás, kézimunka, kézműves kovácsolás, korlát, kovács, kovácsmunka, kovácsolás, kovácsolt beltéri bútor, kovácsolt bútor, kovácsolt dekoráció, kovácsolt elem, kovácsolt iparművészeti tárgy, kovácsolt kapu, kovácsolt kerítés, kovácsolt kerítéselem, kovácsolt korlát, kovácsolt kültéri bútor, kovácsolt termék, kovácsoltvas, kovácsoltvas ablakrács, kovácsoltvas ágy, kovácsoltvas ajándéktárgy, kovácsoltvas ajtó, kovácsoltvas ajtórács, kovácsoltvas állólámpa, kovácsoltvas asztal, kovácsoltvas asztali lámpa, kovácsoltvas bárszék, kovácsoltvas beltéri bútor, kovácsoltvas beltéri korlát, kovácsoltvas berendezési tárgy, kovácsoltvas bortartó, kovácsoltvas bútor, kovácsoltvas cégér, kovácsoltvas csillár, kovácsoltvas díszítőelem, kovácsoltvas díszkapu, kovácsoltvas dísztárgy, kovácsoltvas előszobafal, kovácsoltvas épületdísz, kovácsoltvas erkélykorlát, kovácsoltvas esernyőtartó, kovácsoltvas éttermi berendezés, kovácsoltvas falikar, kovácsoltvas falikaros lámpa, kovácsoltvas fogas, kovácsoltvas garázskapu, kovácsoltvas termék, lakberendezés, lakberendezési tárgy, lámpa, szék Joó - Nektár Bt.6725 Szeged, Váradi u. 19/b. 70/387-2263 http://www.kovacsmuhely-galeria.hu |
ablakrács, ajtó, díszkovács munka, díszkovácsolás, erkélykorlát, kapu, kerítés, kovácsolás, kovácsoltvas, kovácsoltvas ablakrács, kovácsoltvas ajtó, kovácsoltvas erkélykorlát, kovácsoltvas kapu, kovácsoltvas kerítés, kovácsoltvas lépcsőkorlát, lakásfelszerelés, lépcsőkorlát Ablakrács Szombathely
Stanc-szer Bt.9700 Szombathely, Komárom u. 20. 94/322-184, 20/364-2778, 20/959-2394 http://www.stanc.hu |
ablak, ablakrács, acélszerkezet, ajtó, ajtórács, bőripar, cipőipar, előtető, fémszerkezet, galéria, kapu, kerítés, kivágószerszám, korlát, kovácsoltvas, lakatosipar, lakatosmunka, lépcső, lyukasztó, portál, szélfogó, szerszámkészítés, télikert, üvegház, zárcsere, zárszerelés Ablakrács Tatabánya
Megapluszterv Kft.2800 Tatabánya, Jegenye u. 3. 06/304336603, 30/308-6497 |
ablakrács, csőhálózat szerelés, hegesztés, kapu, kerítés, kézi kovácsolás, kovácsolás, kovácsoltvas, kovácsoltvas kapu, kőburkolat, lakatosipar, lakatosmunka, vasipar, viacolor burkolat Ablakrács Veszprém
IMBUS 2000 Forgácsoló és Tömegcikkgyártó Kft.8200 Veszprém, Tüzér u. 71. 88/429-448 http://www.imbus.hu |
ablakrács, autóipar, burkolat, célgép, CNC forgácsolás, csatlakozó, detektívrács, fémipar, fémmegmunkálás, fémtömegcikk, forgácsolás, forgácsolt gépalkatrész, gépalkatrész, gépipar, hegesztett gépalkatrész, kivágószerszám, kötőelem, mélyhúzószerszám, öntőszerszám, szelep, szerelés, szerszám, vasalat, villamosenergiaipar, zsanér Ablakrács Zirc
Bakony Ablak Bt.8420 Zirc, Fáy A. u. 10. 0620-3381-746, 0620-2670-951, 0630-3085-588 bakonyablak kukac ktvzirc.hu http://www.bakonyablak.hu |
ablak, ablakkeret, ablakkönyöklő, ablakpárkány, ablakrács, ablakzár, ajtó, ajtólap, ajtópanel, ajtópánt, ajtózár, árnyékolástechnika, harmonikaajtó, redőny, reluxa, szalagfüggöny Hírek Ablakrács témában www.hirado.hu 2008-12-19 00:00:00 | Gyorshír! Öngyilkos lett egy férfi a Gyorskocsi utcai fogdában |
| Lepedőjével felakasztotta magát az ablakra |
hirszerzo.hu 2008-12-19 17:52:00 | Öngyilkos lett egy őrizetes a Gyorskocsi utcában |
| A férfi lepedővel akasztotta fel magát a zárkáján lévő ablakra. |
www.blikk.hu 2008-12-19 19:25:22 | Felakasztotta magát egy rab a Gyorskocsi utcában |
| Öngyilkos lett egy őrizetben lévő, 32 éves férfi péntek este a Gyorskocsi utcai fogdában. A rab a zárkájában található lepedővel akasztotta fel magát az ablakra. |
www.168ora.hu 2009-02-25 07:47:52 | Nincs ennyi nyílása egynek sem |
| Ablakrekorder ház. |
www.hirado.hu 2008-06-19 07:53:00 | Ablakra kidobott pénz a legnépszerűbb |
| Nyílászárót cserélne az állami támogatásra pályázók több mint harmada. Második helyen a zöldenergia áll és dobogós a fűtéskorszerűsítés is |
www.fn.hu 2008-12-19 19:09:00 | Öngyilkos lett egy rab a Gyorskocsiban |
| A férfi a zárkájában található lepedővel akasztotta fel magát az ablakra. |
www.ingatlanmagazin.com 2008-05-12 20:00:00 | Világszenzáció az energiát előállító ablak |
| A Dyesol egy olyan ablakra felszerelhető innovatív napelem, ami a legígéretesebb találmány a szilikon felfedezése óta. |
hup.hu 2008-04-21 08:00:00 | Mono és Gtk áttekintés |
| Nem olyan régen rászántam egy napomat és megismerkedtem a .NET csodáival, a C# nyelv rejtelmeivel, ezért szeretném megosztani a tapasztalataimat. Áttekintő jellegű leírást magyar nyelven sajnálatos módon nem találtam, pedig már nem olyan fiatal a terület.
Ha jól emlékszem 4 évvel ezelőtt kaptam egy C# könyvet. Konkrétan a C# mesteri szinten 21 nap alatt. El is kezdtem olvasni, viszont minden oldalon szerepelt az a mondat, hogy: Ez a funkció jelenleg csak a Microsoft .NET megvalósításban érhető el. Mivel már akkor is Linux-ot használtam desktopra, így gyorsan kedvemet szegte. Talán még egy HelloWorld-ot kipróbáltam az 1.0 alatti valamelyik béta Mono-val, viszont gyorsan halottnak könyveltem el a dolgok a Javaval szemben.
Jelenleg a C# nyelv erős szabványosítása miatt, valamit az erős háttérnek, továbbá a két párhuzamos implementációnak köszönhetően, úgy gondolom megállja a helyét. A tervezés és a megvalósítás utolérte, s talán mostanra le is előzte a Java lehetőségeit. Talán még a beágyazott rendszereken, és a mobil készülékeken láthatunk érdekes dolgokat a jövőben.
Feladatnak egy GPS Data logger meghajtóprogramjának megírását választottam. Az eszköz USB-re csatlakozik, egy soros átalakító van benne, ami PL2303-ként jelenik meg a rendszerben. Ezek után erre tudunk rácsatlakozni, és kommunikálni, letölteni a rögzített adatokat.
A döntésem azért a .NET-re esett, mivel Javaban már megtanultam régebben programozni, valamint ott csak külső class segítségével lehet elérni a soros portot (RxTx). A .NET viszont 2.0-s megjelenése óta támogatja az IO Port kezelést, így könnyedén kommunikálhatunk soros eszközeinkkel platformfüggetlenül. (Sportszerű nehezítés, hogy hiába érhető el driver Mac OS X alá, a Mono jelenlegi verziójában nem képest azt elérhető soros portként kilistázni...)
1. WinForms és Gtk#
Mivel először WinForms-szal próbálkoztam meg összerakni az alkalmazás kezelői felületét, rá kellett ébrednem, hogy bizony ennek a megvalósítás 1.9-es (2.0 beta) Mono változatban még közel sem teljes. A fejlesztést Mac OS X (Tiger) operációs rendszeren végeztem, ahol szerencsére már elkészült a natív GTK port, így már mindhárom főbb platformon lehet GTK#-ot használó alkalmazások futtatni. A döntés egyetlen hátránya, hogy a majdani kliens számítógépen nem elég a Microsoft .NET Framework telepítése (Windows esetén), hanem Mono-t igényel.
Fordításhoz szükséges beállítások:
export PKG_CONFIG_PATH=/Library/Frameworks/Mono.framework/Versions/1.9/lib/pkgconfig/
Esetemben így nézett ki. Ez arra a célra szolgál, hogy a rendszer megtalálja a gtk-sharp-2.0.pc fájlt. Más rendszereken ilyen hiba esetén célszerű locate segítségével felderíteni, hol található a fájl, majd exportálni a PATH-ben a könyvtárat. Tehát:
$ locate gtk-sharp-2.0.pc
/Library/Frameworks/Mono.framework/Versions/1.9/lib/pkgconfig/gtk-sharp-2.0.pc
Ha már így rendelkezésünkre áll, akkor a fordításánál pkg paraméter segítségével használhatjuk is.
$ gmcs -pkg:gtk-sharp-2.0 [gtk-t használó forrás fájl.cs]
Megjegyzés: mcs segítségével 1.1-es .NET platformra, még gmcs segítségével 2.0-sra tudunk fordítani
2. Az első GTK# alkalmazásunk
Mivel MonoDevelep Mac OS X-es változata nem támogatja a GTK# fejlesztést, valamint maga az IDE eszköz is hiányosnak és lassúnak tűnt, megmaradtam a Vim használatánál. Az XCode plugint szintén lustaság okán nem állítottam be, amúgysem használom, hiába hallottam róla jókat.
A fejlesztést továbbiakban két terminálban folytatjuk. Az egyikben a Vim, vagy kedvenc szerkesztőnk állandó jelleggel mutatja a forráskódot. A másikban a fent említett PATH beállítva, az ismertetett módon fordítjuk és futtatjuk az alkalmazást. Lelkesebbek erre írhatnak scriptet is...
Az első programunk kódja a következő lesz:
$ cat FirstGtkApp.cs
using System;
using Gtk;
public class GtkHelloWorld {
GtkHelloWorld() {
Application.Init();
Window myWin = new Window("My first GTK# Application!");
myWin.DeleteEvent += new DeleteEventHandler (OnWinDelete);
myWin.Resize(200,200);
Label myLabel = new Label();
myLabel.Text = "Hello World!!!!";
myWin.Add(myLabel);
myWin.ShowAll();
Application.Run();
}
public static void Main() {
new GtkHelloWorld();
}
private void OnWinDelete (object o, DeleteEventArgs args) {
Application.Quit();
}
}
Először két névteret kell használatba vennünk a grafikus alkalmazás elkészítéséhez. Ezek a Gtk, és System namespace. Első felelős a nekünk szükséges elemek bekerüléséért.
Az alkalmazás Main függvényében példányosítjuk az osztályunkat. Ez eredményezi a konstruktor lefutását, amiben ténylegesen megvalósítjuk a megjelenítést. Először az alkamazást inicializáljuk az Application.Init(); függvényhívással. Későbbiekben ehhez hasonlóan az Application.Run(); segítségével fogjuk futásra bírni.
Előtte azonban még létre kell hoznunk egy ablakot, amire rajzolni szeretnénk. Ez a Window osztály egy példányának létrehozásávál történik. Konstruktorába az alkalmazás neve kerül. Ezt a későbbiek során Window.Title publikus string változó módosításával tudjuk átállítani. A Window.DeleteEvent-hez rendelünk egy eseménykezelő függvényt, ami azért fog felelni, ha bezárjuk az ablakot, akkor az alkalmazás is lépjen, és visszakapjuk a konzolt.
Következő lépésben a Label osztály segítségével egy cimkét hozunk létre. Itt is használhatjuk a konstruktort a szöveg megadására, vagy az itt alkalmazott módon tudjuk módosítani.
Ezek után már csak rá kell helyeznünk a Window osztály Add() függvényével a Widget-ünket az ablakra. Majd beállítani, hogy minden megjelenjen a képernyőn. Az elemek láthatóságát külön is lehet állítani. Erre az egyes osztályok Show() függvénye szolgál. Jól jön akkor, ha bizonyos funkciók csak események hatására lesznek elérhetőek.
Most már csak fordítanunk és futtatnunk kell az alkalmazást.
$ gmcs -pkg:gtk-sharp-2.0 FirstGtkApp.cs
$ mono FirstGtkApp.exe FirstGtkApp.exe
Megjegyzés: Azért nem a Main függvénybe került az egész kód, mert későbbiek során is hajlamosak lennénk ott hagyni, és bizonyos esetekben a static definíció miatt a fordító különféle warningokkal ajándékozna meg minket. Természetesen a helyes megoldás, hogy minden ablakot külön függvényben írunk le, és igény szerint hívjuk meg őket.
3. Tárolók
Ezeket az osztályokat használjuk a képernyőn megjeleníteni kívánt elemeink elrendezésére. Ugyanazt a célt szolgálják, mint Javaban a layout-ok. Az ablakokat gyakorlatilag területekre osztjuk fel, amikbe belepakoljuk a látványelemeket.
Az elérhető alap típusok listája (nem teljes):
Fixed: rögzített kinézet hozható vele létre, pixelre pontosan meg tudjuk adni, hogy mi hova kerüljön
VBox: vertikális felosztása az adott területnek, amit hozzáadunk, az automatikusan függőleges oszlopba rendeződik
HBox: előzőhöz hasonlóan, csak horizontálisan történik az elhelyezés
Table: az általunk definált méretű táblazatot hozhatunk létre, aminek a rácspontjaira feszíthetjük ki az elemeinket
Frame: elemek keretbe foglalására szolgáló tároló
ScrolledWindow: amit belehelyezünk, az scrollozhatóvá válik, ha nem fér ki a képernyőre (pl.: TextView)
A tárolók méretét a Widget osztályból örökölt SetSizeRequest(int x, int y) metódus segítségével állíthatjuk be.
Az ablakhoz történő hozzáadásuk ugyanúgy történik, ahogy a többi elemé is, a Window.Add() függvényben paraméterként megadva.
Megjegyzés: Véleményem szerint érdemes először egy VBox tárolót elhelyezni a képernyőn. Ebbe helyezni a menu sort, az ablak középső részét, valamint a státus sort. Ezek után pedig a középső rész a megfelelő rétegekkel igény szerint feltölteni.
3.1 Fixed tároló
A tárolónak van paraméter nélküli konstruktora, legegyszerűbb azt használni a létrehozásnál.
Button testButton = new Button("Teszt");
Fixed fixArea = new Fixed();
fixArea.SetSizeRequest(100,100);
fixArea.Put(testButton,10,10);
Ezzel létrehoztunk egy 100x100 négyzetet, aminek a (10,10) pontjába helyeztük a Teszt feliratú gombunkat. Az elemek bal felső sarka kerül mindig az általunk megadott koordinátára.
3.2 VBox és HBox tároló
A következő példában három gombot fogunk létrehozni. Minden a Teszt felirat szerepel sorszámozva. Legfelül lesz az 1-es számú, és alatta a második sorban egymás mellett a 2-es és 3-as számú.
Button testButton1 = new Button("Teszt1");
Button testButton2 = new Button("Teszt2");
Button testButton3 = new Button("Teszt3");
VBox vbox = new VBox(false, 1);
HBox hbox = new HBox(false, 1);
hbox.Add(testButton2);
hbox.Add(testButton3);
vbox.Add(testButton1);
vbox.Add(hbox);
Láthatóan mindkét tároló konstruktora két paramétert vár. Az első egy logikai változó, ami azt adja meg, hogy a rendszer kikényszerítse-e a benne elhelyezett elemektől, hogy egyenlő méretekkel rendelkezzenek. A második paraméterben pedig az elemeket elválasztó terület nagyságát adhatjuk meg egy integer segítségével.
3.3 Table tároló
Button testButton1 = new Button("Teszt1");
Button testButton2 = new Button("Teszt2");
Button testButton3 = new Button("Teszt3");
Button testButton4 = new Button("Teszt4");
Table newTable = new Table(2,2,true)
newTable.Attach(testButton1, 0, 1, 0, 1);
newTable.Attach(testButton2, 1, 2, 0, 1);
newTable.Attach(testButton3, 0, 1, 1, 2);
newTable.Attach(testButton4, 1, 2, 1, 2);
A létrehozáshoz meg kell adnunk hány sort és oszlopot szeretnénk a táblázatban. A harmadik paraméter itt is a homogén méretezés kikényszerítését jelenti.
Ezek után a meglévő elemeinket csatolni kell a táblázathoz az Attach függvény segítségével. Első paraméterében várja a Widget osztályból öröklődött elemet, amit hozzá akarunk adni. A tovább négy paraméterben a helyet, hogy hova szeretnénk rakni. Az első két koordináta adja meg, hogy melyik két oszlop között tart az elem. A második két koordináta, hogy melyik két sor között. A táblázat bal felső saroktól számozódik, 0-tól kezdődően. Tehát a példában szereplő 2x2 táblázat bal felső celláját láthatóan a (0,1,0,1) paraméter négyessel tudjuk kijelölni.
3.4 Frame tároló
Button testButton = new Button("Teszt");
Frame labeledFrame = new Frame("Keret:");
labeledFrame.Add(testButton);
A példa nem túl életszerű, viszont látható, hogy a gombunk körül egy keret helyezkedik el, aminek a bal felső részébe található a címke. Az osztálynak van paraméter nélküli konstruktora is. Ekkor a Frame.Label publikus string változón keresztül tudjuk a címkét megváltoztatni.
3.5 ScrolledWindow tároló
Hasonlóan a Frame-hez, létrehozás után egyszűen hozzá kell adni a kívánt elem(ek)et. A konstruktor nem vár paramétereket, címkével nem rendelkezik. A TextView-val együtt szemléltetésre kerül a későbbiek folyamán.
4. Elemek
Néhány egyszerűbb elem, amit könnyedén a képernyőre lehet helyezni, és még hasznuk is van.
Label: a példában is szereplő címke osztály
Button: egyszerű nyomógomb
ComboBox: legördülő lista, elődje az OptionMenu, ám az elavultá vált, ez használandó helyette
TextView: szöveg megjelenítésre alkalmas mező, akár szerkeszthető is, szükséges mellé a TextBuffer osztály
MessageBox: üzenet ablak megjelenítése
RadioButton: ismert választó gomb
CheckButton: ismert jelölő négyzet
VSeparator: függőleges vonal elválasztásra
HSeparator: ugyanaz vízszintesen
StatusBar: státusz sor, amit az ablak alján használunk
Tree: listázott megjelenítés
4.1 TextView elem
Összetettebb példának hozzunk létre a képernyőn egy olyan mezőt, ahova az alkalmazás a továbbiakban loggolni fogja a tevékenységeit. Ez a mező legyen görgethető, és kijelölhető, az esetleges szöveg másoláshoz, viszont módosítani ne lehessen.
TextView view;
TextBuffer buffer;
Frame logFrame;
ScrolledWindow logWindow;
logFrame = new Frame();
logFrame.Label = "Log:";
view = new Gtk.TextView ();
view.Editable = false;
view.CursorVisible = true;
buffer = view.Buffer;
buffer.Text = "";
logWindow = new ScrolledWindow();
logWindow.SetSizeRequest(480,200);
logWindow.Add(view);
logFrame.Add(logWindow);
A megvalósításhoz a TextView elemet fogjuk használni. Ebben az elemben egy TextBuffer típusú változó tartalmát fogjuk megjeleníteni, amit működés közben folyamatosan írunk, jelen esetben hozzáfűzünk.
A naplózást tartalmazó mezőt egy Framebe ágyazzuk, amit felcimkézünk a "Log:" felirattal. Ezek után létrehozzuk a TextView-t és beállítjuk a kívánt paramétereket. Következőkben a TextBuffer változót összerendeljük a TextView osztály azonos típusú publikus változójával. Ezek után létrehozzuk a ScrolledWindow típusú változót, amibe bele fogjuk helyezni ezt az elemet, és ezt az ablakot ágyazzuk a Framebe.
4.2 ComboBox elem
Ezt az elemet csak azért emeltem ki, mivel talán kellően gyakran használt, és talán másik is belefutnának abba a hibába, hogy először az OptionMenu osztályt akarják használni. Aztán csodálkoznak a fordító által jelzett Warningokon, miszerint az elem elavult.
A használata egyszerű. Létre hozás során inicializálni kell a Text elemét, és ahhoz hozzá fűzni sorban a kívánt lista elemeket. Alapvetően a leghosszabb lista elem méretét veszi fel, ám véleményem szerint érdemes előre beállítani a már ismertett módon.
ComboBox combo;
combo = ComboBox.NewText();
for (int i = 0; i < 5; i ++)
combo.AppendText ("item " + i);
4.3 StatusBar elem
A státusz sor hozzáadás hasonlóan történik az összes többi elem, egyszűen példányosítani kell, és utána hozzáadni a megfelelő Object leszármazott elemhez. Az érdekessége, hogy szöveget megjeleníteni rajta hasonlóan lehet, mint egy verem. Két hasznos függvénye van, a Push() és Pop(). Az elsővel látható módon írhatunk rá, a másodikkal eltávolíthatjuk azt. A stackre való lenyomásnál egy sorszámot is rendelhetünk az üzenethez, ez lesz első paraméter, míg a szöveg a második. A Pop(int id) függvénnyel, mert a kívánt azonosítójú string-et távolítjuk el. A példában még egy tulajdonságát állítottuk be a StatusBarnak, méghozzá azt, hogy megjelenítse az átméretező sarkot, vagy sem. Tapasztalataim szerint ez Windows alatt sikeresen működik is, míg Mac OS X alatt figyelmen kívül hagyja.
Statusbar sb;
sb = new Statusbar();
sb.HasResizeGrip = false;
sb.Push (1, "Welcome!");
4.4 Tree elem
Erről az elemről a GtkSharp hivatalos oldalán is található egy kellően részletes leírás. Én itt ezt egy kicsit leegyszerűsétettem. Demonstrálás szempontjából megfelelő, viszont a Tree erejét nem fejezi ki kellően, így érdemes elolvasni.
A következőkben létrehozunk egy elemet, amiben található egy Items cimkével rendelkező oszlop, és abban öt sort, amiben az itemek vannak felsorolva.
Először létrehozzuk magát a TreeView-t, amibe pakoljuk az elemeket. Ilyen az oszlop, amiből most csak egyet hozunk létre. Szükség van még két további változóra. Az egyik felel azért, hogy a listában látszódjanak az elemek, míg a másik magát a listát képezi. A listánál meg kell adnunk, hogy milyen típusú és mennyi elemet tárolunk benne, ezért a konstruktora változó hosszúságú paramétersort igényel.
Ezek után beállítjuk a tároló oszlopot. Adunk neki nevet, illetve magát a fejléc mezőt helyezzük el, és megmondjuk neki, hogy alatta text típusú elemek fognak sorakozni. Ezek után a TreeView elem Model objektumának megadjuk, hogy az általunk létrehozott ListStoret használja. Innentől már csak az itemListStore változót kell feltölteni, amit a for ciklus szemléltet.
TreeView tree = new TreeView();
TreeViewColumn itemColumn = new TreeViewColumn();
CellRendererText itemNameCell = new CellRendererText ();
ListStore itemListStore = new ListStore(typeof (string));
itemColumn.Title = "Items";
itemColumn.PackStart (itemNameCell, true);
itemColumn.AddAttribute (itemNameCell, "text", 0);
tree.AppendColumn(itemColumn);
tree.Model = itemListStore;
for (int i = 0; i < 5; i ++)
portListStore.AppendValues("item " + i);
5. Eseménykezelés
Miután már szépen tele tudjuk rajzolni a képernyőt, ideje megismerkedni annak a módjával, hogyan is tudjuk életrekelteni az alkalmazásunkat.
Ennek a legjobb módja, hogy bizonyos elemekhez olyan függvényeket rendelünk, ami a rendszer által detektált eseményeknél lefutnak. Ilyen lehet például, egy gomb megnyomása, ablak átméretezése, TextBox szerkesztése, menu elem kiválasztása...
A megvalósítás menete, hogy a Widget eseményéhez hozzáadunk, egy új eseménykezelő osztályt.
helloButton.Clicked += new EventHandler(helloButton_Clicked);
private void helloButton_Clicked(object o, EventArgs args) {
Console.WriteLine("Kattintás...");
}
A gomb Clicked eseményez adtuk hozzá az általunk megírt helloButton_Clicked függvényt. Ez a függvény private, mivel nem szeretnénk, hogy az osztályunkon kívül bármi is meghívja, és void, mivel nincs visszatérési értke. A rendszer a függvénynek átadja, hogy melyik objektum hívta meg. Itt például, ha kattintás esetén át szeretnénk írni a gomb szövegét, akkor a Label módosítása előtt az objektumot vissza kell kasztolni Button típusúra. Az EventArgs osztály tárol az eseménykezelő számára használható adatokat. A példakódban kattintás esetén csak egy sort írunk ki a konzolba.
A Button osztály eseményei:
Activated: ha a gomb aktiválva lett
Clicked: ha rákattintunk
Entered: ha az egérmutató a gomb területére ér
Left: ha az egérmutató a gomb területét elhagyja
Pressed: ha a gombot lenyomomják
Released: ha a gombot felengedik
6. Néhány javaslat
Mint programozás során mindig, itt is érdemes követni egy struktúrális logikát. Aki évek óta foglalkozik ezzel a területtel, annak már biztosan megtörtént. Többieknek adnék néhány szerény tanácsot.
A C hagyományok szerint még mindig érdemes először a változókat definiálni a programkód elején, hogy lássuk, miket is akarunk felhasználni. Így kevesebb a valószínűsége, hogy valami feleslegeset is létrehozunk, és ott marad a kódban.
A következő részben érdemes az elemek példányosítását megcsinálni, és beállítani a megfelelő tulajdonságaikat, amiket később látni szeretnénk.
Harmadik lépésként építsük fel a konténerek elrendezését egymásban. Ha előállítottuk a kívánt struktúrát, akkor adjuk hozzá az elemeket a megfelelő, előre elképzelt helyekez. A tervezés segít elkerülni az elkavarodást a helyek között.
Végül adjuk hozzá az ablakhoz a konténereket, és jelenítsük meg a felhasználó felé.
|
hirszerzo.hu 2008-10-04 08:50:00 | Túlélte az egy hónapos éhezést egy skót macska |
| A macska feltehetően az ablakra lecsapodó párát nyalogatta, így nem száradt ki, és életben tudott maradni. |
www.hirtv.hu 2009-06-11 09:10:47 | Fülketűz, ablakrepedés - két újabb Airbus hajtott végre kényszerleszállást |
| Két Airbus-gép is kényszerleszállást hajtott végre csütörtökön. Az egyik repülőnek a pilótafülkéjében ütött ki tűz, a másik gépnek a szélvédője repedt meg a pilótafülkében. Mindkét esetben a gépek szerencsésen földet értek, az utasok közül nem sérült meg senki. |
www.ingatlanmagazin.com 2008-04-11 14:00:00 | Sok pénzt kidobunk az ablakra |
| Nehéz megalapozott döntést hozni ablakválasztásnál, ugyanis hatalmas a kínálat. A legfontosabb, amivel tisztában kell lenni, hogy csak olyan ablakot válasszunk, amelynek van ÉME-tanúsítványa. A leggyakrabban persze műanyag ablakokkal találkozhatunk, melyeknél arra kell figyelni, hogy hőtechnikailag az üveg, a műanyag együttes hőátbocsátása milyen. A hirdetésekben általában egyiket sem közlik |
index.hu 2008-07-30 10:26:00 | Reggeli, megabit |
| Kellemesen megreggeliztem, szarvasgombát tojásrántottát fogyasztottam egy étteremben, onnan láttam, ahogy Vili az ablakra tapadva kétségbeesetten sávszélességet keresett. |
stop.hu 2008-12-19 18:55:00 | Felakasztotta magát az ablakrácsra - öngyilkosság a Gyorskocsi utcában |
| Felakasztotta magát egy őrizetben lévő férfi a rendőrség Gyorskocsi utcai fogdájába. |
www.hirtv.hu 2008-12-19 18:13:57 | Öngyilkosságot követtek el a Gyorskocsi utcai fogdában |
| Öngyilkos lett egy férfi a Gyorskocsi utcai fogdában. A Budapesti Rendőr-főkapitányság közlése szerint pénteken pár perccel négy óra előtt egy őrizetben lévő 32 éves férfi vetett véget az életének: a zárkájában lévő lepedővel az ablakra felakasztotta magát. |
www.viragcenter.hu 2009-04-08 10:00:00 | Húsvéti üvegfestési ötletek. |
| Lakás díszítés húsvétra! A lakás díszítését már jó előre megtehetjük, a gyerekekkel közösen is. Üvegmatrica és üvegfesték segítségévé az ablakra illetve üvegtárgyakra is varázsolhatunk hímes tojásokat, nyuszikat és báránykákat. |
www.hirextra.hu 2008-06-27 07:27:40 | Foci, kánikula, Zürich |
| Fellobogózott autók száguldanak Európában. Általában több zászlóval, mert ha a Németországban élő horvát srác elveszi a portugál csajt, akkor mindet kirakják. Új találmány: ablakra csiptethető nemzeti lobogó. Először persze azt hittem mind követségi kocsi. |
index.hu 2008-07-30 10:18:00 | Reggeli, megabit |
| Kellemesen megreggeliztem, szarvasgombát tojásrántottát fogyasztottam egy étteremben, onnan láttam, ahogy Vili az ablakra tapadva kétségbeesetten sávszélességet keresett. |
|
Keresés: Ablakrács városonként: Linkajánló:
|