Paskal - Kreslenie – Pascal – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Paskal - Kreslenie – Pascal – Fórum – Programujte.comPaskal - Kreslenie – Pascal – Fórum – Programujte.com

 

doma22
~ Anonymní uživatel
94 příspěvků
8. 2. 2021   #1
-
0
-

Týmto by som paskal ukončil, keďže som presvedčovaný, že riešiť hlbšie paskal nemá zmysel, tak ok. Avšak na nete som našiel sympatický zdrojový kód, ktorý ma zaujal, a tým už by som s paskalom ako takým skončil, keďže som na základe Vašich odporučaní upustil od mnoho vecí. No to sa mi veľmi zapáčilo, a tento zdrojový kód by som chcel vedieť. V programe ide o to, že pomocou pohyblivého kurzora, by mi program mal umožniť kresliť, avšak ako náhle ho idem preložiť, zaseknem sa na riadku 11 ( scrbuf...... ) a nech robím čo chcem, nie a nie túto chybu odstrániť, možno má program viac chýb, ale keďže som sa zasekol na tom riadku, tak neviem ísť ďalej. Dokonca i po prepise do Lazarusu sa tento program pri preklade zasekne na tom istom riadku. Mohli by ste mi helfnúť s týmto posledným paskalovským programom:

program Kreslenie;

uses dos, crt;

 var MousePresent : Boolean;
     Mi : Pointer;
     R : Registers;
     scrbuf : array[1..4000] of byte absolute $B800:$0000;

function MouseInt(var nb: Word): boolean;

begin
 if MousePresent then
 begin
  R.AX := 0;
  Intr($33, R);
  if R.AX = 0 then
  begin
   nb := 0;
   MouseInit : False;
  end
  else
   begin
    nb := R.BX;
    MouseInit := True;
   end
 end
 else
  begin
   nb := 0;
   MouseInit := false;
  end
end;
procedure MouseShow;
begin
R.AX := 1;
Intr($33, R);
end;
procedure MouseRead( var x, y, bMask: Word);
begin
 R.AX := 3;
 Intr($33, R);
 x := r.cx;
 y := r.dx;
 bmask := r.bx;
end;
procedure writechar(x, y: byte; c: char);
begin
 scrbuf[(y-1)*2*80 + (x-1)*2] := ord(c);
end;
var x, y, bn, nb : word;
begin
GetIntVec($33, Mi);
if mi = nil then
begin
 mousepresnt := false;
 writeln('Mouse not present');
end
else
begin
 mousepresent := true;
 TextBackground(Green);
 ClrScr;
 TextColor(Yellow);
 if MouseInit(nb) then
 begin
  MouseShow;
  repeat
   MouseRead(x, y, bn);
   if bn and 1 <> 0 then
   begin
    x := x div 8 + 1;
    y := y div 8 + 1;
    writechar(x, y, '*');
   end
  until bn and 2 <> 0
 end
end;
ClrScr;
end.
Nahlásit jako SPAM
IP: 178.143.117.–
gna
~ Anonymní uživatel
1402 příspěvků
8. 2. 2021   #2
-
0
-

To pole scrbuf je definované, že je na adrese video paměti používané v textovém režimu. Takže čtení/zápis do scrbuf přistupuje přímo k video paměti. To v dnešních systémech nejde.

Přerušení $33 v DOSu sloužilo ke komunikaci s ovladačem myši. V dnešních systémech ovladač myši funguje jinak a přímé volání libovolného přerušení opět ani nejde.

Nahlásit jako SPAM
IP: 213.211.51.–
doma22
~ Anonymní uživatel
94 příspěvků
8. 2. 2021   #3
-
0
-

#2 gna
Aha takže ten program, nebude fungovať ani s úpravou, keďže teraz to už funguje na iných princípoch?

Nahlásit jako SPAM
IP: 178.143.117.–
gna
~ Anonymní uživatel
1402 příspěvků
9. 2. 2021   #4
-
0
-

Programy pořád mohou zjišťovat pozici myši a vypisovat text, takže s úpravou by to samozřejmě fungovalo.

Nahlásit jako SPAM
IP: 213.211.51.–
JerryM0
Stálý člen
9. 2. 2021   #5
-
0
-

na Windows 10 ti to už nepoběží, musel by sis nainstalovat MSDOS 6.xx nebo 7.xx. Možná v DosBoxu by to chodilo ale to je jenom doměnka. Muselo by se to zkusit. Prostě tyhle starý programy fungovaly naposled někde pod Windows 95/98. Tohle je mrtvá technologie. Už bych se s tim nezabejval. Zbytčně ztrácíš čas. už ti to řikáme poměrně dlouho. nic si z toho nedělej, tohle je problém spousty lidí, že se nedokážou odtrhnout od toho starýho a jít dál ... dneska by si to řešil třeba pomocí nativeDirectX nebo SharpDX nebo Unity knihovny.

