Stránka 4 z 8
Re: Aktuální stav
Napsal: 4.9.2021 18:13
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 13943 x
Re: Aktuální stav
Napsal: 14.9.2021 17:55
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.
Re: Aktuální stav
Napsal: 16.9.2021 20:54
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
Re: Aktuální stav
Napsal: 17.9.2021 20:29
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)
Re: Aktuální stav
Napsal: 19.9.2021 15:48
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 11437 x
Re: Aktuální stav
Napsal: 14.10.2021 11:42
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.
Re: Aktuální stav
Napsal: 15.10.2021 20:13
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 12508 x
Re: Aktuální stav
Napsal: 30.10.2021 18:08
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 11316 x
Re: Aktuální stav
Napsal: 28.11.2021 16:39
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 11134 x
Re: Aktuální stav
Napsal: 8.12.2021 18:25
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 13539 x