http://www.adaconcept.com/programs/ontozorendszeres_szimulacio/szimulacio-ontozorendszer.adb
with Szimulacio.Kert; -- az Elaborate_All pragma hasznalata miatt kell ez a with
pragma Elaborate_All(Szimulacio.Kert); -- erre szukseg van, hiszen a Kert.Nem_Fu_Terv_Elemek_Szama_A_Terven fuggveny visszateresi erteket tipusdefinicio hasznalja
package body Szimulacio.Ontozorendszer is
-- Csak nagyon nagy odafigyelessel csinaljunk ilyet!
Reszletpontok_Tomb : Reszletpont_Tomb_Tipus(1 .. Kert.Nem_Fu_Terv_Elemek_Szama_A_Terven) := ( others => Alapertelmezett_Reszletpont ); -- NAGYON FONTOS az indexeles, kihasznaljuk a program mas reszeiben!!!
function Reszletpontok return Reszletpont_Tomb_Tipus is
begin
return Reszletpontok_Tomb;
end Reszletpontok;
begin
Reszletpontok_Tomb_Inicializalasa:
declare
use type Kert.Terv_Elemek_Tipus;
Rt : Reszletpont_Tomb_Tipus renames Reszletpontok_Tomb;
k : Natural range Rt'First - 1 .. Rt'Last := Rt'First - 1; -- trukk
begin
for i in Kert.Terv'Range(1) loop
for j in Kert.Terv'Range(2) loop
if Kert.Terv(i,j) /= Kert.Fu then
Rt(k + 1) := (Tipus => Kert.Terv(i,j),
X_Koordinata => i,
Y_Koordinata => j);
k := k + 1;
end if;
end loop;
end loop;
end Reszletpontok_Tomb_Inicializalasa;
end Szimulacio.Ontozorendszer;