Home


Aktualizováno 21.07.22 08:22:59
*******************
21.07.2022
Začal jsem se zase rýpat v SPR a zjistil jsem, že tudy cesta k programové manipulaci
s formulářem nevede. Proto zrealizuji příkazy:

_openspr <xxx>,<soubor>
_showspr <xxx>,sr zobrazí formulář od souřadnice s:r
_gospr <xxx>,sr přejde do formuláře a čeká na činnost uživatele
_writespr <xxx>,sr,<hodnota>
_readspr <xxx>,sr,<prom>
_savespr <xxx>,<soubor>
_closespr<xxx>

Tedy obecně lze vyjít z nějakého formuláře, poměnit v něm v ATP některé hodnoty a předhodit
ho uživateli k úpravě. Potom formulář uložit nebo ještě před tím vytěžit některé
hodnoty.
*******************
06.04.2022
V GRD přibyl režim et:4 generující interně vs,ak a působící na klávesu Insert, která
je vlastně po vs,ak původně nefunkční. Nyní se dá s ní označovat a odznačovat věty
stejně jako myší.
********************
14.03.2022
Zatím přemýšlím, zda pověsit již REDAP na hřebíček nebo ještě rok pokračovat.
Na stůl dostávám pouze reklamace často již velmi letitých problémů a
žádné nové náměty. Snažím se oprášit projekt spredsheetu SPR je letmo
popsán v dokumentaci a je na tom dost ještě co dělat. V roce 2015 jsem
ho vygumoval z WR. To jest, je nějak popsán, ale neexistuje.

Zatím jsem zdroje zanořil do 16 bitové verze wr592 a mírně překopal
původní návrh struktur. Vzhledem k širokému použití Excelu mně napadá
vygenerovaný popis buď nahrát do buňek Excelu nebo rovnou vytvořit
XLSX. To je ovšem běh na dlouhou trať.

Pro připomenutí kousek možné struktury pro SPR:

