{"id":71,"date":"2007-10-10T09:50:52","date_gmt":"2007-10-10T07:50:52","guid":{"rendered":"http:\/\/www.kosmala.pl\/?p=71"},"modified":"2008-03-08T18:18:34","modified_gmt":"2008-03-08T16:18:34","slug":"program-kumiko","status":"publish","type":"post","link":"http:\/\/www.kosmala.pl\/?p=71","title":{"rendered":"<!--:pl-->Nowy program &#8211; Kumiko<!--:-->"},"content":{"rendered":"<p><!--:pl-->Program o staromarsja\u0144skiej nazwie <em>&#8222;Kumiko&#8221;<\/em> to skrypt <a href=\"http:\/\/www.tcl.tk\">Tcl\/Tk<\/a>, kt\u00f3rego zadaniem jest prowadzenie numerycznej listy spraw\/pism\/um\u00f3w\/zlece\u0144, czy wszelkiej innej dokumentacji tego typu. <!--:--><!--more--><!--:pl--><\/p>\n<p>Program wsp\u00f3\u0142pracuje z lokaln\u0105 lub zewn\u0119trzn\u0105 baz\u0105 danych MySQL.<\/p>\n<p>1. Jak wygl\u0105da Kumiko?<\/p>\n<p>Jak mawiaj\u0105 mali, \u017c\u00f3\u0142ci i sprytni: <em>&#8222;Jeden obraz wart jest tysi\u0105ca s\u0142\u00f3w&#8221;<\/em>.<\/p>\n<p align=\"center\"><a href=\"http:\/\/www.kosmala.pl\/wp-content\/uploads\/2008\/03\/kumiko.png\" title=\"kumiko.png\" rel=\"lightbox[71]\"><img decoding=\"async\" src=\"http:\/\/www.kosmala.pl\/wp-content\/uploads\/2008\/03\/kumiko.thumbnail.png\" alt=\"kumiko.png\" \/><\/a><\/p>\n<p>G\u00f3rny, lewy r\u00f3g okna, to <strong>przyciski operacji<\/strong> do wykonania, czyli:<\/p>\n<ul>\n<li>dodania do listy nowego wiersza,<\/li>\n<li>edycji pod\u015bwietlonego wiersza,<\/li>\n<li>skasowania pod\u015bwietlonego wiersza.<\/li>\n<\/ul>\n<p>G\u00f3rny, prawy r\u00f3g, to <strong>wyb\u00f3r dzia\u0142u (rodzaju spraw) i roku<\/strong>. W czasie startu, program wyszukuje w bazie danych dost\u0119pne dzia\u0142y i lata, i umo\u017cliwia u\u017cytkownikowi ich wyb\u00f3r w formie rozwijanych list. Np. w powy\u017cszym przyk\u0142adzie wy\u015bwietlone zosta\u0142y wszystkie sprawy z dzia\u0142u 2222 (W\/g Instrukcji Kancelaryjnej s\u0105 to zlecenia dostaw, us\u0142ug lub rob\u00f3t budowlanych) w roku 2007.<\/p>\n<p>Cz\u0119\u015b\u0107 robocza, to <strong>lista danych <\/strong>pokazuj\u0105ca kolejno od lewej:<\/p>\n<ul>\n<li>numer sprawy (mo\u017cliwe jest \u0142\u0105czenie w numerze cyfr i liter),<\/li>\n<li>dat\u0119 wszcz\u0119cia (lista jest segregowana w\/g tej daty),<\/li>\n<li>tytu\u0142\/opis sprawy spod danego numeru.<\/li>\n<\/ul>\n<p>Spraw\u0119 o kt\u00f3rej chcemy z jaki\u015b powod\u00f3w pami\u0119ta\u0107, mo\u017cna zaznaczy\u0107 na czerwono podaj\u0105c w pisie znacznik &lt;M&gt; (du\u017ce &#8222;M&#8221; w nawiasach kwadratowych). \u017beby odznaczy\u0107 spraw\u0119 wystarczy skasowa\u0107 &lt;M&gt;.<\/p>\n<p>Dolny, lewy r\u00f3g to <strong>wyszukiwarka<\/strong>. Wyszukiwarka obs\u0142uguje wyra\u017cenia regularne. Wiersz danych, kt\u00f3ry odpowiada zapytaniu, pod\u015bwietlany jest na zielono (jak na przyk\u0142adzie).<\/p>\n<p>Dolny, prawy r\u00f3g to przyciska zako\u0144czenia pracy z programem. Wszelkie operacje na bazie danych program realizuje na bie\u017c\u0105co, wi\u0119c jego zamkni\u0119cie nie wymaga specjalnych ceremonii typu: Zapisz-Porzu\u0107-Anuluj.<\/p>\n<p>2. Co potrzeba do uruchomienia i pracy programu?<\/p>\n<p>W systemie powinny by\u0107:<\/p>\n<ul>\n<li>interpreter <a href=\"http:\/\/www.tcl.tk\">Tcl\/Tk<\/a>,<\/li>\n<li>rozszerzenie do Tcl w postaci pakietu <a href=\"http:\/\/www.xdobry.de\">mysqltcl<\/a>,<\/li>\n<li>baza <a href=\"http:\/\/www.mysql.com\">MySQL<\/a> (lub mo\u017cliwo\u015b\u0107 zdalnego dost\u0119pu do tej bazy).<\/li>\n<\/ul>\n<p>Program powsta\u0142 na platformie GNU\/Linux, ale napisany w czystym Tcl-u powinien pracowa\u0107 bez problemu r\u00f3wnie\u017c na innych systemach.<\/p>\n<p><strong>Baza danych<\/strong>, to tylko jedna tabela, kt\u00f3r\u0105 tworzymy wydaj\u0105c mySql-owi polecenie:<br \/>\n<code><br \/>\ncreate table sprawy (<br \/>\nid smallint(4) unsigned not null auto_increment,<br \/>\ndzial smallint(4) not null,<br \/>\nnumer char(5) not null,<br \/>\ndata date not null,<br \/>\nopis tinytext,<br \/>\nprimary key (id)<br \/>\n);<br \/>\n<\/code><\/p>\n<p>Pami\u0119tajmy, by u\u017cytkownikowi bazy nada\u0107 odpowiednie uprawnienia do pracy na danych, czyli: SELECT, INSERT, UPDATE i DELETE.<\/p>\n<p>Konfiguracja programu sprowadza si\u0119 do edycji pierwszych wierszy skrytpu, gdzie musimy wpisa\u0107: nazw\u0119 bazy danych, nazw\u0119 u\u017cytkownika bazy, has\u0142o u\u017cytkownika bazy oraz nazw\u0119 serwera z baz\u0105. Je\u017celi baza danych znajduje si\u0119 na naszym komputerze, to w miejsce nazwy serwera wpisujemy 'localhost&#8217;.<\/p>\n<p><em><font color=\"maroon\">Uwaga: po\u0142\u0105czenie programu z baz\u0105 danych nie jest w \u017caden spos\u00f3b szyfrowane.<\/font><\/em><\/p>\n<p>3. Co w przysz\u0142o\u015bci?<\/p>\n<p>Program powsta\u0142 na potrzeb\u0119 chwili &#8211; niemal\u017ce na kolanie. Chodzi\u0142o o szybki i w miar\u0119 przyjazny dost\u0119p do bazy danych, obs\u0142ugiwanej wcze\u015bniej przez skrypt PHP. Spe\u0142ni\u0142 swoje zadanie, w zwi\u0105zku z czym nie planuj\u0119 jego dalszej rozbudowy. Mo\u017ce kiedy\u015b dodam mo\u017cliwo\u015b\u0107 wydruku zestawienia spraw. Przyda\u0142oby si\u0119 r\u00f3wnie\u017c zrobi\u0107 co\u015b z entuzjastyczn\u0105 kolorystyk\u0105, a jeszcze lepiej pomy\u015ble\u0107 o <a href=\"http:\/\/tktable.sourceforge.net\/tile\/\">tile<\/a>. Mo\u017ce kiedy\u015b&#8230; Puki co mam nadziej\u0119, \u017ce komu\u015b przyda si\u0119 w takiej wersji w jakiej obecnie jest (do pracy, lub do zabawy w przerabianie, bo przecie\u017c publikuj\u0119 go na <a href=\"http:\/\/www.gnu.org\/licenses\/gpl.html\">LICENCJI GPL<\/a>).<\/p>\n<p><font color=\"#ffffff\">.<\/font><\/p>\n<p align=\"center\"><a href=\"http:\/\/www.kosmala.pl\/wp-content\/uploads\/2008\/03\/kumiko\" title=\"kumiko\">^^^ Pobierz program ^^^<\/a><\/p>\n<p align=\"center\">&nbsp;<\/p>\n<p><!--:--><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Program o staromarsja\u0144skiej nazwie &#8222;Kumiko&#8221; to skrypt Tcl\/Tk, kt\u00f3rego zadaniem jest prowadzenie numerycznej listy spraw\/pism\/um\u00f3w\/zlece\u0144, czy wszelkiej innej dokumentacji tego typu.<\/p>\n","protected":false},"author":3,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[14,13],"tags":[],"class_list":["post-71","post","type-post","status-publish","format-standard","hentry","category-programy","category-tcltk"],"_links":{"self":[{"href":"http:\/\/www.kosmala.pl\/index.php?rest_route=\/wp\/v2\/posts\/71","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/www.kosmala.pl\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.kosmala.pl\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.kosmala.pl\/index.php?rest_route=\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"http:\/\/www.kosmala.pl\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=71"}],"version-history":[{"count":0,"href":"http:\/\/www.kosmala.pl\/index.php?rest_route=\/wp\/v2\/posts\/71\/revisions"}],"wp:attachment":[{"href":"http:\/\/www.kosmala.pl\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=71"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.kosmala.pl\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=71"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.kosmala.pl\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=71"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}