Názory ke článku Práce s grafikou 640x480@16bit v Pascalu. (3/4)
10. 2. 2006
Uprimne nechapu proc je pouzito pole Kurzor a jestek nemu maska, ted nad tim tak premyslim, proc nepouzitpouze pole kurzor a v nem nastavit barvy ktere chceme?
Napr. ja kdyz jsem si psal podobny unit tak jsem pouzil jen 2 pole, jedno ma nazev ZaKurzorem a druhe Kurzor, do pole kurzor lze
nahrat libovolny obrazek (udelal jsem si svuj format OBR) a tento obrazek muze mit libovolne barvy, cili od 0 do 65535.
Myslim si ze tento zpusob je idealni a ze by se tudiz mela ta unita kterou zde popisujes alespon
trochu upravit, ale to cele zalezi jen na tobe.
Rekl bych ze schopny clovek si to napise cele sam (ano je tady vice nedostatku) a zacatecnik se naopak plne spokoji s tim co tady vidi.
Dalsi kriticke miste je SchovMys, protoze to proste zmeni aktualni stav mysi a do budoucna to muze zpusobit nemale problemy,
pokud budu pocitat ze v programu se vzdy na jednom a tom samem miste kurzor mysi schova, ale on se ve skutecnosti muze zobrazit, protoze je nyni skryty.
Proste radsi uz mlcim.
PS: Mohl bys prosim v zaverecne casti zverejnit ke stazeni cely unit? Nebo nam poslat odkaz na tve stranky? Rad bych se na ne podival, treba tam najdu neco uzitecneho,
nevadi jestli program je pro Delphi nebo Pascal, hlavne mi jde o to, ze shanim nejake dalsi uzitecne myslenky, konstrukce, metody, ktere jeste neznam.
12. 2. 2006
Jiste, ze by slo vytvorit kurzor z 16bitovych barev, jak zde popisujes. Ja jsem pouzil tento zpusob, protoze jsem chtel tuto cast udelat co nejrychlejsi... <i>mys.zaKurzorem[y,x] and mys.maska[y,x]) or mys.kurzor[y,x]</i>
Nevim jak jsi to myslel to s tim skryvanim mysi. (?) To jestli je mys zobrazena ci ne, zalezi na promenne <i>zobrazovatMys</i> ktera je pokazde v procedure <i>zobrazMysProc</i> testovana.
Ano, celou unitu i s nekolika priklady jsem umistil na posledni (4.) dil serie. (Nechapu, proc korektor tak dlouho otali s vydavanim..)
Moje stranky jsou http://karry.wz.cz , o pascalu na nich ale nic nemam. Podle me je dnes programovani v Pascalu vyhodne pouze pro ucely vyuky a hrani programatoru. Tak jsem pojal i tuto unitu. Vyvoj pro 16bitove prostredi podle me nema v dnesni dobe smysl...
Tvoji krytiky si vazim, i kdyz se nejspis do predelavani nepustim.
14. 2. 2006
Dobre, algoritmus pro vykreslovani kurzoru chapu, nepochopitelne
mi pripada jen to, ze by to melo timto zpusobem rychlejsi, nez
kdyz by jsme meli v jednom poli kurzor a v druhem pozadi.
Myslim si totiz, ze tento zpusob vykreslovani je slozitejsi jak pro
programatora tak pro procesor, to co se usetri tim, ze se vykresli o
par pixelu mene se ztrati pri vypoctech.
No jedine stesti ze uz ted moc nepascaluji, jinak bych okamzite
zacal merit rychlosti :-)
Meril bych proto, abych sam pouzil take nejrychlejsi metodu.
Nevis o nejakem emulatoru DOSu pro WinNT ? (Win2K/XP), pokud
si spustim pascalovsky program, ktery vyuziva grafiku, tak se mi
vlivem ovladacu pro Windows nastavi chybne obnovovaci frekvence
a program skace po monitoru (tento problem je take u GeForce a jinych karet).
DosEMU jsem zkousel a DosBOX taky, nepomaha to.
14. 2. 2006
Hmm. Tak to mame stejny problem... Mam grafiku S3 Savage 4 a ve Win XP mi jakekoliv programy v Pascalu vyuzivajici vyssi grafiku nez 13h nefunguji. (Jako by cela obrazovka byla v prvnim banku.) Ja to resim tak, ze kdyz si chci hrat v Pascalu, tak nabootuju z druhyho 5GB disku, kde mam nainstalovane Win 98 a na nich to beha krasne...
Dalsim nesvarem XP DOSu je to, ze neemuluji primy pristup k disku:(
16. 2. 2006
OK, ja pro zmenu pouzivam spousteci disketu, ale nemuzu rict, ze by mi to vyhovovalo.
Pro primy pristup k disku existuje nastesti reseni jak pro Win2K tak pro WinXP, jmenuje se to Windows Tool je to ke stazeni na www.microsoft.com, kdyz si to nainstalujes tak zjistis, ze to je balicek utilit od microsoftu, nektere zajistuji kompatibilitu jine zase povoluji primy pristup k disku nebo k portum (ktere si tam rucne povolis).
Jsou 2 reseni, jedno je VXD driver a druhe je nejaky program na pozadi, ktery odchytava pozadavky na low level I/O operace a tyto operace pak posila ovladacum Windows. No a protoze Windows sam o sobe musi pristupovat nejak k nasemu HW tak nam rad obslouzi i Pascalovsky program, tzn. neni problem ani za behu sformatovat disk, ze ktereho je spusteny Windows (resp. jeho cast).
Za nefunkcni grafiku muzou ovladace, tzn. vyrobci ovladacu grafickych karet, nepomohl mi Display Doctor ani nic jineho, proste ty ovladace prenastavi standardni obnovovaci frekvenci, kterou urcuje BIOS a ma vetsinou 50HZ na nejakych tusim 150HZ (proste hodi se to na max, ze by to byl umysl vyrobcu?) takze jsme v pr.... :-)
Jedina moznost je stahnout si z MSDN jak se pisou VXDcka a pak nekde najit specifikaci sve graficke karty, stahnout si MASM a zacit si psat nove ovladace.