Avatar
virlupus.soft
Redaktor
Avatar
virlupus.soft:5. srpna 23:40

Zdravím všechny Pascalisty, pokud existují. Už nějaký ten rok se pokouším dát dohromady staré zdrojáky a vyluštit je a hlavně přepsat z MS-DOS do něčeho více-bitového. Společnost Alis s.r.o Česká Lípa uvolnila kód, po tolika letech.

Zkusil jsem: Zkoušel jsem převod jejich datových souborů v Pythonu a Javě, udělat celý interpret, ale sám to fakt nedám.

Chci docílit: Chtěl bych celý tento DB systém obnovit a dát mu kabát pro dnešní OP. Zde je kód: http://virlupus.cz/…c/pcfand.zip a zde na gitu: https://github.com/alisoss/pcfand

 
Odpovědět 5. srpna 23:40
Avatar
Peter Mlich
Člen
Avatar
Peter Mlich:6. srpna 9:02

Jak to? Pokud mas dost casu, tak ty pas, soubor po souboru asi snadno prepises na python, nebo, ja bych volil spis php. A muzes pouzit preci i delphi. To bys mel temer bez prace. A nebylo by lepsi najit nejakou uz hotovou alternativu?
Koukam treba na sort, protoze mne zajimalo, jaky pouzivaji algoritmus a ty jo, dobre oni, tlaci to do assembleru, takze to bude super rychle.
https://github.com/…pas/Sort.pas
Tak ten sort nahrad nativnim sortem jazyka.

Poslys, a ve free pascalu ti to nejede? Nebo, pres dosbox v tp6?

u nas se treba pouzivalo na db fox pro. A stare dbf soubory umi otevirat excel. Nevim, proc chces psat vlastni sql?

Editováno 6. srpna 9:05
 
Nahoru Odpovědět 6. srpna 9:02
Avatar
Martin Dráb
Redaktor
Avatar
Odpovídá na Peter Mlich
Martin Dráb:6. srpna 20:59

Na GitHubu mají odstavec, který věci asi dost komplikuje:

Z důvodu úpravy práce s HEAPem (shora a zezdola stack, uprostřed heap), využití paměti grafické karty a realizace konstruktu "long jump" podle vzoru z jazyka C++ byly upraveny některé runtime knihovny Borland Pascalu. Z tohoto důvodu je sice možné zdrojáky PC FANDu přeložit, ale výsledná aplikace nepůjde spustit.

To vypadá na úpravy hodně specifické pro DOS, které třeba mimo reálný režim procesoru nedávají smysl. Tady nepomůže ani FPC pro DOS, protože ten nejede v reálném režimu, co si pamatuji.

Tohle by mohlo všechno dost zkomplikovat.

Nahoru Odpovědět 6. srpna 20:59
2 + 2 = 5 for extremely large values of 2
Avatar
virlupus.soft
Redaktor
Avatar
virlupus.soft:6. srpna 21:08

Martin: Vím, že to nejde kompilovat ani pod TP7 v dosu... spíše mi jde to celý předělat a možná i pascal vynechat. Pak k výsledku udělat převodník exitujících programů. Prostě to celý hodit do Javy, C++, Python, prostě aby to jelo na více než 16-ti bitech. Zdroják je jen návod.

 
Nahoru Odpovědět 6. srpna 21:08
Avatar
virlupus.soft
Redaktor
Avatar
Odpovídá na Peter Mlich
virlupus.soft:7. srpna 0:16

Peter, žádná kompilace tohoto zdroje nejede. Originál jede pod dosbox: http://virlupus.cz/…c/FAND42.zip. Cílem není to znovu kompilovat pro konzolovou aplikaci, ale udělat okenní aplikaci třeba pod Qt, JavaFx, PyQt ... etc.
Vím, že tam dost věcí jedou ve strojáku, o to je horší číst, co básník tím chtěl říct. Vím, že grafiky, tiskáren a jiných nízkoúrovňových akci si nemusím všímat.

 
Nahoru Odpovědět 7. srpna 0:16
Avatar
Peter Mlich
Člen
Avatar
Peter Mlich:7. srpna 10:26

Tak, ale, pokud ti jde o nacteni dbf souboru, to vyssi jazyky umi. Pokud ten soubor ma jinou strukturu, tak napsat si konvertor asi nebude problem.
Nebo potrebbujes, aby nejake super specialni zapisy z toho jazyka delali totez, co v tom programu? Protoze jinak cely problem spociva jen v tom, udelat konvertor, ktery to nasouka do databaze a pak uz nad tim pracujes s sql prikazy. Jinymi slovy, prepsat dbf soubor na serii sql prikazu CREATE TABLE tabulka a INSERT INTO tabulka. 95% z toho tim padem muze jit do haje. Zajima te jen cast read from file.

Tim dbf myslim nejaky typ fand-databaze. Ale mozna skutecne pouzili format souboru d-base-format

Editováno 7. srpna 10:27
 
