comp.lang.ada
 help / color / mirror / Atom feed
From: AdaMagica <christ-usch.grein@t-online.de>
Subject: Re: How to write "Hello" to a text file without a line terminator
Date: Sun, 14 Aug 2016 06:28:35 -0700 (PDT)
Date: 2016-08-14T06:28:35-07:00	[thread overview]
Message-ID: <0ae794b4-d8a1-4a03-823b-0e0fd770b44a@googlegroups.com> (raw)
In-Reply-To: <lyvaz321nv.fsf@pushface.org>

Am Sonntag, 14. August 2016 10:30:15 UTC+2 schrieb Simon Wright:
> Come to think of it, what would the use case be for instantiating
> Sequential (or Direct) IO with an unconstrained type? they both have
> only procedural forms for Read, so how could you ever retrieve a value?

No problem for a type like this (without the defaulted discriminant, you'll have indeed a problem, as for strings):

  type Disc is (A, B, C, D);
  type Rec (X: Disc := A) is record
    case X is
      when A => I: Integer;
      when B => F: Float;
      when C => B: Boolean;
      when D => null;
    end case;
  end record;

  package Req_Sequential_IO is new Ada.Sequential_IO (Rec);
  use Req_Sequential_IO;
  
  procedure Create is
    f:file_Type;
  begin
    create(f,out_file,"Rec");
    Write (f, (A, 42));
    Write (f, (C, False));
    Write (f, (X=>D));
    write (f, (B, -42.0));
    close(f);
  end Create;

  procedure Read is
    f:file_Type;
    R: Rec;
  begin
    open(f,in_file,"Rec");
    loop
      Read(f,R);
      exit when End_of_File(f);
    end loop;
    close(f);
  end Read;


  parent reply	other threads:[~2016-08-14 13:28 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-08-12  4:05 How to write "Hello" to a text file without a line terminator Jerry
2016-08-12  6:41 ` G.B.
2016-08-12  7:23 ` Dmitry A. Kazakov
2016-08-12  7:41   ` J-P. Rosen
2016-08-12  7:46     ` Jerry
2016-08-12  7:44   ` Jerry
2016-08-12 17:34     ` Jeffrey R. Carter
2016-08-13  3:21       ` Jerry
2016-08-13  4:23         ` Jeffrey R. Carter
2016-08-13  9:12           ` AdaMagica
2016-08-13 18:03             ` Jeffrey R. Carter
2016-08-14  7:58               ` AdaMagica
2016-08-14  8:30                 ` Simon Wright
2016-08-14  8:54                   ` Dmitry A. Kazakov
2016-08-14  9:40                     ` Simon Wright
2016-08-14 10:17                       ` Dmitry A. Kazakov
2016-08-14 11:28                         ` Simon Wright
2016-08-14 13:31                           ` Dmitry A. Kazakov
2016-08-15 23:35                       ` Randy Brukardt
2016-08-14 13:28                   ` AdaMagica [this message]
2016-08-14 13:54                     ` Simon Wright
2016-08-14 17:05                     ` Jeffrey R. Carter
2016-08-14 18:26                       ` AdaMagica
2016-08-14 19:19                         ` Dmitry A. Kazakov
2016-08-14 13:32                   ` AdaMagica
2016-08-14 16:39                   ` Jeffrey R. Carter
2016-08-12  7:46   ` Simon Wright
     [not found]   ` <noka54$ci$1@dont-email.me>
2016-08-12 13:44     ` Dmitry A. Kazakov
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox