Jump to content
GSForum - Segélyvonal

Turbo Pascal


mizsi

Recommended Posts

mizsi

Üdv!

Azt kérdezném, hogy TP-ben mely paranccsal tudom ellenõrizni, hogy a programkönyvtárban megtalálható-e a program mûködéséhez szükséges két fájl (grafikával dolgoztam egy .bgi és egy .chr fájlról van szó), és ha csak az egyik is hiányzik, akkor hibaüzenetet adjon a program?

Link to comment
Share on other sites

arpsoft

Az initgraph() -3-at ad vissza, ha nem találja a kijelölt bgi meghajtót.

 

A chr fájlt pedig úgy lehet ellenõrizni, hogy megpróbálod megnyitni. Ha sikerül, akkor bezárod, ha nem, akkor hibajelzést adsz.

 

program open_example;
{ This program demonstrates the use of the open procedure. }
const
   name_of_file = 'open1.txt';
   file3 = '*Enter_a_filename-- ';
type
   char_array = varying [50] of char;
var
   infile: text;
   error: integer32;
   name: char_array;
begin
   { Open an existing file. }
   open(infile, name_of_file, 'old', error);
   if error = 0 then begin
     writeln('Opened ', name_of_file, ' for reading.');
     close(infile)
   end else 
     writeln('Error opening file', name_of_file, error);
   { Open a file specified by a command line argument. }
   open(infile, '^1', 'unknown', error);
   if error = 0 then begin
     argv(1, name);
     writeln('Opened ', name, ' for reading.');
     close(infile)
   end else 
     writeln('No command line argument; error code =', error);
   { Open a file that may or may not exist. }
   { Prompt user for name of file at runtime. }
   open(infile, file3, 'unknown', error);
   if error = 0 then begin
     writeln('Opened file for reading.');
     close(infile)
   end else 
     writeln('Error opening file', error)
end. { open_example }

Link to comment
Share on other sites

  • 2 months later...
Machado

Valaki nem tudja nekem véletlenül elküldeni vagy feltölteni valahova a Turbo Pascal XP-vel mûködõ "legújabb" verzióját? :)

Link to comment
Share on other sites

csutomi

Turbo Pascal + WinXP = Borland Pascal

 

Vagy próbáld meg a TP-t a dosboxszal emulálni, hátha sikerül.

Harmadik lehetõség, hogy fölteszed a Turbo Pascalt és letöltesz hozzá egy javítást (a Runtime Error miatt).

Link to comment
Share on other sites

atzs

Delphi

Link to comment
Share on other sites

  • 1 month later...
Calyd

FreePascal egyébként is jobb egy pár tekintetben [pl több memóriakezelés]. Haver mondta, hogy FP-ben sikerült lefordítania egy olyan programot, amiben volt egy 10.000 elemû tömb Stringekbõl :) [vagy 1000? Tök mindegy, sima Pascalnak mindkettõ bõven nagyon sok :)] Ezzel az akcióval még a Turbo-mániás programozás-oktatót is sikerült meggyõznie :)

 

Ennek hatására Lazarust használunk. Delphi klón, de nincs saját fordítója, FreePascalt használ, valami 0.9.8beta állapotban, kicsit bugos, de ingyen van :)

Link to comment
Share on other sites

arpsoft

Mi értelme statikusan lefoglalni ennyi memóriát?

Link to comment
Share on other sites

Calyd

Semmi :D, szerintem is elvetemült ötlet, de azért poén, hogy Free Pascalban lefordul :)

Link to comment
Share on other sites

arpsoft

Persze, hogy lefordul. A Freepascal már 32 bitre van optimalizálva.

Link to comment
Share on other sites

atzs
Mi értelme statikusan lefoglalni ennyi memóriát?

Mert (memória mennyiség)*(futási idõ)=állandó.

 

Egyik kedvenc példám a Knuth könyv. Hogyan tudunk a leggyorsabban sorba rakni 5000 számot? Annyit tudunk róluk, hogy 1 és 20000 között van mindegyik, és nem ismétlõdhet kétszer ugyanaz a szám.

 

Megoldás:

