Ruština v tisku - řešení typu plugin

PříspěvekNapsal: 01.09.2008 13:10
od jan.havranek
Objevují se poptávky na tisk formulářů ve speciálních znakových sadách, především rusky. Helios Orange není Unicode (zatím), tudíž nativně tyto znakové sady nedokáže zobrazit, ale existuje řešení které to částečně umí.

Existuje plugin, který umožní do Heliosu vkládat (do vybraných atributů) hodnoty ruského textu, které jsou pomocí pluginu překódovány a zobrazeny rusky, do databáze jsou však uloženy jako ASCII kód.

Tento ASCII kód lze po úpravě formuláře tisknout v ruské znakové sadě, tedy jako azbuku.

Nevýhodou je nutnost pro každý textový objekt psát zvláštní CALC v ReportBuilderu. Také je nutné mít pro každou datovou hodnotu, která má být v ruštině, zadaný odpovídající ASCII kód v nějakém pevném atributu v tabulce Helios (může být ve vlastních nebo externích soupcích).

Soubor PluginRustina.dll lze získat od Obchodníků HeOrange, cena je 4200,- bez DPH.

======================================================
Instalace pluginu:
1/ nakopírovat PluginRustina.dll do adresáře Heliosu

\\lion\KO_HE\INSTALL\PluginRustina

2/ zaregistrovat externí akci typu Plugin do příslušného přehledu, ProgID COM pluginu dát PluginRustina.Editor a do parametrů napsat systémové jméno sloupce, který bude plugin editovat (např. TabKmenZbozi.Nazev4; pokud by to byl externí sloupec, tak takto: TabKmenZbozi_EXT._XXX) - od této chvíle lze sloupec externí akcí editovat. Takovýchto registrací lze udělat samozřejmě více - tolik, kolik je třeba mít různých sloupců v ruštině.

Skriptem by se to udělalo takto (editor Názvu 4 v kmeni zboží):
Kód: Vybrat vše
INSERT TabExtKom(Typ, IdBrowse, Popis, UP, Parametry, ParamHe)
VALUES(3,  2, 'Editor Názvu 4 v ruštině', 'PluginRustina.Editor', 'TabKmenZbozi.Nazev4', 0)


3/ F8-Tisk - v definici formuláře v záložce Calc najít událost GlobalOnCreate (Global -> Events -> OnCreate) a pro každou komponentu, která se má zobrazovat rusky, vložit do obsluhy události řádek:
Kód: Vybrat vše
 DBTextXXX.Font.Charset := 204;


4/ Vkládání - je třeba si přepnout na ruskou klávesnici. Lze použít přímo ASCII kód.

======================================================
Rozložení klávesnice - porovnání:

česká
anglická
ruská

q w e r t y u i o p ú )
q w e r t y u i o p [ ]
й ц у к е н г ш щ з х ъ

a s d f g h j k l ů § ¨
a s d f g h j k l ; '
ф ы в а п р о л д ж э

z x c v b n m , . -
z x c v b n m , . /
я ч с м и т ь б ю .
Přílohy
cp1251.gif
Ruština - ASCII tabulka
cp1251.gif (8.14 KiB) Zobrazeno 8040 krát
RP_GlobalOnCreate.jpg
RP_GlobalOnCreate.jpg (65.15 KiB) Zobrazeno 8041 krát
PluginRustina-data.jpg
PluginRustina-data.jpg (58.5 KiB) Zobrazeno 8041 krát
PluginRustina-editor.jpg
PluginRustina-editor.jpg (8.44 KiB) Zobrazeno 8037 krát
PluginRustina.jpg
PluginRustina.jpg (45.35 KiB) Zobrazeno 8043 krát

Re: Ruština v tisku - řešení typu plugin

PříspěvekNapsal: 09.09.2009 09:40
od jan.havranek
Tento plugin po přechodu na Helios Orange UNICODE ztrácí svůj smysl. V UNICODE bude možné zadat a tisknout národní znaky přímo ve standardních editorech.

Před převodem do UNICODE je možné stávající údaje uložené jako ASCII znaky připravit, tak aby se v UNICODE zobrazovaly jako národní znaky. Pokud využíváte tento plugin, obraťte se na svého dodavatele systému Helios Orange.