Nahlásit jako SPAM
IP: 2a00:1028:83be:235a:50d6:90ad:db97:f3...–
JerryM0
Stálý člen
9. 2. 2021   #6
-
0
-

tady máš perfektní prográmek pro MSDOS:

https://uloz.to/file/oLJMT7ddmhcF/dbzab-exe

když ho spustíš a uvidíš 2 žáby, tak ti tam bude fugovat i ten tvuj přiklad v pascalu :)   pokud nejde ani spustit, máš smulu, máš špatnej operační systém, ten prográmek je pro MSDOS ale fungoval i pro Windows 3.x, 95/98.

a tady si stáhni celej pascal i s manuálem

https://uloz.to/file/4njQmSqeW/borland-pascal-v70-cz-cz-help-rt-library-cz-manual-zip

sou tam vysvětlený i registry, který už se dneska nepoužívají :)

Nahlásit jako SPAM
IP: 2a00:1028:83be:235a:50d6:90ad:db97:f3...–
JerryM0
Stálý člen
9. 2. 2021   #7
-
0
-

možná ti tvoje programy budou fungovat v DOSBoxu

https://www.dosbox.com/

asi budeš potřebovat i NortonCommander že a ten je v tomhle balíčku taky

https://uloz.to/file/4njQmSqeW/borland-pascal-v70-cz-cz-help-rt-library-cz-manual-zip

Nahlásit jako SPAM
IP: 2a00:1028:83be:235a:50d6:90ad:db97:f3...–
JerryM0
Stálý člen
9. 2. 2021   #8
-
0
-

taky bys měl vědět, že 40 let je věk, který je všeobecně chápán jako hranice "nevzdělavatelnosti" u průměrného člověka, takže šance, že s tebe bude jednou "velký" programátor se poněkud scvrkává s přibývajícím věkem.

Nahlásit jako SPAM
IP: 2a00:1028:83be:235a:50d6:90ad:db97:f3...–
doma22
~ Anonymní uživatel
94 příspěvků
9. 2. 2021   #9
-
0
-

#8 JerryM
Aha dobre skúsim tie linky čo ste dali. No a čo sa týka veľkého programátora, tak ja ani nejak veľký programátor nechcem byť, nemám v pláne byť druhý Bil Gejc, ale ako nehovorím, že ak by sa niečo také zadarilo, tak že by som bol z toho nešťastný. Moja predstava je asi taká, že rozbehnem moje projekty, ktoré nie sú nijak extrémne náročné, a keď sa bude dariť, tak sa o to postarajú už ďalší ľudia, pretože v kapitalizme ak nie ste skutočne človek s podpriemerným IQ, tak život bežného zamestnanca je strata času, a najlepšia  cesta ako byť v permanentnom strese z roboty a neistej budúcnosti. V kapitalizme firmy fungujú tak, že ich majitelia v skutočnosti nemajú ani šajn aká je realita v ich firmách, a po istých rokoch v podstate nemajú ani šajn o novinkách ich firiem, čo zavadzajú na trh, keďže už dávno sa prestali venovať firemným produktom a vývoju, ale venujú sa obchodu  a luxusu, jednoducho už potom na tieto veci majú svojich zamestnancov, preto nechápem skadiaľ veľkopodnikatelia majú také veľké ego, keďže človek ako taký  môže existovať bez súkromných , no i štátnych firiem, ale bohužiaľ firmy bez zamestnancov nie, a potom sa poniektorí čudujú ako sa správa mládež a aké sú dnes medziľudské vzťahy

Nahlásit jako SPAM
IP: 178.143.117.–
doma22
~ Anonymní uživatel
94 příspěvků
9. 2. 2021   #10
-
0
-

#4 gna
Ok s paskalom som skončil, neviete mi poradiť dáke fórum na Lazarus, mám tam 3 veci, ktoré by som si chcel objasniť. A je to už síce mimo programovania, ale už dlho zháňam Red Alert 2, jednotku som zohnal a cez DosBox ide, ale dvojku, som z oficiálnych stránok zohnal spakovanú iba vo formáte VLC a ja neviem tento formát rozbaliť. Len sa pýtam, či neviete o nejakej oficiálnej stránke, kde by to bolo v klasickom Zip, alebo Rar, čo by som vedel rozbaliť?

Nahlásit jako SPAM
IP: 178.143.117.–
doma22
~ Anonymní uživatel
94 příspěvků
9. 2. 2021   #11
-
0
-

#8 JerryM