Nahoru Odpovědět 7. srpna 10:26
Avatar
Peter Mlich
Člen
Avatar
Peter Mlich:7. srpna 10:42

https://www.root.cz/…-nastup-sql/
Tady pisou, ze byli pokusy o prepis do javy. Mozna by bylo dobre kontaktovat ty tymy.
Take pisou, ze autori se pokusili to prepsat pod odbc sql driver. Ale, ze tehdy byl nestabilni. Mozna maji zdrojove kody.
Mozna by bylo dobre, kontaktovat autory, aby ti poslali strukturu databazovych souboru.

 
Nahoru Odpovědět 7. srpna 10:42
Avatar
Peter Mlich
Člen
Avatar
Peter Mlich:7. srpna 10:47

Jinak si myslim, ze by nebyl problem to cele prepsat. Vcetne tech funkci, ktere zapisuji do souboru. Chce to jen cas na nastudovani, co ten asm kod vlastne delal. A cloveka. Ja praci mam. Jestli nejsi ochoten preplatit zamestnavatele, tak nezajem se v tom drbat :) Jak jsem rikal, na zlinsku to nejspis nikdo neupozival, tady se jelo na fox-pro.
Z toho popisu vyplyva, ze to v podstate umelo jen editovat databazi, tabulky. Coz umi kdejaky db-manager, treba phpmyadmin.

 
Nahoru Odpovědět 7. srpna 10:47
Avatar
Peter Mlich
Člen
Avatar
Peter Mlich:7. srpna 10:51

https://it-slovnik.cz/pojem/pc-fand
Pisi, ze je mozne stahnout i applikace. Coz by mozna bylo lepcejsi. Ty pouzivaji prikazy toho fandu a jenom by se to prepsalo na sql prikazy. A cely pc fand by se tim obesel.

 
Nahoru Odpovědět 7. srpna 10:51
Avatar
Peter Mlich
Člen
Avatar
Peter Mlich:7. srpna 10:54

https://aaapoptavka.cz/…fand-liberec
Poptávka: export dat z aplikace vytvořené v PCFAND, Liberec
Taky zajimave, firma se na to asi specializuje.

 
Nahoru Odpovědět 7. srpna 10:54
Avatar
Peter Mlich
Člen
Avatar
Peter Mlich:7. srpna 11:08

Tady mozna par odkazu z googlu.
http://www.abclinuxu.cz/…x/show/51395
http://velkedlazdeni.dlazka.cz/…ysledky2.htm
https://www.prokonzulta.cz/…-naklady.htm
https://vufind.techlib.cz/…rd/000014378 - literatura by se mohla hodit, kdybys delal klon.
http://aleph.nkp.cz/…00942103.htm
https://list.hw.cz/…/330827.html
https://katalog.cnb.cz/…ities/197667 - cnb mozna ma nejake moduly pro export do dbf

U nas se totiz pouzival T602 jako editor. a pro db prave fox-pro. ucetnictvi nevim, to bych se musel zeptat rodicu. Ale pc fand tu proste nikdo nezna :) Ale pak hodne firem preslo na MRP ucetnictvi. Mozna by ti jejich programatori poradili. Asi delali prevod z cizich systemu.

 
Nahoru Odpovědět 7. srpna 11:08
Avatar
Peter Mlich
Člen
Avatar
Peter Mlich:7. srpna 11:16

Tohle je mozna struktura tabulek pc-fand-databaze
https://github.com/…s/ACCESS.PAS

 
Nahoru Odpovědět 7. srpna 11:16
Avatar
Peter Mlich
Člen
Avatar
Peter Mlich:7. srpna 19:09

Takhle. Vybral sis nelehky ukol. Lide, kteri ovladaji starsi ASM a vi, jak se nektere prikazy chovaji, tem je dnes 60. Eventuelne bych tomu dokazal porozumet treba ja, 40, protoze jsem to pouzival. Ale spis se jedna o 50-60 lete, kteri maji vnoucata a jejich priority budou tim smerem. cili, zadarmo to asi nikdo resit nebude. 100-300 000 do toho asi investovat nechces.
Na vyvoji toho sw se podilelo nekolik lidi, stalo to tak tehdy 500.000 (10-20 let). Pri dnesnich cenach 5 mil. Jinymi slovy, drbani se v tak starem kodu bude pekne mastne. Chces vlastne vyvinout cely ten sw.

Cili, ja vidim 2 moznosti.
Bud vytahnes sql tabulky z toho sw a ovladaci sw si dopises pro individualni aplikaci (nema smysl kopirovat jakysi fand programovaci jazyk).
A nebo je treba prepsat funkci po funkci. Klidne treba javascriptem. Tabulky mu dodas treba jako csv (text/excel). Kdybys neco z toho mel hotove a jen si nevedel s nekterym asm kodem rady, tak na forku ti nekdo odpovi. Zkusmo muzes nejaky soubor predelat. Asm prikazy ti reknu, co delaji. Pripadne se da googlem najit tabulka. I zde jsou nejake clanky o asm s tabulkami instrukci. Dokud tam neni prikaz INT cislo, tak je to v pohode. INT 10 je zavolej funkce pro vykresleni na obrazovku. INT jine cislo je treba prace s mysi. Coz by tez nekde na wiki nebo jinde mohlo byt popsane :)

