[comp.lang.ada] Help !!!!

1LENDL@EDVZ.UNI-SALZBURG.ADA.AT (07/07/90)

Hi all, I need some ADA help.
 ( I hope there are some ADA-freaks here ! )

Question 1:
        I have to read a Text-file. All works well with GET_LINE. BUT :
        The file is from an IBM-PC, and it is in German that means there
        are the special German characters ( Umlaute, scharfes S ) in it.
        These characters are encoded as 132, 142, ... all above 127 !
        As far as I know, the type character is defined as an enumeration,
        from 0 to 127, so the special characters are not defined in it.
        Funny enough, when I try to read such characters I do not get
        any error, exception or other faults. When I "put" it afterwards,
        the original special character is written.
        Anyway, I want to make a CASE statement over all characters read:

        case char is
            when 'a' .. 'z' =>     -- This works fine
            when character'pos(132) =>  -- This gives a compiler-error:
                                        -- "Choices have to be static"

        What shall I do ? Making an IF-clause out of it ?
                ( is character'pos(132) legal ? )

Question 2:
        I want to read/write a simple file with no structure, a simple
        stream of bytes. I tried it with :

        type BYTE is range 0 .. 255;
        for BYTE'SIZE use 8;
        package byte_io is new DIRECT_IO ( Element_type => BYTE );
        ...
        byte_io.write ( fh, byte(34) );
        ...

        In the file there is the Value I wanted to write, then a 0, a value,
        a 0, ....     Why THAT ????
        ( Thinks were easy in C .... )

        What have I done wrong ?

I use the SYSTEAM Ada compiler on a VAX running VMS.

Please send all help for DIRECT to me, for I'm not on this List.
                        ========
( No time for reading so much mail ! )

Thanks !

--Otmar Lendl--

   3\  3  3\ /3  3\   3\  3  3\     3   3\/3     3\   /\   3\  /3\  3\  3\
   3\  X  3 X 3  3 3  3/  3  3   o  3>  3  3  o  3\  3  3  3\   3   3\  3/
   3   3  3/ \3  3 3  3\  3  3      3   3  3     3   3  3  3    3   3   3\

                      1LENDL@EDVZ.UNI-SALZBURG.ADA.AT
                         PSI%023225629007::1LENDL

And for the ones, who don't know where Austria is :
                 1lendl%edvz.uni-salzburg.ada.at@CUNYVM.CUNY.EDU