Aktuální stav

Moderátor: spainhell

Odpovědět
spainhell
Příspěvky: 100
Registrován: 17.5.2020 09:32

Re: Aktuální stav

Příspěvek od spainhell »

Verze 0.32:
- podařilo se mi opravit volání exit procedur v datovém editoru (pokud bylo pole označené, že po jeho opuštění se má něco zavolat, nic se nedělo).
- podařilo se zprovoznit aditivní změny
- došlo k opravě lexikálního třídění (indexy)
- bylo opraveno přidávání stránky do indexového souboru

Upraveno 14.9.2021:
Jak jsem zjistil, práce s indexy pořád nefunguje správně. Práce s nimi není jednoduchá, pokaždé to zabere dost času. Ale zaměřím se primárně na to.

Před stažením souboru si přečtěte pokyny https://pcfand.org/viewtopic.php?f=1&t=16
cppfand.exe
verze 0.32 32bit
(936.5 KiB) Staženo 13941 x
spainhell
Příspěvky: 100
Registrován: 17.5.2020 09:32

Re: Aktuální stav

Příspěvek od spainhell »

Dnes jsem zase spálil několik hodin laborováním s indexy. A nějak se to ve mně začíná mlátit. Jak přesně ty indexy fungují, to asi nikdy nezjistím.
Tak přemýšlím "nahlas", jak dál.
Teoreticky můžu použít zdrojáky k ODBC, udělat nad nimi API a pak to "zadrátovat" do CppFandu. Bude problém se sdílením a kompatibilitou s původním PC FANDem. Znamená to úplně přepsat práci se soubory v CppFandu.
Můžu zkusit přejít na SQLite, bude to hodně práce a nebude to už vůbec kompatibilní s PC FANDem. Jen si nedokážu představit editaci F kapitol a přímý přepis změn do databáze.
Nebo můžu pokračovat dál v pokusech o rozchození původní implementace. Je to prostě zdlouhavé. Většinou to dělám tak, že mám vedle sebe spuštěné 2 stejné úlohy, jednu v PC Fandu, druhou v CppFandu. Pak dělám binární porovnání výsledků a tím se snažím přijít na to, co se tam vlastně děje a v jakém formátu to má být.
Když už jsem totálně v koncích, tak využívám debug původních zdrojáků z Alisu a sleduji, co je přesně v proměnných a v paměti. Ale asi si dokážete představit, jak to jde pomalu.
No nechám to utřepat a pak se rozhodnu, kudy se vydám.
spainhell
Příspěvky: 100
Registrován: 17.5.2020 09:32

Re: Aktuální stav

Příspěvek od spainhell »

Verze 0.33:
- byla úplně překopána práce s indexovými soubory
- nebylo to příliš testováno, ale veškeré pokusy byly 1:1 se stavem .X00 souborů z PC FANDu 4.2

Před stažením souboru si přečtěte pokyny https://pcfand.org/viewtopic.php?f=1&t=16
cppfand.exe
verze 0.33 32bit
(937 KiB) Staženo 12940 x
spainhell
Příspěvky: 100
Registrován: 17.5.2020 09:32

Re: Aktuální stav

Příspěvek od spainhell »

Aktuálně pracuji na možnosti spustil úlohu z ladícího režimu, včetně kompilace. Už funguje alespoň něco:
diagnostika úlohy (Ctrl + F8)
diagnostika úlohy (Ctrl + F8)
spainhell
Příspěvky: 100
Registrován: 17.5.2020 09:32

Re: Aktuální stav

Příspěvek od spainhell »

Verze 0.34:
- možnost výběru tiskárny a možnost spuštění tisku (částečně rozchozeno)
- provedeny další úpravy ve zpracování indexů
- možnost spustit projekt z ladícího režimu
- možnost založit / otevřít katalog

Před stažením souboru si přečtěte pokyny https://pcfand.org/viewtopic.php?f=1&t=16
cppfand.exe
verze 0.34 - 32bit
(942 KiB) Staženo 11435 x
spainhell
Příspěvky: 100
Registrován: 17.5.2020 09:32

Re: Aktuální stav

Příspěvek od spainhell »

