rendered paste bodywith Ada.Text_IO; use Ada.Text_IO;
with Ada.Sequential_IO;
with Ada.Integer_Text_IO; use Ada.Integer_Text_IO;
with Ada.Direct_IO;
procedure Labb6 is
type Person_Type is
record
Efternamn : String(1..20);
Efternamn_Length : Integer;
Fornamn : String(1..20);
Fornamn_Length : Integer;
Gatuadress : String(1..20);
Gatuadress_Length : Integer;
Postadress : String(1..20);
Postadress_length : Integer;
Antal_Intressen : Integer;
--Intressen : Intressen_Array;
end record;
--package My_Person_IO is
-- new Ada.Sequential_IO(Element_Type => Person_Type);
--use My_Person_IO;
procedure Get(Person : out Person_Type) is
Efternamn : String(1..20);
Efternamn_Length : Integer;
Fornamn : String(1..20);
Fornamn_Length : Integer;
Gatuadress : String(1..20);
Gatuadress_length : Integer;
Postadress : String(1..20);
Postadress_Length : Integer;
Antal_Intressen : Integer;
begin
Get_Line(Efternamn, Efternamn_Length);
if Efternamn_Length = Efternamn'Last then
Skip_Line;
end if;
Get_Line(Fornamn, Fornamn_Length);
if Fornamn_Length = Fornamn'Last then
Skip_Line;
end if;
Get_Line(Gatuadress, Gatuadress_Length);
if Gatuadress_Length = Gatuadress'Last then
Skip_Line;
end if;
Get_Line(postadress, postadress_Length);
if Postadress_Length = Postadress'Last then
Skip_Line;
end if;
Get(Antal_Intressen);
Person.Efternamn := Efternamn;
Person.Efternamn_Length := Efternamn_Length;
Person.Fornamn := Fornamn;
Person.Fornamn_Length := Fornamn_Length;
Person.Gatuadress := Gatuadress;
Person.Gatuadress_Length := Gatuadress_Length;
Person.Postadress := Postadress;
Person.Postadress_Length := Postadress_Length;
Person.Antal_Intressen := Antal_Intressen;
end Get;
procedure File_It(Fil : in File_Type;
Person : in Person_Type) is
begin
Open(Fil, Append_File, "fil");
Put_Line(Fil, "--------------------------------------------------");
Put(Fil, Person.Efternamn(1..Person.Efternamn_Length));
Put(Fil, " ");
Put(Fil, Person.Fornamn(1..Person.Fornamn_Length));
Put(Fil, " ");
Put(Fil, Person.Gatuadress(1..Person.Gatuadress_Length));
Put(Fil, " ");
Put(Fil, Person.Postadress(1..Person.Postadress_Length));
Put(Fil, " *** Intressen: ");
Put(Fil, Person.Antal_Intressen, 0);
Close(Fil);
end File_It;
Person : Person_Type;
Fil : File_Type;
--Fil : My_Person_IO.File_Type;
begin
--Create(Fil, Append_File, "fil");
--Open(Fil, Append_File, "fil");
Get(Person);
--Open(Fil, Out_File, "fil");
File_It(Fil, Person);
--Open(Fil, Append_File, "fil");
Get(Person);
File_It(Fil, Person);
--Close(Fil);
end Labb6;