All pastes #468024 Raw Edit

oenone

public text v1 · immutable
·published 2007-05-02 21:03 UTC
rendered paste body
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;