🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.sources.hp48
Article #72

v08i012: fatdb.fat - Fatdb v2.0 - Database Package, Part01/01

#72
From: Fatri
Date: Sun, 24 Jan 1993 23:26
233 lines
11540 bytes
Checksum: 2972716586 (verify with brik -cv)
Submitted-by: Fatri <fatri@turing.u-strasbg.fr>
Posting-number: Volume 8, Issue 12
Archive-name: fatdb.fat


BEGIN_DOC fatdb.doc
********************************************************************************

                             FATDB.LIB v2

                      FATRI Mohamed January 1993

                   Checksum : #5241 Bytes : 2039.5



FATDB.LIB is a database software, all the entries are strings that are
stored in a coded form and in alphabetical order.

The FATDB menu contains three commands : DB CRYPT and UPCASE.

CRYPT takes two strings and encode the first with the second.
Use once again the same second string to decode the string.

UPCASE takes a string as argument and convert the lowercase char to
uppercase.

Press DB, you will be asked for a code, just type ENTER if you don't
want to code your datas.

The menu keys are labeled :
[ ADD ] [FIRST] [LAST ] [FIND ] [PRINT] [EXIT ] for the first row
[MODIF] [ DEL ] [     ] [     ] [CODE ] [PRALL] for the second row

Press NXT to toggle from one row to the other.

The <- and -> keys ( cursor keys ) are used to go to next/prev item.
The On key abort the program.

* ADD   : Enter an item, it can be up to 7 lines long.
          If you press ENTER with no entries, it just escapes ADD.

* FIRST : Jump to the first item.

* LAST  : Jump to the last item.

* FIND  : Search an item from an pattern string.

* PRINT : Print the current item if a printer ( IR or Serial ) is
          connected

* EXIT  : Exit DB.


* MODIF : Modify an item. The modified item is put back in the database
          in alphabetical order. If the modified item is a null item
          then it is just removed from the database.

* DEL   : Delete an item, you queried whether YES or NO.

* CODE  : Change the coding of the whole database.
          You are asked for a code, if the code is null the the whole
          database is uncoded.

* PRALL : Print all the item on the IR or Serial printer.


Now let's see how the database is stored.

The database is a list containing strings which are the coded items.

When you run DB, a variable named 'datas' is RCL'ed from the current
directory or from above, if it doesn't exist then it checks if 'datas'
is in PORT 0,1 or 2. If nothing is found, a null list is stored in the
current directory under the name 'datas'.

That allows to consult the database even if it is in a PORT.
But if you make some changes to the database, the modified version
is stored in the current directory.

FATDB v1 has been written long time ago, it was written in USER RPL,
was about 2800 bytes long, didn't have the CODE command and didn't allow
not to code the datas.
When I got the RPL48 package I started to rewrite all my programs in
Sys-RPL. FATDB is one of them.
A further version will allows to scroll items longer than 7 lines.
But I must first find a way to do that quickly.

I hope you'll find this library cute and usefull.

* Specials thanks to Detlef Muller for its great RPL48 package.

This library is freeware, so feel free to do anything you want with it.

   ***************************************************************
   * WARNING : Thought this library works fine on my HP48 Rev E. *
   * I cannot guarantee it would work on another ROM Rev.        *
   * Nor can I be taken for responsible for any kind of damage.  *
   * I however tested it seriously and didn't notice any bug     *   
   *************************************************************** 

Any comments ? Feel free to email me.

Fatri. ( fatri@turing.u-strasbg.fr )

********************************************************************************
END_DOC


