IT rekvalifikácia. Seniorní programátori zarábajú až 6 000 €/mesiac a rekvalifikácia je prvým krokom. Zisti, ako na to!

Pascal

K Pascalu som sa dostal v krúžku na strednej škole a odvtedy ma to nepustilo. Je pravda, že pokrok nezastavíme a zlatá éra DOSu skončila už pred veeeľmi dlhou dobou, ale mňa sa šťourání na úrovni hardvéru, ručné optimalizácie a pocit, že všetkému vidím pod kožu, proste páči :-)

Najčastejšie problémy a ich riešenie

Problém: Mám M $ Windows XP a pri spustení BP7 mi píšu chybovú hlášku:
16-bitový podsystém MS-DOS
Cesťák programu, ktorý sa pokúšate spustiť alebo nainštalovať C: \ Windows \ System32 \ Autoexec.nt The system file is not suitable for running MS-DOS and Microsoft Windows applications. Choose 'Close' to terminate the application.
Riešenie: Vložte CD s M $ Windows XP do mechaniky a spustite? Te (ponuka štart -> spustiť) nasledujúci príkaz:
expand X: \ i386 \ autoexec.nt_ c: \ windows \ system32 \ Autoexec.nt
X nahraďte písmenom vašej CD-rom jednotky.

Problém: Snažím sa spustiť program, čo používa BGI grafiku (jednotku GRAPH), ale píše to chybu:
BGI Error: Graphics not initialized (use InitGraph)
Riešenie: Pascal zrejme nemôže nájsť súbor BGI (najčastejšie egavga.bgi). Uistite sa, že ho máte v aktuálnom adresári a zo nie je určený "len pre čítanie". Prípadne použite File -> Change dir a nastavte BGI adresár (štandardne BP7 \ bgi).

Problém: Pri používaní jednotky CRT alebo pri spúšťaní skompilovaných súborov z internetu mi Pascal hádže hlášku:
Runtime Error 200: Division by zero
Riešenie: Táto chyba je spôsobená rýchlosťou počítača. Ak máte procesor rýchlejší, než 233 mhz, musíte si v BIN adresári prepísať pár súborov, aby ste mohli prekladať. Pre spustenie už preložených súborov potrebujete utilitu TPPatch, ktoré dáte ako parameter meno exe súboru a ona ho opraví. Všetky tieto opravy sú obsiahnuté v mojom BP7 (k stiahnutiu hore).

"pascal - Ďalšie vývojové nástroje pre tvorbu aplikácií ":index.php?ar­t=diskuzni-forum-pascal-borland-turbo-freepascal Ak máte problém a potrebujete pomoc pri programovaní v Borland Pascale / Free Pascalu / Turbo Pascal, navštívte naše fórum.
tamto, nasleduje stručný výťah toho najužitočnejšieho. Väčšina zdrojákov je podrobne okomentované, takže by s pochopením princípov nemali byť problémy. Keby boli, povedzte, pokúsim sa to napraviť.

640 KB pamäte mi nestačí, chcem viac! V reálnom režime (real mode), v ktorom TP pracuje, to ide cez XMS alebo EMS (alebo možno aj inak, ale to už som neskúmal). Stará sa o to jednotka XMS.

Potrebujem urýchliť presuny dát z miesta na miesto.
Kľúčom je využitie 32-bitových inštrukcií. Prekladač Pascale je síce nepozná, ale vkladanému Assemblera ich môžeme vnútiť cez strojový kód. Vyriešené v jednotke Need For Speed UnderPascal.

Chcem sériovým káblom posielať dáta medzi dvoma počítačmi.
Žiadny problém - jednotka COM to vie.

Potrebujem si presne načasovať cyklus, ale s delaye to beží na každom procesore inak rýchlo. Čo s tým?
Chce to oddeliť začiatok merania času od volanie čakacie procedúry a telo cyklu vložiť medzi ne. Dá sa postupovať buď cez getTime, čo je dosť ťažkopádne, alebo priamo cez systémový časovač, čo robí jednotka Čas.

Píšem hru a potrebujem detekovať niekoľko súčasne stlačených kláves pre pohyb a streľbu. Ako?
Odporúčam vykašľať sa na jednotku Crt a zavesiť si na prerušenie klávesnice vlastné obsluhu. Toto a veľa ďalších vecí týkajúcich sa klávesnica vie jednotka Klávesy 2.

Dostali sme úlohu z matematiky, tak zháňam niečo na matice, komplexné čísla, funkcie, vyhodnocovanie výrazov a tak.
To je mi náhoda, jednotka Matyka práve toto obsahuje.

Nasledujúce jednotky už potrebujú jedna druhú alebo tie vyššie uvedené, takže nie je zaručené, že čo stiahnete, to hneď pôjde preložiť:

Jednotka Graph je pomalá a 16 farieb mi nestačí, chcem nejakú lepšiu grafiku.
Na to tu máme hneď dve jednotky: VGA pre 256 farieb a rozlíšenie 320x200 pixelov a VESA taky pre 256 farieb, ale rozlíšenie od 640x480 po 1024x768.

256 farieb sa mi páči, ale chcem si miešať svoje vlastné, meniť jas obrazovky a tak.
Od toho je tu Paleta 2.

Jo, a hlavne myš! Ako sa používa myš?
Žiadna štandardná jednotka na to nie je, ale služby prerušenie $ 33 našťastie nie sú nič zložité. Jednotky na to mám dve: Myš 3 pre VESu a VGAMyš pre VGA. Ak chcete niečo pre Graph, vykuchejte si z nich, čo uznáte za vhodné.

Mám grafiku, ale neviem, ako načítať alebo uložiť obrázok. Pomóc!
Formáty BMP, PCX, CUT a ORF zvláda jednotka Images. Stavaná je pre spoluprácu s akoukoľvek 256barevnou grafikou. Okrem načítanie a ukladanie vie obrázky aj rôzne upravovať.

Už ma nebaví pípanie sa sound a nosound, dalo by sa hrať normálne cez zvukovku?
Jasne, len sa to zase musí napísať úplne od podlahy, pretože nič preddefinovaného na to nie je. Načítací WAVů a prehrávač s mixérom sú v jednotke Zvuky.

Mám grafiku a myš, teraz by sa hodila nejaká tlačidlá, dialógové okná a tak.
Aj to sa dá zariadiť, mám na to jednotku Woknows 4. Na prvý pohľad vyzerá dosť zložito, ale zase toho celkom dosť vie.

Tabuľka period tónov k vstavanej procedúre sound. Možno sa to bude niekomu hodiť ...

tón C cis D Dis E F Fis G Gis A B H #
perióda 131 138 147 156 165 175 184 196 208 220 233 248 #
tón C1 cis D Dis E F Fis G Gis A B H #
perióda 262 278 293 310 329 347 372 390 415 438 463 492 #
tón C2 cis D Dis E F Fis G Gis A B H C3
perióda 524 551 592 627 666 695 743 780 841 888 940 999 1065

Programy a hry so zdrojovým kódom

Drobotina, pre ktorú sa neoplatí písať samostatné články:

Ak ste si stiahli niektorú z mojich jednotiek, možno sa vám budú hodiť editory na fonty, myšou kurzory, palety a rozloženie kláves.

Utilitky pre prácu so súbormi:
Porovnávač vám povie, kde presne sa dva textové súbory líšia. Recoder prevedie textovom editore z jedného kódovania slovenčiny do iného. CR + - mení formát konce riadkov z LF na CRLF a naopak. Kill Read-Only hromadne rušia atribút "len pre čítanie". Mäsiar delia súbory na kusy a skladacích je zase zlepuje.

Staviate papierové modely? Potom by sa vám mohlo hodiť niečo na rozvinutie kužeľov, bokov pneumatík, seřízlých valcov a prieniku dvoch valcov do roviny.

Potom tu ešte máme variáciu na tému Mandelbrot množina a jednoduchý riešič Sudoku.

Keby vás zaujímal zvyšok, pozrite sa tamto.

String Replace
Nehodnotené
 0x
Dungeon
Nehodnotené
 278x
M-Tetris
Nehodnotené
 0x
onvoH šach v 0.1
Nehodnotené
 346x
ClerkBuffer
Nehodnotené
 0x
Kosmostřelci
Nehodnotené
 285x
Puzzle
Nehodnotené
 0x
Pusher
Nehodnotené
 239x
Mandelbrotova množina
Nehodnotené
 0x
MYSTIFY
Nehodnotené
 0x
BioVirus
Nehodnotené
 319x
Light
Nehodnotené
 0x
Húsenica
Nehodnotené
 428x
TextScroll
Nehodnotené
 0x
CopyFile2
Nehodnotené
 0x
MKeyB
Nehodnotené
 0x
Grafák
Nehodnotené
 377x
Želvička karetka
Nehodnotené
 1 080x
SinCos
Nehodnotené
 0x
Brutal sudoku solver
Nehodnotené
 289x
Mines
Nehodnotené
 1 098x
Baktérie (Game of life)
Nehodnotené
 1 616x
PCX view
Nehodnotené
 0x

Materiály

Hľadanie najväčšieho a najmenšieho prvku poľa a triedenie Kontrola prvočíselnosti a rozklad na prvočinitele Slovné vyjadrenie čísel Počítanie s trojuholníkmi Šablóna pre obojsmerné spojové zoznamy Triedenie algoritmom Quicksort Textová hra o hľadaní potopeného pokladu Vyhodnocovanie matematických výrazov Vyhodnocovanie matematických výrazov Výpis ASCII tabuľky a čítanie kódov klávesov Pár ďalších a podrobnejšie anotácie nájdete Tuta.

Základy programovania v Pascale - príručka pre začiatočníkov

Ako na ukazovatele - operácie s ukazovateľmi, dynamické premenné, spojové zoznamy, dynamická pole a procedurálne premenné Objektovo orientované programovanie - áno, aj v TP je to možné Chybové hlášky Pascalu - čo ktorá presne znamená, čo ju spôsobuje a ako sa jej zbaviť Direktívy prekladača - podrobný sprievodca tými najužitočnejšími SVGA pre začiatočníkov - rozsiahly text, z ktorého sa naučíte veľa o Assemblera, grafike a nízkoúrovňové prácu

Ďalšie texty postupne spracujem do formy samostatných článkov.

Odkazy


Tu je pár odkazu na stránky o Pascalu ...

Michael Stavala - Sbika niekoľkých pekných programov a hier so zdrojovými kódmi

Tu nájdete odkazy na freeware IDE, v ktorých môžete v danom jazyku programovať

dev Pascal

Lazarus FreePascal


 

Stiahnuť

Stiahnutím nasledujúceho súboru súhlasíš s licenčnými podmienkami

Stiahnuté 3039x (6.56 MB)

 

Aktivity