Göm menyn

Projektmaterial (TJa-lib)



TJa-biblioteket

Ett extra bibliotek som inte finns i Ada-standarden


De enheter (paket, procedurer och annat) som finns i TJa-biblioteket är inte något som finns med i Ada-standarden. För att kunna använda enheterna som finns måste själva kompileringen ske på ett litet annat sätt än tidigare. I övrigt är det som vanligt att man inkluderar enheterna som vilket paket som helst i sitt program. Det är inte möjligt att använda TJa-biblitoteket på era hemdatorer.

OBS! Ni skall INTE kopiera några filer till er själva. Biblioteket tas endast med vid kompileringsögonblicket.

Då detta bibliotek inte är något som säljs publikt och därför innehåller företagshemligheter är det endast möjligt att se innehållet i "ads"-filerna i biblioteket. Ett undantag är det paket som innehåller nätverkskommunikationen då det kan vara av intresse för er att kunna testa detta även hemifrån.

För att inkludera ett t.ex. paketet "TJa.Sockets" i ert program skriver ni precis som ni är vana från labserien:

        with TJa.Sockets;       use TJa.Sockets;

Övriga delar inkluderas på motsvarande sätt.

För att kompilera ett program (vi antar att det heter "program.adb") som innehåller inkluderingar av TJa-biblioteksenheter skriver ni på följande sätt:

        gnatmake $(/courses/[KURSKOD]/TJa/bin/tja_config) program.adb
	exempel: gnatmake $(/courses/TDDD11/TJa/bin/tja_config) program.adb

Följande enheter finns i TJa-biblioteket (det finns några testprogram längre ner på sidan ...):


TJa.Calendar
Hanterar datum och tider.
TJa.File_IO Hanterar lite specialfall för filer och bibliotek.
TJa.Keyboard
Hanterar tangentbordet på lite mer avancerat sätt.
TJa.Keyboard.Keys
Definitioner av en del tangentbordskonstanter.
OBS! Filen key_codes
Fil som måste kopieras till det bibliotek där du tänker köra ditt projekt för att tangentbordshanteringen skall fungera på ett "tillfredsställande" sätt.
TJa.Lists
Definitioner av några undantag i samband med listhantering.
TJa.Lists.Unchecked.Double_Linked.General_List.Checked_Data
Ett generiskt paket som innehåller rutiner för hantering av en dubbellänkad lista. Data i listan kan ej vara andra listor. Innehållet i listan är ej sorterat och kan inte heller sorteras.
TJa.Lists.Unchecked.Double_Linked.Sorted_List.Checked_Data
Ett generiskt paket som innehåller rutiner för hantering av en dubbellänkad lista. Data i listan kan ej vara andra listor. Innehållet i listan är alltid sorterat.
TJa.Lists.Unchecked.Double_Linked.Unsorted_List.Checked_Data
Ett generiskt paket som innehåller rutiner för hantering av en dubbellänkad lista. Data i listan kan ej vara andra listor. Innehållet i listan behöver ej vara sorterat, men kan sorteras.
TJa.Sockets
Några grundläggande nätverkshanteringssaker.
TJa.Window.Elementary
Några grundläggande fönsterhanteringsrutiner.
TJa.Window.Text
Hantering av text i ett fönster (färger, storlekar m.m.).
TJa.Window.Graphic
Hantering av vissa grafiska tecken (linjer av olika slag) i ett fönster.
TJa.Misc
Diverse "roliga" saker som inte passade in i övriga bibliotek.

Testfiler till TJa-biblioteket


Här följer ett par testprogram som visar hur man använder (några av) TJa-paketen ...

test_window.adb Ett litet program som visar hur vissa delar av "TJa.Window.*" fungerar.
test_keyboard_simple.adb Ett litet program som visar hur vissa delar av "TJa.Keyboard" fungerar.
test_animation.adb Ett litet program som visar hur man kan använda exist-parametern hos Get_Immediate (i TJa.Keyboard) och delay för att göra animationer.

server.adb
klient.adb
Två program som kommunicerar med varandra lite enkelt.

Sidansvarig: Torbjörn Jonsson
Senast uppdaterad: 2019-03-22