Home


Aktualizováno 11.07.21 09:28:21
******************
10.07.2021
Opraven odkaz na dokumentaci wr590 (byl odkaz na wr591, která zatím neexistuje).
******************
02.07.2021
Počítám, že wr591 bude součástí letošního paušálu. Do WR590 nebudu s výjimkou
nějakých oprav ve druhé polovině roku zasahovat, ani nic přidávat.
******************
30.06.2021
Dostal jsem na stůl XML s obratem, který jsem ještě neviděl, nicméně zobrazovač
XML si s tím poradí:

<?xml version="1.0" encoding="UTF-8"?>
<start>
<abx a="xyz">Nazdar </abx>
<abc>Nazdar <cde>
ahoj
</cde>
</abc>
</start>

abx je standardní tvar, který umíme. abc je obrat, který neumíme.
<abc> text <cde> znamená, že text je hodnota abc, ale ukončení je
další úrovní <cde>. Prozatím by to vypadalo:

<abc>Nazdar </abc>
******************
27.06.2021
Vzhledem k tomu, že .readhttp přestává pomalu fungovat, udělal jsem v něm změnu,
že když volačka selže, spustí se automaticky .readhttps.
******************
25.06.21
Setkal jsem se s problémem, kdy vstupní tabulka byla DBF v kódu windows 1250
a v ZUZ bylo přiřazení "tx:=txt" - txt z DBF. V tomto případě se interně
položka txt překlopí do UTF16 a na výstupu do KOI08. Nedopadne to dobře pro
znaky s a z s háčkem. V tomto případě stačí dát do parametrů ZUZ q5:61.
Úpava je přirozeně zpětně kompatibilní.

Další problém jsem opravoval pro případ, že v kódu ZUZ bylo přiřazení

[atp]:=tx1
tx2:=[atp]

atp je nyní v UTF16 a do tx2 se v tomto kódu přenesla - chyběl přepis do KOI08.
******************
13.06.2021
Ještě zopakuji, že ATP pracuje 16-ti bitově - z KOI08 CMD čte pp řádcích a
KOI08 je převáděno na pozdí na UTF16, UTF8 soubory též konvertuje do UTF16 a přirozeně
UTF16 soubory čte přímo. V UTF16 ale nejsou návěští a jména proměnných. Jména
souborů se berou v UTF16 módu.

V druhé etapě jsou tiskové bloky XT/XO ponechány interně v UTF16, knihovny KN
z důvodů kompatibility jsou v KOI08. Z toho vyplývá, že tisk jede v UTF16 módu.

U EDI jsem potlačil prozatím zápis do UTF16, výsledek editace se píše po převodu
do KOI08. Obecně je již řadu let EDI v módu UTF16.

Celá akce byla značně komplikovaná a na první pohled nic nepřináší. Pro přechod
na mezinárodní abecedy je ale připravená.
******************
12.06.2021
Na webu je demo verze WR591D pro eventuální otestování na vašich CMD.
I když jsem odladil tisíce možností, tak bohužel disponujeme alespoň desetisíci
jiných možností. Proto si buď raději vytvořte zálohu dat nebo testy provádějte
na kopii vašich dat. V init5w si nastavte místo +M5 radějí -M5 - vypne se tvorba
UTF16 souborů. Za eventuální připomínky předem děkuji.
******************
Takže momentálně máme v KOI názvy proměnných, návěští a identifikátory
v RDA. Přirozeně i RV a RE kvůli kompatibilitě. XT a XO se překládají
v UTF16. Menu je nyní interně v UTF16. Celé ATP jede v UTF16. Takže
v 8 bitech toho již moc nezbývá.

Kromě odpovědí na vaše dotazy a řešení připomínek se v tom rýpu 1.5 roku.
Při tom doufám, že to bude zatím interpretovat správně CMD alespoň jako WR590.
*******************
08.03.2021
Zadařilo se ve wr591 uchodit NAK, HTM a CHM. HTM nyní generuje UTF16
kód a zdá se, že např. "start ..." to akceptuje. CHM nikoliv, generuje
proto pro překlad Windows 1250. V NAK a příručce se mně vyrojily navíc
řádky začínající ".;". Tj. jejich vypouštění v předchozích verzích
asi byla chyba.