Postupně se mi daří opravova další části kódu, namátkou např. metoda checkfile, nějaké převody mezi malými a velkými písmeny, porovnávání s parametrem "u", chybně implementovaný příkaz gotoxy atp.
Zajímavým oříškem bylo generování indexových souborů, pokud úplně chyběly. Při překročení určité velikosti se volaly metody Merge a z ní pak ještě Merge2Chains. Ty nebyly vůbec připravené, ale posledních pár dnů jsem na tom pracoval.
Ještě to není úplně na 100%, ale snad se to blíží do finále. V CppFandu je dostatek paměti a proto se při vytváření těchto souborů inicializovaly stránky o velikosti 64 kB. V originál PC Fandu 4.2 (testováno s Účto 2021, soubor POSTY.000) se vytvářejí (kvůli množství zbývající paměti) stránky o velikosti 32 kB. Proto jsem také vynutil vytváření 32 kB stránek v index. souborech, hlavně z důvodu, abych mohl porovnat, jak vypadá vygenerovaný X00 soubor z PC Fandu a z CppFandu. Ještě nejsou úplně "na byte" přesné, ale to je jen otázka času.
Když to dobře půjde, vydám tento nebo příští týden další verzi.
spainhell
Příspěvky: 100
Registrován: 17.5.2020 09:32

Re: Aktuální stav

Příspěvek od spainhell »

Verze 0.35:
- opravena práce s indexy
- opravena práce se soubory volných textů
- úpravy v textovém editoru
- opravena metoda copyfile
- značný refactoring stávajícího kódu

Před stažením souboru si přečtěte pokyny https://pcfand.org/viewtopic.php?f=1&t=16
cppfand.exe
verze 0.35 - 32bit
(946 KiB) Staženo 12506 x
spainhell
Příspěvky: 100
Registrován: 17.5.2020 09:32

Re: Aktuální stav

Příspěvek od spainhell »

Verze 0.36:
- opraveno načítání sekce #A v kapitole F, pokud nebyla ukončena středníkem
- opraveno načítání parametrů editace
- učiněny neúspěšné pokusy o zamykání souborů pro sdílení
- upravena metoda CopyFile (ještě ale není kompletní)
- opravena metoda AutoReport
- opravena metoda Merge
- opravena práce s duplicitním indexovým klíčem

Před stažením souboru si přečtěte pokyny https://pcfand.org/viewtopic.php?f=1&t=16
cppfand.exe
verze 0.36 - 32bit
(961 KiB) Staženo 11314 x
cppfand64.exe
verze 0.36 - 64bit
(1008 KiB) Staženo 12370 x
spainhell
Příspěvky: 100
Registrován: 17.5.2020 09:32

Re: Aktuální stav

Příspěvek od spainhell »

Verze 0.37:
- opravena práce s kapitolami F při použití LIKE
- opraveno vyhodnocování podmínek v auto reportech
- opraveno kopírování údaje typu T (mezi soubory, i z/do pracovního souboru)
- opravena metoda pro porovnávání řetězců
- opravena metoda pro vyhledávání x-tého výskytu znaku v řetězci
- zprovozněna řádková kalkulačka (Ctrl + F5)
- opravena práce s Journal
- vyřešeny memory leaky při práci s indexy
- refactoring kódu

Před stažením souboru si přečtěte pokyny https://pcfand.org/viewtopic.php?f=1&t=16
cppfand.exe
verze 0.37 - 32bit
(968.5 KiB) Staženo 11132 x
cppfand64.exe
verze 0.37 - 64bit
(1014 KiB) Staženo 11882 x
spainhell
Příspěvky: 100
Registrován: 17.5.2020 09:32

Re: Aktuální stav

Příspěvek od spainhell »

Verze 0.38:
- opravena metoda puttxt
- opraveno zobrazování help stránek (není kompletní)
- dopsány metody ImportTxt a ExportTxt - netestováno
- implementována emulace příkazu IntTSR(22, 512, 0) - vrácení stavu přeřazovacích kláves
- opraveno načítání F kapitoly, která obsahuje 'journalOf'
- značný refactoring kódu

Před stažením souboru si přečtěte pokyny https://pcfand.org/viewtopic.php?f=1&t=16
cppfand.exe
verze 0.38 - 32bit
(976.5 KiB) Staženo 13537 x
cppfand64.exe
verze 0.38 - 64bit
(1.03 MiB) Staženo 13050 x
Odpovědět