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.3 required=5.0 tests=BAYES_00,INVALID_MSGID autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,94b44ecb42c031b9 X-Google-Attributes: gid103376,public From: Gerald Kasner Subject: Re: Searching for an object Date: 2000/08/21 Message-ID: <39A10328.6DD7B9F7@Physik.Uni-Magdeburg.de>#1/1 X-Deja-AN: 660665654 Content-Transfer-Encoding: 7bit References: <87og2q9yyp.fsf@moon.mteege.de> X-Original-NNTP-Posting-Host: kasner.nat.uni-magdeburg.de X-Accept-Language: en, de-DE Content-Type: text/plain; charset=us-ascii X-Trace: 21 Aug 2000 12:22:40 +0100, loriot.cs.uni-magdeburg.de Organization: Otto-von-Guericke-Universitaet Magdeburg MIME-Version: 1.0 Newsgroups: comp.lang.ada Date: 2000-08-21T00:00:00+00:00 List-Id: 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