Zabudoval jsem do WR591 i opravu ".if" v ATP jako ve WR589.
*******************
25.02.2021
Pokud jsem se vratil k wr56, pak výsledek byl 13.6/12.3, takže to dost
lítá. Navíc nyní je první % a pak @ind. Původní předpoklad, že @ind
je výrazně pomalejší tedy neplatí. Naopak u všech verzí je nejpomalejší
%. Zdá se, že při větším objemu dat se cache systému naplní a další
práce se tak zpomalí. Nicméně nedokážu vysvětlit, proč wr590 je daleko
nejrychlejší - např. 2x rychlejší než wr56.
*******************
25.02.2021
Nicméně pro úplnost k problému dodávám, že soubor má 16 MB a necelých
19 tisíc vět. Takže tvorba čtyřnásobného udržovaného indexu kolem
10 s na mém archaickém PC asi časově nikoho nemusí ohrožovat.
*******************
25.02.2021
Mírně jsem pokročil. Asi je to dáno cache systému. Pokud pořadí
obrátím, ind@ je sice pomalejší, ale ne tak drasticky. U wr589
9.7/8.3 a u wr590 dokonce obráceně 6.9/7.3. Pokud to zopakuji,
první čas se mírně zkrátí 5.2/7.5. Je to vše s přesností +-0.1 s,
takže 7.3 může být skoro 7.4 a 7.5 zase skoro 7.4.

Rozdíly v časech mezi verzemi mohou být dány i rozdílem
v konkrétním sestavení. Ještě se nad tím zamyslím, ale vzhledem
k tomu, že moduly kolem IND a TRI jsou letité, nevidím moc možností
k nějaké nápravě či změně.
*******************
24.02.2021
Teď mám na stole záhadnou chuťovku. Čtyřnásobný index vytvářený pomocí

ind @
a
%ind

je to v podstatě totožný kód, ale ne tak výpočetním časem:

WR56 11.7/11.7 s neliší se
WR588 12.1/11.9 s to by ještě šlo
WR589 8.2/7.4 s to se sice liší, ale je to rychlejší
WR590 21.2/13.9 s největší rozdíl a nejpomalejší

WR590 ale bylo ladicí - je vždy pomalejší, takže demo:

WR590 7.1/3.8 s je to fofr, ale stále dramatický rozdíl

Podotýkám, že CMD začíná .disable cache!
*******************
22.2.2021
V jakémsi mezičase jsem si sestavil wr591 po vypuštění cca 43 kB kódu (vypuštění
části prázdných procedur a náhradou 8 bitových procedur 16 bitovými v počtu 170
rutin). Jinak jsem zasáhl do cca 400 modulů z necelých 600.
Mohu konstatovat, že to moc zatím nechodí.

Faktem je, že zdánlivě drobný zásah způsobí rozpad kódu a ukáže se, že zásahů
musí být celá řada, než se linker uklidní a půl den je pryč.

Při tom vidím instrukce INS, ROZ, EDK, VSK, VSD, KON ap. Jestli pak to ještě
někdo používá?
*******************
19.02.2021
Zlikvidoval jsem cca 20 osmibitových rutin po náhradě 16 bitovou rutinou. Nyní jsem se
dostal do fáze, kdy likviduji prázdné osmibitové rutiny - bohužel se i ve wr590 pilně
na některých místech volají, takže z tohoto pohledu je WR590 nefunkční. Protože je
ve WR několik tisíc příkazů a funkcí, záleží na konkrétním CMD, zda se do nějaké
díry trefí. Nicméně se zdá, že v dohledné době budu musit z WR591 udělat WR590,
protože WR591 bude funkčnější.

