<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Symbol LABoratory &#187; maszk</title>
	<atom:link href="http://lab.symboltech.hu/tag/maszk/feed/" rel="self" type="application/rss+xml" />
	<link>http://lab.symboltech.hu</link>
	<description>Kreativitás és Innováció a szoftveriparban</description>
	<lastBuildDate>Tue, 03 Jan 2012 14:24:56 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3</generator>
		<item>
		<title>RTF normalizálás &#8211; vissza-visszatérő fájlformátumok</title>
		<link>http://lab.symboltech.hu/2009/07/rtf-normalizalas-vissza-visszatero-fajlformatumok/</link>
		<comments>http://lab.symboltech.hu/2009/07/rtf-normalizalas-vissza-visszatero-fajlformatumok/#comments</comments>
		<pubDate>Mon, 27 Jul 2009 07:14:44 +0000</pubDate>
		<dc:creator>developerteam</dc:creator>
				<category><![CDATA[Fejlesztői hírek]]></category>
		<category><![CDATA[maszk]]></category>
		<category><![CDATA[pdf]]></category>
		<category><![CDATA[rtf]]></category>

		<guid isPermaLink="false">http://lab.symboltech.hu/?p=313</guid>
		<description><![CDATA[Régen elfeledett formátumok térnek vissza néha-néha. Mekkora találmány volt régen (állítólag 1987-ben) az RTF formátum. Elfeledtük azóta, mindenhol a HTML, XHTML, XML a divat. Most újra elővettük egy projektünk erejéig és bele is futottunk egy feladatba. De pont ezért dolgozunk itt, kihívásokra várunk.]]></description>
			<content:encoded><![CDATA[<p>Régen elfeledett formátumok térnek vissza néha-néha. Mekkora találmány volt régen (állítólag 1987-ben) az RTF formátum. Elfeledtük azóta, mindenhol a HTML, XHTML, XML a divat. Most újra elővettük egy projektünk erejéig és bele is futottunk egy feladatba. De pont ezért dolgozunk itt, kihívásokra várunk.</p>
<p>Ügyfelünk dokumentumokat szeretne készíteni úgy, hogy azokat dolgozóadatokkal tölti fel. Ne kelljen az újonnan belépő dolgozónak word-ben megszerkeszteni a belépőkártya igénylő lapját, a munkaidőnyilvántartó lapját. És még sorolhatnánk&#8230;</p>
<p>Office dokumentumok kicsit nehézkesen kezelhetőek, célunk volt, hogy az adatok behelyettesítése után a lapok elküdhetőek legyenek a nyomtatón kívül PDF-be, vágólapra, stb. Ezért jött az ötlet, legyen RTF. Van jól használható RTF editorunk, abban a felhasználó a dokumentumait elkészíti, adatbázisban tárolhatja. Persze elhelyez benne helyettesítő maszkokat: #NEV#, #SZULDATUM#. (Ezek formátuma a régi rendszerről való átállás miatt kötött volt).</p>
<p><img class="aligncenter size-medium wp-image-324" title="document" src="http://lab.symboltech.hu/wp-content/uploads/2009/07/document-300x174.jpg" alt="document" width="300" height="174" /></p>
<p>A projekt ezen része elkészült, az adatok a megfelelő algoritmus szerint cserélődtek, a #NEV# helyére bekerült a dolgozó neve és így tovább. A tesztek során kiderült, hogy átlagos felhasználás (nem programozói, azaz laboratóriumi környezetben) a maszkok kicserélése nem is megy olyan szépen, mint azt hittük. Kiderült a turpisság: Ahogy a felhasználó szerkeszti a szöveget és néha-néha visszatöröl, újra beleír, az RTF szerkesztő új szekciót nyit neki az RTF forrásban. A megjelenítést ez nem befolyásolja, de a cserénél előfordul, hogy a szöveget nem tudjuk cserélni, mert a #NEV# maszk 3 részre bomlott és <strong>#N</strong>, <strong>EV</strong> és <strong>#</strong> lett belőle. String.Replace() pedig csak nevetett rajtunk.</p>
<p>Normalizálnunk kellett az RTF-et. Egy teljes RTF értelmezőt (szétbontó, építő) írni nem lett vona kivitelezhető, tekintve a projekt ezen moduljának költségvetését. Azonban egy minimális korrekciós algoritmus belefért, amely az egymás után következő, egyformán formázott elemeket összevonja eggyé:</p>
<p><code>{\f1\cf0 <strong><span style="text-decoration: underline;">Ar</span></strong>}{\f1\cf0 <span style="text-decoration: underline;"><strong>ra</strong> <strong>szeretnék</strong></span>}{\f1\cf0 <strong><span style="text-decoration: underline;">rámuta</span></strong>}{\f1\cf0 <strong><span style="text-decoration: underline;">tni</span></strong>}</code></p>
<p>Tervezésünket siker koronázta, végre megmozgattuk SQL parancsokban ellaposodott, algoritmikus &#8220;agyféltekénket&#8221; is.</p>
]]></content:encoded>
			<wfw:commentRss>http://lab.symboltech.hu/2009/07/rtf-normalizalas-vissza-visszatero-fajlformatumok/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

