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).
" ":index.php?art=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. |
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
Dungeon
M-Tetris
onvoH šach v 0.1
ClerkBuffer
Kosmostřelci
Puzzle
Pusher
Mandelbrotova množina
MYSTIFY
BioVirus
Light
Húsenica
TextScroll
CopyFile2
MKeyB
Grafák
Želvička karetka
SinCos
Brutal sudoku solver
Mines
Baktérie (Game of life)
PCX view
Materiály
Palm OS Pascal compiler
COVOX - urobte si za pol hodiny svoju zvukovú kartu
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ť
Stiahnuť
Stiahnutím nasledujúceho súboru súhlasíš s licenčnými podmienkamiStiahnuté 3039x (6.56 MB)