BEGIN_ASC fatdb.asc
%%HP: T(1);
"04B20AEF0061641445442402022697026414452594029A021393933361E6371F
00F0000A9E00340008E92093000C2A2010000100005200094E66716C69646024
416471624163756D9D2011920E630090770B2130D9D200CA300F51683416C541
6C6336D9D20A64052A1708341690826C2A209100035561627368696E676A32C2
3029E20E63C005161629E20E6350029E20E63300E04169FF301B546A3336D9D2
018A300F516B213083416C541691D307E31657B308C170B21307E3168DA1629E
20E63600D9D20C2A20B20000202051647475627E602E6F6470266F657E646A64
0550421B1293B2130B2130D9D20AFDB39FF30A9F04B2130D9D20C541681A1683
416C5416BD37012270881305161629E20E6350029E20E63600AE813442308681
34337051616B2130D9D20C541681A16C2A20B000095563729E20E63900CA130C
2A2090000E4F6B20409545068F04CF1A3C2A2092000020202021427560297F65
7023757275602F3BB4212A17056F1444230D9D209FF303D816DEBB0B2040C681
610CB01DDF30CA30B21308C170CB91629E20E638009B314B2130D9D20C541681
A1629E20E63310FD5508341629E20E63500683A29B136CC3349B31429E20E638
0090236B491629E20E63700B2130D9D20C541681A168341629E20E63500AE813
4423086813B2130D9D20C541681A16C2A20F100054E647562702071647475627
E6E041684E2010C89B136CC33490236B491629E20E6330000616C2A20D0000E4
56874729E20E63900CA13096756B20409545068F0483416FEF305161629E20E6
3410CF1A32A17056F1444230D9D209FF303D816D9D2029E20E634100CA30B213
0B2040C681618A301DDF30CA30B21308C1709B3147E316B491651616B2130D9D
2029E20E63310FD55047A2084E2010C8B2130CC3349B314902368DA164423029
E20E63700B2130D9D204E761D5456EE250C54164E761391503915050421B2130
D9D20C541681A1629E20E63310C2A201200054E647562702E656770236F64656
47A20FD55084E2010C8B2130CC33488130C2A201100065562796669747A20FD5
5084E2010C8B2130CC33479B308DA16D9D20F55A30F516C94168943611436C2A
2012000348616E67696E6760236F64656A32C23029E20E63C00C9B26C641629E
20E634007E31629E20E63400D443644230C54169545029E20E63A007E3165361
6B2130442309B314B2130D9D20881305661679E6084E20504616471637881307
2C8072D70B2130D9D20F30401C040F851188130B2130D9D20C941683416ED4E0
29E20E63A00C5416E0E3052616B2130D9D20C541698E36D9D20C641629E20E63
400DEE3229E20E63A009FF3052616B2130D9D200F516C5416908265261655616
FEF30546162A170C7416C8416CBD30E8E308813029E20E635007E3166A241B67
A28DA165561654616C8416C74160ED30300404EC308C170C7416FED30C94167E
316C641629E20E63400EF116164E029E20E63A0051616B2130B2130D9D20C541
698E36D9D206B316B3A16C2A209200002020202E4F60256E6472796563702975
647A6405504211DDF3B2130D9D2083416C541680836C54167FE3044230908265
161629E20E63500F3040EC3707A72112270924214337044230B2130B1293B213
0D9D20C941632230C9B26C641629E20E63400B2130D9D203223096C26CCD203A
0008FB976014313034A0000CA10016414234500008A226EA1011741431311741
43EAD8D31748A9041198A740D3118CB13414A14F0E6A10A14F0E62112B6A149C
DCDE7E717160CF8F2D760174E78D465D2B2130CCD20160008FB9760143131174
AF014334500008A253EA81CD8CD17414B31169E25131A79E6C03102B6A149171
CD5BD8D341508E63200D9D20ECE81D0040D9D207566029E20E63300B2130B213
08E63100D9D20FDE81D004029E20E63400B21308E63000D9D20E1A819CB04CB9
83E5E40D9D20E5E40D9D2079E6084E2050461647163750C268DA16B9F0629E20
0F0A6018A30B21308BE400CA30A2170D9D209E5508813029E20E63A00B213011
2268DA16D9D20F6A36B3A1688130FA4503C37095126A2170D9D201192010E63A
3836B213043370B2130D9D201192010E63A3836B2130CF146C2A209100054E64
756270236F6465647A20FD55084E2010C8B2130CC334C1216B76509FF30FD550
439F279E6003D4394040073E5954500D470C2A20B0000144646C2A20F0000649
6273747C2A20D0000C4163747C2A20D00006496E646C2A20F0000052796E6479
6756C2A20F0000D4F6469666C2A20B00004456C629E20E63900C2A20D000034F
64656C2A20F0000052714C6C6760409545068F0429E20E636002A170CF1A356F
1444230D9D20760403D816C17A3F80403D816D9D2083416E0E305161629E20E6
3600B21303A0403D816D9D2083416FED305161629E20E63600B213053040CD63
639916D9D2047A2029E20E63D00D9D209FF3051616B2130D9D20C541651616B2
13029E20E63E0029E20E63F00FC29229E20E6301029E20E63110D9D20C5416A3
3361DDF3B2130D9D20C5416A33361DDF3B213029E20E63B0029E20E63210B213
0B58145923080836C9B26E8F6029E20E63600B2130B6815B21306B3168C17079
470B21308BE4077B8309B8344193B2130E4A20E600030CFF8DBFFE9BFFC2BFFB
6AFFD3AFFE69FF158FF918FF6F7FF8B7FFE56FF726FF1D5FFE94FF664FF9F3FF
013FFAA2FFC82FF951FFE4A202900000000050000000000000A4000450000000
0000000000000000000000000000000000000000000000E20002044240005034
25950545100605505341435542009200052000B10004DE41425"
END_ASC

BYTES: #5241h 2039.5

BEGIN_UU fatdb.uue
begin 644 fatdb.lib
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
M``````!*`$`%```````````````````````````````````N`"!`)`0`!4-2
765!4`6!0!344-%4D`"D`4`(`&P!`[01`
`
end
sum -r/size 14431/2850 section (from "begin" to "end")
sum -r/size 36004/2048 entire input file
END_UU
Technical Details
Message-ID: <1993Jan24.232617.1627@seq.uncwil.edu>
Path: arc1-ca.pugleaf.net!sparky!uunet!seq!spell

Show Full Headers
Complete Article Headers
Newsgroups: comp.sources.hp48
Path: arc1-ca.pugleaf.net!sparky!uunet!seq!spell
From: Fatri <fatri@turing.u-strasbg.fr>
Subject:  v08i012:  fatdb.fat - Fatdb v2.0 - Database Package, Part01/01
Message-ID: <1993Jan24.232617.1627@seq.uncwil.edu>
Followup-To: comp.sys.hp48
Sender: spell@seq.uncwil.edu (Chris Spell)
Organization: Univ. of North Carolina @ Wilmington
Date: Sun, 24 Jan 1993 23:26:17 GMT
Approved: spell@seq.uncwil.edu
Lines: 237