No tak žabky nejdu, ten balík s komanderom mi WinRar nerozbalí, takže ani tento pre mňa sympatický zrojový kód nepôjde, keďže je už teda zastaralí, to nič, tým som teda s paskalom ako takým skončil, teraz doraziť tie  veci z Lazaru

Nahlásit jako SPAM
IP: 178.143.117.–
doma22
~ Anonymní uživatel
94 příspěvků
10. 2. 2021   #12
-
0
-

#6 JerryM
Teraz ma napadlo, že vlastne ak by som použil v tom chybnom riadku, respektíve zastaralom, nativeDirectX alebo tie ďalšie, tak program by fungoval i na Windows 10?

Nahlásit jako SPAM
IP: 178.143.117.–
JerryM0
Stálý člen
11. 2. 2021   #13
-
0
-

jak sis mohl všimnout tak DirectX je programátorská knihovna pro práci s grafiku a Microsoft ji vydal v roce 1995 takže někdy v době kdy vyšly Windows 95.

https://cs.wikipedia.org/wiki/DirectX

Existovalo velmi krátkné období v necelé polovině 90 let kdy exitoval tzv. DosProtectedMode a umožňoval programovat hry s většími nároky na paměť až 15MB RAM, z dnešního pohledu sranda

https://dos32a.narechk.net/index_en.html

umožňuje to i Borland Pascal 7.x stačí v menu nastavení přepnout kompilátor do tohoto režimu.

dnes je to ale opět mrtvý režim, a ano i v BorlandPascalu 7.x (ta windowsovská verze) si mohl použít DirectX. Je to ten překladač BPW.EXE. Šlo to i v tom překladači pro DOS. Jestli se chceš zaobírat historií (si vášnivý historik) doporučoval bych přejít na Borland C++ 3.x a pak na Watcom C/C++ z poloviny 90 let

https://en.wikipedia.org/wiki/Watcom_C/C%2B%2B

je to ideální způsob jak promarnit svůj život :)

dále mužeš pokračovat na Algol, Cobol, Fortral a Adu a Simulu. Simula ADA se dokonce učila na některých VŠ tady v čr. Hlavně nezapomeň na programovací jazyk karel a pak taky jeho pokročilejší verzi Logo :) a je nutné zmínit se o SoukupGraphicsPreprocessor :) krásní píčovina je to předchůdce dnešních Case systémů

No vidíš je ti 37 a na dalších 20 let máš co dělat a pak můžeš jít do předčasnýho důchodu.

Kdo by se učil Javu nebo PHP a pracoval za 60 táců měsíčně jako programátor když si může hrát na IT-archeologa :)

Nahlásit jako SPAM
IP: 109.81.214.–
doma22
~ Anonymní uživatel
94 příspěvků
11. 2. 2021   #14
-
0
-