{up|rw,0000#,0000#,0500#,1000#,<27013>,<21013>,"Účet")}
{<27033>,<167>,<116>,<107>,<104>,<12613>,<100>,<261>}
Sloupce:
Řádky:
1 <10413>
3 <10413>
Bloky:
Buňky:
a1 "Naši uživatelé vývojového prostředí WinREDAP"
a2 "Jméno uživatele"
b2 "PSČ num"
b3=25*4
c2 "PSČ txt"
a3?b5:b10
d2 "Město"
a4<10413> "Jan Šantl, prom.mat., CSc."
b4 0
c4 "0"
d4 "Praha 9, D.Počernice"
a5<10413> "Ing.Radim Bouček"
b5 1
c5 "10032"
d5 "Praha 10"
a6<10413> "Pavel Hejl"
b6 1.1
c6 "14221"
d6 "Praha 4"
a7<10413> "RNDr.Ivan Štrbáň"
b7 1.11
c7 "17102"
d7 "Praha 7- Troja"
a8<10413> "ing.Petr Vobora"
b8 1.111
c8 "16307"
d8 "Praha 6 Řepy"
a9<10413> "Ing.Jiří Urbánek"
b9 1.1111
c9 "11000"
d9 "Praha 1"
a10<10413> "Ing. Michal Novotný"
b10 1.11111
c10 "19703"
d10 "Praha 9"

********************
12.03.2022
Takže jsem zkusil vygenerovat nejstarší Win10 - nechtějí ještě účet
Microsoft. Generace trvá cca 1/2 hodiny. Pak jsem našel možnost opravy
spuštění - cosi se nahraje na USB alespoň 4 GB - obsah se ale celý
předem vyčistí. Tato možnost trvá cca 1.5 hodiny. Spuštění z USB
trvá asi 10 minut. Co se stalo netuším, ale nabízí to tovární nastavení
s tím, že se smažou všechny aplikace a uživatelské soubory - to se moc
nelíbí nebo spuštění Windows z disku - netuším, zda to něco opravovalo,
protože systém byl sám o sobě zatím spustitelný. Pak jsem využil možnost
neprovádět automatické aktualizace celých 35 dnů. Pak to asi zase
klekne a uvidím co na to USB.
********************
11.03.2022
Tak nám zabili Ferdinanda! Poslední ze tří Win10, které jsem vygeneroval
umřely. Přirozeně po automatické aktualizaci (cca 1 hodinu). Moje XP
existují víc jak 10 let a stále jedou. Zřejmě pokrok se nedá zastavit!
Nejhorší na těch aktuaizacích je, že po vypnout se objeví "Nevypínejte
počítač ..." a člověk je paralizováný na neurčitou, ale dlouhou dobu,
protože Win10 startuji jen příležitostně a tak aktualizací se zřejmě
nahromadí mnoho.
********************
05.03.2022
Řešil jsem dost těžko problém spočívající ve zmršení druhé části výstupu
(problém byl ale původně ve složitějším CMD):

fnt:="72"
.font 'fnt' T "Courier New" 21 t
.win(5,5,20,40,<252'fnt'>)
"<270'fnt'>ABCDEFGHIJKLMNOP"
"<270'fnt'>;abcdefghijklmnop"
.pause 20
.font 'fnt' T "Courier New" 23 t
.win(5,5,20,40,<252'fnt'>)
"<270'fnt'>ABCDEFGHIJKLMNOP"
"<270'fnt'>abcdefghijklmnop"
.pause 20

Hledání příčiny poničení tabulky fontu nevedlo k cíli, protože tabulka
se ve skutečnosti neponičila, pouze se díky shodě čísla fontu nenahrála.
********************
27.02.2022
Odstranil jsem zajímavou chybu v SUM vzniklou zavedením XML vět, kdy se
respektuje velikost písmen. Do té doby byly všechny identifikátory malými
písmeny a tak se při vyřazování položek z přepisu do výstupní věty
porovnávaly identifikátory na prostou shodu. To u XML věty selhalo i díky
otrockému přepisu velkých písmen v dynamické definici.
********************
22.02.2022
Problém s nefunkčností 16 bitových BAT souborů jsem vyřešil tak, že pokud
editor při zápisu detekuje příponu BAT, uloží soubor 8 bitově.
********************
20.02.2022
Při vyhodnocování textového vstupu jsem narazil na problém, kdy jednou je
soubor v KOI a jednou v UTF16 a prochází to stejným výpočtem. Musil jsem
to rozdělit na dvě cesty. Problém vznikl přechodem na utf16 ve wr591/wr592.
********************
20.02.2022
Pátral jsem, proč se zmrší výsledek ve WR590 příkazem pip s /wx pokud je soubor
v UTF16. Konstatuji, že od wr591 to dopadne dobře, ve wr590 ještě ne - jede
to tvrdě q5:16 místo q5:96. To jsem tedy napravil.
********************
20.02.2022
Ze stejného soudku je pokus převést HTM na UTF16 - zde to funguje dobře,
stačí překlopit HTM ve Windows 1250 do UTF16 (q5:69) a pak opravit v HTM

Windows-1250 na UTF16

I WR590 ctí původní (tedy UTF16) kódování souboru!
********************
20.02.2022
Ani po pečlivém pátrání jsem nezlomil odpor i Win10 pro UTF16 BATy. Jedině u
popisu CMD je uveden přepínač /U - výstup asi v UTF16. Nicméně jsem vyzkoušel
a výstup neobsahuje úvodní dvoubajtovou sekvenci označující soubor UTF16.

Jinak interně jeden příkaz posílám v UTF16 do systému - tedy to interně umí!
Pokud je BAT v UTF16, pak zřejmě CMD přeskočí první dva řídící bajty a pokud
je umažu, chová se jinak - svým způsobem hůře.
********************
19.02.2022
Problémy s BAT a podobných, zatím nespecifikovaných, jsem vyřešil uzavřením
místo Alt S příkazem Alt 8. Zároveň jsem narazil na příkaz Ctrl Z, analogie Alt Z
s tím, že se před startem CMD uzavřou všechny soubory. Může se hodit.
******************
19.02.2022
Potvrdily se nejčernější obavy, že ani ve Win10 BAT file nesmí být 16 bitový.
Znamená to, upravit editor tak, aby při výskytu přípony BAT uložil výsledek
jako osmibitový. Možná se toho vyskytne ještě více.
******************
10.02.2022
Dostal jsem na stůl padající chod při volbě .enable cache. Po delším pátrání jsem zkonstatoval,
že nedostatek paměti je legální - zpracovávané soubory v chodu měly kolem 30 MB, nicméně
zkolabování zpracování se mně nelíbilo. Začal jsem se tedy v keši po letech rýpat a změnil
jsem v ní podstatně práci s pamětí. Je nyní méně náročná a v případě, že se narazí na limity
paměti, pak se nové soubory nebo zapisované soubory přestanou kešovat.

Nicméně na PC se 2 GB paměti nebo 4 GB paměti a 16 bitovými Windows takové úlohy nedoporučuji
provozovat. Daleko lépe se s tím vypořáda 64 bitové Windows s alespoň 4 GB paměti.

Jako vedlejší efekt bylo odstranění šifrování paměti v keši bez ohledu na skutečnou
potřebu - nyní se šifrují pouze zašifrované soubory RDA. Dost podstatně to ovlivnilo výkon
zpracování.
******************
02.02.2022
Ve VST je nyní možno zadat lokální přepínač NA (nápovědné menu) pro položku typu RE, který způsobí,
že za položkou se objeví trojúhelníček. Pokud obsluha napíše několik znaků a stiskne F1 nebo myší
ťukne na trojúhelníček, objeví se pod údajem nápovědné menu s texty, které byly v minulosti zadány
a to v pořadí podle četnosti a začínající dosud zadnými znaky - !rozlišuje se velikost písmen!

Pokud chcete začít po určité době od nuly, dejte příkaz .erasenp. Texty se totiž při ukončení WR
ukládají a po opětovném nastartování WR se načtou. Jméno souboru je spojeno se jménem přihlášení
a tak různí účastníci mají různé obsahy nápovědy.
******************
01.02.2022
Pro .enable long_name2 .nextn jm,"..." dává dlouhé jméno a .next jm."..."
dává dlouhé jméno a za ním velikost souboru atd. takže je možno provést .parse na jednotlivé
složky jako ďříve. Přirozeně pokud byste chtěli odpověď dělit pozičně, kompatibilita není!
Podobně nyní dává dlouhé jméno .nextd pro případ knihovny.
27.01.2022
Protože se množily stížnosti, že při výpisu třeba dir *.txt některé soubory chybí
(dlouhá jména a absence tvorby formátu 8.3), dochází nyní ke generaci chyby, pokud
při prohedávání adresáře a absence formátu 8.3 se narazí na dlouhé jméno.

"<soubor> jméno neodpovídá 8.3 - nastavte .enable long_name2"