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.
Pusher
Puzzle
Dungeon
BioVirus
MYSTIFY
CopyFile2
SinCos
onvoH šach v 0.1
Želvička karetka
String Replace
Grafák
Light
Kosmostřelci
ClerkBuffer
M-Tetris
Mandelbrotova množina
TextScroll
Mines
Húsenica
Baktérie (Game of life)
PCX view
Brutal sudoku solver
MKeyB
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é 3065x (6.56 MB)