#13 JerryM
Ľudia, ja už neviem ako mám to vysvetliť. Problém s odborníkmi je v tom, že majú ako sa povie klapkové videnie a veci mimo odboru sú pre nich tak trochu vzdialené. Áno som historik, no ani zďaleka nie vášnivý. Vášnivý historici vedia dátumy ako napríklad v ktorom roku a dni, dokonca tí najvášnivejší ešte aj hodinu, kedy došlo k bitke pri Slavkove a podobne, preto sú to odborníci zase v histórii, ale to ešte neznamená, že chápu históriu ako takú, keďže história je odraz skutočnej povahy ľudstva a preto sa stále opakuje. Mňa zaujíma história ako celok, ako príbeh, aby som potom ako dnešná mládež nebol vyvalený z toho, že čuduj sa svete, aj v dokonalom kapitalizme sa s  prepáčením svine nájdu, aby ak mi to niekto oznámi, nebol z toho celý potentovaný ako som stretol nového Ajštajna. To k histórii. Čo sa týka programovania, tak predpokladám, že ste študovali informatiku, a teda Paskal a podobne, ste sa učili asi už na strednej škole. No a potom na čo Vás to učili na strednej škole, aby vám zbytočne odobrali kúsok zo života, no nie, na to, aby keď pôjdete na ďalšie programovacie jazyky ste mali na čom stavať, na to, aby ste pochopili základné princípy pri programovaní, aby ste nemuseli napríklad pri prvom kontakte s jazykom C rozmýšľať, čo tam máte vlastne napísať, či Ako sa máš, alebo write, alebo čo vlastne. Najprv sa musíte naučiť čítať a písať, aby ste sa mohli učiť po francúzsky, nie naopak. Najprv musíte vedieť malú násobilku, aby ste potom mohli riešiť tajomstvá vesmíru, kde už neriešite koľko je 5x5. Pozeráte sa na mňa z Vášho pohľadu, kde Vy ste sa tieto veci už učili prostredníctvom vzdelávacieho systému, ktorý Vám poradil ako na to, čo je a nie je podstatné. Skúste sa na to pozerať z pohľadu, človeka, ktorý okrem osobného počítača nemá s informatikou ani ťuk a opýtajte sa samých seba, ako by ste začali, keď tu nie je ani učiteľ ani nik, čo vám povie, že urobte toto a toto. Je to to isté, ako keby ste začali robiť na družstve zootechnika, tak tiež Vám poviem, že ak si chcete iba udržať prácu, nemusíte strácať čas botanikou a latinkou, či biológiou ovce, keďže na družstve máte iba kravy. No ak chcete aj rozumieť, čo to vlastne s tými zvieratmi robíte, keďže možno budete jesť aj Vy to mäso z kravy, tak ak Vám na tom záleží, nebolo by od veci  pozrieť sa aj na tieto veci. Samozrejme nie je potrebné ísť do absolútnej hĺbky problematiky, to nerobím ani ja. Základy z paskala musím zvládnuť, ak nechcem stráviť 20 rokov štúdiom C, kde ho potom už možno budem vedieť úžasne, ale medzi časom to bude zastaralé ako sa stal zastaralí paskal. Ja vôbec nejdem do hĺbky, ak by som chcel ísť do hĺbky, tak ako ste povedali, idem na školu a čítam skriptá. Tie veci, čo som tu dával boli zhruba základy. A tie čo som tu dal 3 z Lazarusu a táto vec sú posledné veci. Keď som čítal Vizual, tak presne preto, že som začal paskalom, som prvých cca 50 strán iba prečítal, lebo už z paskalu mi princípy boli jasné. To svedčí o to, že pri vlákne Lazarus - programy už v podstate riešim vyšší stupeň ako je paskal, keďže aj v C musím vedieť, čo je aplikácia, čo je program atď, keďže paskal iba zapnete a programujete. Áno viem, že direct je knižnica, pochopil som to pri Dume II, keď som si ho nainštaloval a hru nie a nie spustiť, lebo, že mu chýbala pre mňa vtedy dákasy dynamická knižnica. Pýtal som sa preto na to, že gna spomínal, že po úprave by bol tento program schopný existovať i v windows 10, tak som sa pýtal, či to je tá úprava, ktorá by to dokázala.

Nahlásit jako SPAM
IP: 178.143.117.–
Mircosoft+1
Věrný člen
15. 2. 2021   #15
-
0
-

Ten prográmek z úvodu funguje tak, že při kliknutí levým myšítkem vykreslí na pozici kurzoru hvězdičku a při kliknutí pravým myšítkem skončí. Je psaný pro textový režim 80x25 znaků a dosovský real mód. S myší i obrazovkou pracuje přímo přes hardware (práce s HW zabírá většinu programu, samotná funkce programu je jenom v tom posledním cyklu repeat - until). Půjde přeložit v Turbo pascalu a možná ve Freepascalu v režimu Target=DOS. Nejvyšší verze Windows, pod kterou bude fungovat (jak ten program, tak TP), jsou 32bitová Windows XP. Do windowsího prostředí by přepsat šel, ale znamenalo by to napsat ho kompletně odznova, protože tam se k myši a obrazovce přistupuje úplně jinak a ani nevím, jestli je vůbec možné používat celoobrazovkový textový režim.

Problematiku pascalu, programátorských začátků a podobných věcí kdyžtak můžeme probrat soukromě (viz odkaz v podpisu), fórum je dobré spíš na řešení konkrétních problémů.

Nahlásit jako SPAM
IP: 213.192.56.–
Chceš-li lepší odpověď, polož lepší otázku.
Moje stránka.
doma22
~ Anonymní uživatel
94 příspěvků
16. 2. 2021   #16
-
0
-

#15 Mircosoft
Diky za vysvetlenie, úplne som pochopil v čom je problém a o čom hovoríte, program je proste zastaralý zdrojový kód paskalu, ktorý sa dnes na windows 10 nedá spustiť. Bolo by to možné, ale program by ako sa povie musel celý preorať, teda napísať od znovu. Takže diky za reakcie, ale táto vec je pre mňa už uzavretá a tým je pre mňa uzavretý paskal ako taký ( myslím čistý paskal nie nadstavbu Lazarus).

Nahlásit jako SPAM
IP: 178.143.117.–
Zjistit počet nových příspěvků

Přidej příspěvek

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 3 hosté

Podobná vlákna

Kreslenie do Canvas — založil lubo

Online kreslenie v PHP — založil Smokie

Kreslenie krivky v canvase — založil audiotrack

XNA kreslenie ciar — založil Jimi

Moderátoři diskuze

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032021 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý