According to Pismo:
I learned Pascal on VAX-Pascal (DEC VAX-VMS systems), and did allot of programming with Turbo in the 3.x to 5.5 days. Now I have a Linux system with GPC and want to write some database stuff using random access. My recent return to Pascal leaves me wanting to know how to do this with GPC compared to Turbo?
If you keep the whole database in memory, it's about the same as in Turbo Pascal: Use an array, an array of poiners, a linked list, a tree, or whatever. If your structure involves an array, GPC's "array schema" (according to ISO Extended Pascal) could be of interest for you:
Type Foo ( n: Integer ) = array [ 1..n ] of Integer; FooPtr = ^Foo;
Var f: FooPtr; i: Integer;
...
New ( f, 42 ); for i:= 1 to f^.n do f^ [ i ]:= i mod 137; Dispose ( f );
GPC does not have a 64k limit, so you don't need to worry about, say, an array of pointers which is limited to 16380 pointers in Turbo Pascal.
If you want to keep the data on disk, the following "dictionary" will be useful for you:
Turbo Pascal GNU Pascal
Assign See, for instance, the BPcompat package in ftp://agnes.dida.physik.uni-essen.de/gnu-pascal/contrib (The next beta will have a built-in `Assign'.)
reset (read-only) reset reset (read/write) update rewrite rewrite append extend
Seek SeekRead SeekWrite SeekUpdate
close close
Hope this helps,
Peter
Dipl.-Phys. Peter Gerwinski, Essen, Germany, free physicist and programmer peter.gerwinski@uni-essen.de - http://home.pages.de/~peter.gerwinski/ [970201] maintainer GNU Pascal [970714] - http://home.pages.de/~gnu-pascal/ [970125]