Při této práci je problém, že zdánlivě prostá náhrada, vede k celé řadě úprav
v předcházejících voláních nebo následujících voláních, takže problémy doslova
kynou pod rukama.
*******************
16.02.2021
Pokračuji ve wr591 v odbourávání nepotřebných jednobajtových rutin po jejich náhradě
utf16 rutinami. Dnes jsem se i ve wr590 snažil rozchodit ZIP a ZPP, což se podařilo.
*******************
09.02.2021
Takže po několika tisíc úpravách a včera a dnes drobných opravách WR591 se zdá
docela chodivá. Nicméně mně čeká ještě dost zdlouhavý proces postupné likvidace
bajtových rutin a pokud jsou ještě někde k něčemu, pak jejich náhradou dvoubajtovou
rutinou.
*******************
02.02.2021
Přetypování short resp. unsigned char na wchar_t ve zdrojích WR vedlo k cca 5000
formálním chybám. Ty jsem postupně odstranil, a pak při linkování vyběhlo cca
200 neexistujících proměnných a podprogramů. Dnes jsem to stáhl na 10 případů.
Teprve v momentě, kdy se podaří WR sestavit, začne skutečné ladění a úprava
zdrojů.
*******************
29.01.2021
Vzhledem k tomu, že připomínky k wr590 víceméně utichly, zahájil jsem druhou část
(neméně obtížnou) a to tisk vést v UTF16 namísto dosavadního KOI08. Formálně
jsem zahájil změnu ve WR591, abych měl zatím alespoň něco funkčního tj. WR590.
*****************
28.01.2021
Uchodil jsem viz rusky.zip
*****************
18.01.2021
Pokud do EET pošlu účtenku v utf16, tak ji schrupne, ale odpověď vrátí v UTF-8.
*****************
17.01.2021
Zdá se, že přidáním ".codepage 6" na tři místa se vyřešily problémy s písmenky.
Aktualizaci www stránky nyní provedu pouze pomocí wr590, takže doufám, ze se to
povede!
*****************
16.01.2021
Zkoumáním, proč se kazí některá písmena při údržbě webové stránky pomocí WR590,
jsem došel k následujícímu výsledku:
Soubory HTML jsou ve Windows 1250, ale rozdíl mezi kódováním KOI08 a tímto nikde
není vyznačen. WR590 jede interně v UTF16 a tudíž si osmibitové soubory (předpokládá,
že jsou v KOI08) převede do UTF16. Pokud jsou ale ve Windows 1250, nedopadne to
úplně dobře - tuším, že písmena 'š' s 'ž' se změní.
Jedinou, relativně snadnou cestu, z toho vidím použitím příkazu .codepage 6, obecně
je použitelný i na jiné kódování. Interně pak převod bude q5:69 místo q5:19.
*****************
13.01.2021
Můj CMD na aktualizaci www.redap.cz hrubě neprocházel. Teď mně zbývá již poslední
krok - proč se kazí dvě česká písmena.
*****************
09.01.2021
Opraven příkaz .write. Připomínám, že .open otvírá KOI soubor, .open8 utf8 soubor a
.open16 utf16 soubor. .write se tomu pak musí při zápisu přizpůsobit.
*****************
08.01.2021
Odstraněna příčina pomalejšího zobrazování ve VST.
*****************
07.01.2021
Opravena čeština u hlášky s neexistující dokumentací a dokumentace svedena z dok590
na dok589. Zlegalizován zápis 'datum%d', který doposud procházel.
*****************
Napraveno cls(253)
*****************
06.01.2021
Uchodil klávesnici KLA a grdwin - zde zajímavý problém, kdy nadpis okna je deklarován
jako UTF16, ale bere pouze Windows 1250. Evidentní chyba Windows.
*****************
Takže nyní generujeme awpxxx.his, chwxxx.his, hwsxxx.his.
*****************
05.01.2021
Připustil jsem v GRD rozměr okna 99xy a uchodil winmenu. Protože se soubory HIS kříží -
8 bitů a 16 bitů, budu je musit nějak rozlišit. Jinak to padá.
*****************
04.01.2021
Dostal jsem několik hlášek, že WR590 padá nebo mrší cosi, ale po vypreparovaní sekvence to
funguje. Proto se neodříkám zaslání celé aplikace s návodem, jak chyby dosáhnout. Já si pak
s tím již poradím.
*****************
04.01.2021
Děkuji za zaslané podněty k wr590, ale momentálně se musím věnovat připomínkám k wr589, které
budu pak musit promítnout i do wr590.
31.12.2020
Od 9.2019 jsem se rok rýpal ve wr590 s cílem pracovat místo v KOI08 v kódové stránce UTF16.
Poslední kvartál 2020 jsem na wr590 zanevřel, protože původní jednoduchá myšlenka se ukázala
jako pořádný oříšek a úpravy kódu nebraly konce.

Momentálné je ATP 16 bitový, tisk částečně 8 bitový. Z důvodu momentální bezproblémové
kompatibility editor ukládá výsledek 8 bitově (v KOI08, ale mám jakési UTF8) místo správně
16 bitově.

WR590 dělá mnoho věcí jako wr590, ale obávám se, že stále ještě mnoho věcí nefunguje. Proto
dávám na web demo wr590 - nesetuje se! s prosbou na cestující veřejnost, aby v případě
volné chvilky si wr590 ověřila na své/svých aplikacích a v případě potíží mně dala vědět
co je ještě třeba dodělat.