comp.lang.ada
 help / color / mirror / Atom feed
From: Gerald Kasner <Gerald.Kasner@Physik.Uni-Magdeburg.de>
Subject: Re: Searching for an object
Date: 2000/08/21
Date: 2000-08-21T00:00:00+00:00	[thread overview]
Message-ID: <39A10328.6DD7B9F7@Physik.Uni-Magdeburg.de> (raw)
In-Reply-To: 87og2q9yyp.fsf@moon.mteege.de

Matthias Teege schrieb:
> 
> Moin,
> 
> I've defined the following type:
> 
> type customer is record
>    aname  : String( 1..25);
>    bname  : String( 1..25);
> end record;
> 
> Then I create some objects of this type and save all of
> them in an table.
> 
> Now I want to find a special object with a find procedure
> like this (not authentic Ada Code :-)):
> 
> procedure find ( Field : in String;
>                  What  : in String;
>                  Result: out String) is
> 
> while end_of_table is false loop
>   read(object);
>   if object.Field = What then -- field should be 'aname'
>                               -- or 'bname'
>      Result := object.Field;
>      exit; -- We have found it
>   end if
> end loop;
> end find;
> 
> I want to search in all Record "Fields" depend on the
> procedure parameter.
> 
> How is the Ada way?
> 
> Many thanks
> Matthias
> 
> --
> Matthias Teege -- matthias@mteege.de -- http://emugs.de
> make world not war
> PGP-Key auf Anfrage

My respose is no direct answer to your question, but I would 
be more careful about the find procedure in general. If you have 
a long table of customers you'll have to wait very long times. 
Consult a textbook on data structures how to do this much faster.

(In your case a tree may be very useful)

A second remark: Ada is designed to reuse code. Why not using 
already existing well tested libraries ? Abstract data types 
seem to be appropriate. 

-Gerald




  parent reply	other threads:[~2000-08-21  0:00 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2000-08-18  0:00 Searching for an object Matthias Teege
2000-08-21  0:00 ` Ted Dennison
2000-08-21  0:00   ` Matthias Teege
2000-08-21  0:00     ` Ted Dennison
2000-08-21  0:00     ` tmoran
2000-08-22  0:00       ` Matthias Teege
2000-08-22  0:00         ` tmoran
2000-08-21  0:00 ` Gerald Kasner [this message]
2000-08-21  0:00   ` Matthias Teege
2000-08-31 21:55 ` John McCabe
replies disabled

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