Zdravím
Pokouším se pochopit vytváření vlastních knihoven v pascalu, ale nedaří se mi to. Chápu to takto:
Knihovna je rozdělena na dvě části. V první části Interface si nastavím název funkce, dále názvy proměnných, které bude používat zdrojový soubor a datový typ těchto proměnných.
V druhé části Iplementation je už nějaký kód, který chci řešit. Pro pochopení jsem si udělal knihovnu, která mi třeba bude počítat obsah kruhu (pomiňme jednoduchost).
Knihovna mi nyní vypadá takto:
Unit Geom; //Nazev knihovny
Interface //Verejne rozhrani
Function Kruh_obsah (r: real): real;
Implementation
Function Kruh_obsah(r: real): real; //Obsah kruhu
Begin
Kruh_obsah := (pi *( r * r )); //Samotny vypocet
End;
End.
Nyní mám zdrojový soubor, kde chci tuto knihovnu použít:
Program Vypocty;
Uses crt, geom;
Var x, r, a, b, vysledek:Real;
Procedure ObsKr;
Begin
WriteLn ('Vybrali jste volbu 1 - Obsah kruhu.');
WriteLn ('Zadejte prosim polomer kruhu: ');
ReadLn (r);
WriteLn ('Obsah kruhu s vami zadanym polomerem je: ', vysledek);
End;
Begin
clrscr;
WriteLn ('Vyberte si geometricky obrazec a operaci, ktera vas zajima:');
WriteLn ('');
WriteLn ('1 - Obsah kruhu');
WriteLn ('');
WriteLn ('Zadejte prosim cislo vasi volby');
ReadLn (x);
If x = 1 Then ObsKr
End.
(mám tam použitu proceduru a ify. Těch voleb a procedurtam bude více, abych se naučil s tímto pracovat, ale pro znázorněí toho co mám jsem zatím smazal).
Nyní ale stojím na tom, že netuším, jak to propojit. Když spustím zdrojový soubor, tak mi to vyhodí chybovou hlášku. Když si ji nechám zobrazit co je za problém, otevře se mi moje knohovna a označí se mi řádek:
Kruh_obsah := (pi *( r * r )); //Samotny vypocet
Evidentně tedy někde dělám chybu. Podle skript jsem ji nenašel a jednoduše třetí den hledám a pokouším se promazávat co se stane když...