with Ada.Text_IO, Ada.Direct_IO;
procedure Filesizetest is
package Seq_IO is new Ada.Direct_IO (Character);
Dateiname : String := "bibel.txt";
Datei : Seq_IO.File_Type;
Dateigroesse : Seq_IO.Count;
Laenge : Natural := 0;
begin
Seq_IO.Open (Datei, Seq_IO.In_File, Dateiname);
Dateigroesse := Seq_IO.Size (Datei);
Ada.Text_IO.Put_Line (Seq_IO.Count'Image (Dateigroesse));
declare
Bibel : String (1 .. (Integer'Val (Dateigroesse)));
Chr : Character;
Count : Natural := 1;
begin
-- this does not work as Bibel is not a Character but a String
-- You cannot use "String" at Line 5 as Item must be a subtype
loop
Seq_IO.Read (Datei, Chr);
Bibel(Count) := Chr;
Count := Count + 1;
exit when Count >= Integer'Val (Dateigroesse);
end loop;
Ada.Text_IO.Put_Line( "Bibel:" );
Ada.Text_IO.Put_Line( Bibel );
Ada.Text_IO.Put_Line( "End." );
end;
end Filesizetest;