https://www.shsu.edu/…terrupt.html
The interrupt routines 10h - 1Fh are software interrupts which can be called by application programs to perform various I/O operations and status checking
Interrupt 10h -- Video: The BIOS interrupt 10h routine is the video driver
Interrupt 11h -- Equipment Check: returns the equipment configuration
Interrupt 13h -- Disk I/O
Interrupt 16h -- Keyboard
Interrupt 17h -- Printer I/O
Funguje to tak, ze do asm promennych ulozis data, adresy pameti, kde mas data. Zavolas INT a on ty data odesle treba na disk, tiskarnu a pod.
Pascal toto resi vlastnimi funkcemi nejaka_funkce() {asm kod}, ale ukazalo se, ze jsou asi o 60% pomalejsi. Pro bezne veci to stacilo. Ale kdyz jsi potreboval rychle operovat s diskem a pod, lepsi bylo pouzit primo asm prikazy.

 
Nahoru Odpovědět 7. srpna 19:09
Avatar
virlupus.soft
Redaktor
Avatar
virlupus.soft:9. srpna 0:31

Peter: Abychom si rozuměli. Nechci převádět dat z fandu chci celý fand. Což programovatelné databázové prostředí, založené na Pascalu. Umí i Prolog. DBF používá jen jako externí datovou jednotku, jinak má svůj vlastní formát, který umím dekódovat a převést do libovolné databáze. Dost si pamatuji i z ASM pro Z80 i pro 8080 dokonce jsem se učil 8680 intel pro DOS i Linux.
Tedy opravdu nechci nějaké SQL, ale spolupráci na předělání celého programu i s uživatelským prostředím (samozřejmě také programátorským) do dnešní technologie. Assembler dnes už lze asi vynechat, protože stroje kolem roku 87 - 92 jeli na 40MHz a jednom vlákně, na tom bych neudělal bez ASM ani emulátor ZX Spectra.
Opravdu mi nejde jen data, ale o celé IDE což PC-FAND je.
Jednou se o to už někdo pokoušel v Delphi....nedodělal a to měl přímou podporu od autorů.
No pokud by spolupráce někam vedla, nějaká ta kačka by se našla:-D sice v řádu 10na pátou ne ale 10 na třetí by se dalo.
Sám jsem pod Fandem programoval a vím, co dovede a taky vím, že už nikdy nikdo neudělá lepší aplikační prostředí.
Zkusím se spojit s panem Tichým (jeden z autorů) - Tichý - Ježek učetnictví, třeba bude také pro tuto akci.

Tedy cíl je. Celé prostředí jak je uvést do prostředí oken - Windows a Qt, nebo Java FX, s tím, že jazyk bude nativní k prostředí (Java, C++, Python ještě nevím přesně )a pro stávající aplikace bude k dispozici převodník.

 
Nahoru Odpovědět 9. srpna 0:31
Avatar
Peter Mlich
Člen
Avatar
Peter Mlich:9. srpna 7:44

10 na 3 je pro studenta nebo nadsence. Rikam, lidi, co to programovali maji 50-60 let. Nikdo mladsi do toho nevrtal. Mozna ten delfista. Takze nadsence asi nesezenes. Student o to tezky nezajem.

Ja osobne bych sel do html/css/js + php/mysql jako komunikator s diskem pro zapis souboru. Ano, musis pro uzivatele nainstalovat php server. Otazka je, zda to chces provozovat uzivatelum? Zda by proste nestacil tvuj server na data.
Js by dokazalo editovat vice lidi.
Ten komunikator lze udelat i pythonem nebo cimkoliv jinym. Provozoval bych ho jako web-services. url?service=u­ser_insert&na­me=peter&surna­me=mlich.
Js by pak fandove prikazy prekladal na url a volal ajax.
Musel bys vyresit, aby nekdo nepovrhoval data. A nebo vubec. To zavisi od toho, zda to chces provozovat jen jako nadsenec nebo ne. Nebo, treba, abys dokazal spoustet stare fand-programy.

 
Nahoru Odpovědět 9. srpna 7:44
Avatar
virlupus.soft
Redaktor
Avatar
virlupus.soft:9. srpna 21:20

Jen chci aby staré programy běžely i dnes ve stejně přívětivém prostředí pro uživatele i programátora. Žádný web, ale nativní aplikace, kompletní, ale ne v DOSu, DosEmu, DosBoxu atd.
Peter: už mi je taky tolik jako těm co to tvořili:-D

 
Nahoru Odpovědět 9. srpna 21:20
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 16 zpráv z 16.