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=ham autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,47bc849aad30d586 X-Google-Attributes: gid103376,public X-Google-ArrivalTime: 2002-05-29 11:27:17 PST Path: archiver1.google.com!news1.google.com!newsfeed.stanford.edu!news-spur1.maxwell.syr.edu!news.maxwell.syr.edu!news-out.visi.com!hermes.visi.com!uunet!ash.uu.net!prodigy.com!newsmst01.news.prodigy.com!prodigy.com!postmaster.news.prodigy.com!newssvr13.news.prodigy.com.POSTED!3bae8248!not-for-mail From: tmoran@acm.org Newsgroups: comp.lang.ada Subject: Re: A standard package for config files is needed References: <39ee2480.0205282322.3bbd4673@posting.google.com> X-Newsreader: Tom's custom newsreader Message-ID: <839J8.1076$r5.175696924@newssvr13.news.prodigy.com> NNTP-Posting-Host: 12.234.14.79 X-Complaints-To: abuse@prodigy.net X-Trace: newssvr13.news.prodigy.com 1022696772 ST000 12.234.14.79 (Wed, 29 May 2002 14:26:12 EDT) NNTP-Posting-Date: Wed, 29 May 2002 14:26:12 EDT Organization: Prodigy Internet http://www.prodigy.com X-UserInfo1: Q[R_PJSCTS@[SPTX\JKXOFXBWR\HPCTL@XT^OBPLAH[\BQUBLNTC@AWZWDXZXQ[K\FFSKCVM@F_N_DOBWVWG__LG@VVOIPLIGX\\BU_B@\P\PFX\B[APHTWAHDCKJF^NHD[YJAZMCY_CWG[SX\Y]^KC\HSZRWSWKGAY_PC[BQ[BXAS\F\\@DMTLFZFUE@\VL Date: Wed, 29 May 2002 18:26:12 GMT Xref: archiver1.google.com comp.lang.ada:24952 Date: 2002-05-29T18:26:12+00:00 List-Id: >The Java Property class is simple and easy to use! The Properties >can be stored as an ASCI File, which is a List of (Key,Value) pairs. In the Windows Registry case, the data is never accessed directly, so it doesn't matter if it's ASCII or whatever. If you are going to allow safe concurrent access, the config file obviously can't be a simple ASCII file. Instead there's a database manager frontend (nee regedit) to allow low level mucking, and most changes are normally done via API calls under the control of the relevant app itself. Looking at Claw, I see, eg, -- Typical usage might be: -- Claw.Registry.Get( -- Root_Key => Claw.Registry.HKEY_CURRENT_USER, -- Subkey => "Software\MyCompany\ProgramName", -- Value_Name => "User_Nickname", -- Item => Saved_String, -- Last => Last); and appropriate variations for stream io, record io (a la Sequential_IO), etc. Note also that Windows has the concept of branches of the configuration tree for Users, Current_User, Local_Machine, Current_Config, etc. That's useful and should be considered for inclusion.