From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=unavailable autolearn_force=no version=3.4.4 Path: border2.nntp.dca1.giganews.com!nntp.giganews.com!usenet.blueworldhosting.com!feeder01.blueworldhosting.com!feeder.erje.net!eu.feeder.erje.net!news.swapon.de!eternal-september.org!feeder.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail From: Simon Wright Newsgroups: comp.lang.ada Subject: Re: tasks as part of record Date: Sat, 04 Oct 2014 14:33:01 +0100 Organization: A noiseless patient Spider Message-ID: References: <294a973f-5222-4aa3-8971-777cd2eb9174@googlegroups.com> Mime-Version: 1.0 Content-Type: text/plain Injection-Info: mx02.eternal-september.org; posting-host="865ecc8333c04b7dc8d5f87fc772110b"; logging-data="29425"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19K7axf2gfDFkRXQm37aa9ovl/rVmMtJa8=" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3 (darwin) Cancel-Lock: sha1:J3wNRn6ThrTsbG+xaq3erDmgdFg= sha1:VIPdsSmEmauPvjKg1k6XtVPOLS4= Xref: number.nntp.giganews.com comp.lang.ada:189386 Date: 2014-10-04T14:33:01+01:00 List-Id: Stribor40 writes: > http://www.infres.enst.fr/~pautet/Ada95/chap29.htm > > Unfortunately this tutorial doesnt show anything....can someone show > me how to create few records where each record contain task > please. Say if I want record Student... > > type Student is record > Student_Number : Positive range 1 .. N; > Name : String(1..20); > Count : Integer ; > --??tasks > end record; > > and how to create 10 students records.... with Ada.Text_IO; use Ada.Text_IO; procedure Strib is task type T is entry Start (Name : String); end T; type Student is record Student_Number : Positive range 1 .. 10; Name : String (1 .. 10); Count : Integer; The_Task : T; end record; task body T is begin accept Start (Name : String) do Put_Line ("started " & Name); end Start; end T; Students : array (1 .. 10) of Student; begin for J in Students'Range loop Students (J).Student_Number := J; -- etc Students (J).The_Task.Start ("student" & Integer'Image (J)); end loop; end Strib; Each The_Task may need access to the Student record of which it's a component. If so, ask again.