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.

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

 

Aktivity