Lefoglalsz egy 20000-es tömböt. Egy ciklusban kinullázod. Végigmész az adatokon, és amit éppen beolvastál, a tömb annyiadik elemét átírod 1-re. Ha vége, akkor egy ciklusban végigmész a tömbön, és kiírod azokat indexeket, ahol a tömbben 1-est találsz.

 

Tudnék más példát is mondani, ahol az "extrém" statikus memóriahasználattal lényegesen fel tudtam gyorsítani egy algoritmust.

Link to comment
Share on other sites

Calyd

Egész érdekes rendezés. Csak nem mindig van ekkora szabad kezed.

Link to comment
Share on other sites

arpsoft

Most nem azért, de én ennek inkább dinamikusan foglalok memóriát.

Link to comment
Share on other sites

atzs

Érdemes akkor is, ha a program futási ideje alatt végig használja a területet? Mert ha csak néha kell neki ennyi, akkor persze lefoglalom dinamikusan, és aztán felszabadítom. Ha van valami elõnye, akkor átszokom rá, hogy mindig dinamikus legyen a foglalás...

 

@Calyd

Dehogy nincs! Én vagyok a rendszergazda. ;):démonikacaj::démonikacaj::démonikacaj:

Komolyra fordítva, optimalizálni természetesen csak a rendelkezésre álló erõforrások ismeretében lehet. Sajnos...

Link to comment
Share on other sites

Calyd

Elég feladatspecifikus, hogy miként érdemes memóriát-foglalni. Lehet keverni is...

Link to comment
Share on other sites

arpsoft

Én csak az elkerülhetetlen dolgokat rakom statikus memóriába, a többit dinamikusan foglalom. Miért tarsak meg egy átmeneti memóriablokkot, ha lehet, hogy már nem is lesz rá szükség, ráadásul bármikor újraépíthetem?

Ezt az oprendszer is jobban szereti.

Link to comment
Share on other sites

Calyd

Sok esetben gyorsabb lényegesen egy statikus memóriafoglalás. Pl tömböt tudsz indexelni, listát nem... Ez igen hátrányos lehet mondjuk egy backtracknél. Írtam már visszalépéses keresést dinamikusan kezelve a memóriát: elég nehézkes, és lassú....

Link to comment
Share on other sites

  • 3 months later...
Babó22
Turbo Pascal + WinXP = Borland Pascal

 

Vagy próbáld meg a TP-t a dosboxszal emulálni, hátha sikerül.

Harmadik lehetõség, hogy fölteszed a Turbo Pascalt és letöltesz hozzá egy javítást (a Runtime Error miatt).

Ez a Borland Pascal a Turbo Pascal nyelvét használja? Tehát ugyan az a képernyõ, környezet?

Link to comment
Share on other sites

arpsoft

Csak majdnem.

Link to comment
Share on other sites

  • 5 months later...
arpsoft

Az összes játék linkje nálam Error 404-ben végzõdik.

Link to comment
Share on other sites

MafiaBoy

Mindjárt helyrehozom a hibát.

 

Most már mennek!!! :!:

 

Edited by Spányik Balázs
Link to comment
Share on other sites

Babó22

A tilitoli játék nem rossz, de van benne némi helyesírási hiba. Meg amikor sikeresen kirakod akkor a program kiírja, hogy Siker!!! helyett lehetne valami más. Például a Gratulálok!!!

Link to comment
Share on other sites

MafiaBoy

Ok. Átcsinálom.

 

Kijavitottam a játékot és még kicsit szépítettem is rajta. De nem tudom feltenni, mert a Total Commanderrel nem tudok hozzáférni egy ftp szerveremhez se. Amikor tölti be az ftp szervert, a "LIST" nél megáll. Ha megadod az e-mail címed, akkor elküldöm neked.

 

Utólag: sikerült felttenni az új, kijavított Tilitoli játékot a honlapomra!

Link to comment
Share on other sites

MafiaBoy

Ha valakinek van olyan honlapja ahol saját maga készített programok illetve játékok vannak(Turbo Pascallal készített), kérem küldje el a honlap címét.

Nekem lehet késõbb lesznek grafikus üzemódba írt játékok és programok, mert most fogok tanulni programozni Pascalba grafikusan. Nem a suliba tanulom, mert ott programozás csak 11-ik oszt. végén van, az is csak olyan, én külön járok egy nagyon JÓ informatika(fizika, matematika) tanárhoz.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...