Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!wuarchive!usc!ucsd!pacbell.com!pacbell!att!mcdchg!ddsw1!olsa99!tabbs!wiznet!wiz From: wiz@wiznet.UUCP (Kean Johnston) Newsgroups: comp.databases Subject: Re: Clarion Professional Developer Summary: Mail followup answering some Clarion questions ... Keywords: Clarion review database new speed Message-ID: <1564@wiznet.UUCP> Date: 22 Aug 90 12:21:03 GMT References: <1562@wiznet.UUCP> Organization: Progressive Systems Lines: 113 Here is a copy of a reply to some mail concerning Clarion which may answer some questions yet unasked ... From wiz Wed Aug 22 14:02:04 1990 Subject: Re: Clarion DBMS To: ddsw1!riacs!rutgers!mona.jpl.nasa.gov!khioe (Kent Hioe) Date: Wed, 22 Aug 90 14:02:04 GMT From: Kean Johnston In-Reply-To: <9008212148.AA06884@mona.Jpl.Nasa.Gov>; from "Kent Hioe" at Aug 21, 90 2:48 pm X-Mailer: ELM [version 2.3 PL0] > I am currently searching for a good data base that can support the following > features: > > 1. muti-user. > 2. record locking for multi-user environment. > 3. support LAN (NOVELL or 3COM, or other LAN). Clarion uses a very neat feature called "MODELS" when it generates your source code for you. Proviced standard with Clarion is a NETWORK model file, which has full support for record and file locking. As regards data security on a LAN, or in fact with ANY Clarion application, you can set an owner password on a file which makes the file invisible to external Clarion applications like the Scanner (which views data in its raw format). Using these passwords and making a safe, secure LAN, you can pretty much guarantee the security of your data. > 4. support programming feature like Dbase langauge ( not necessarily dBASE > compatible). Clarion has its own language, in which you can manually write your programs. However, the Clarion Designer offers so much power and flexibility, that in a VERY large application which I have written in Clarion, I have only had to write about 40 lines of code manually, and that was for setting up tables and doing program serialisation. The language is unlike anything you have seen before, but it is nonetheless very powerful once you get into it. > 5. menu style. This is where Clarion stands out head and shoulders above the rest. The professional look of the programs you can create is unlike anything I have seen in any other DBMS. You have full control over the screen, as well as a very neat feature called a "transparrent" attribute. This allows you to create a help screen, for example, which will have a transparent region which overlays a data entry field. The result of this is that when the user presses F1 for help, you can build your help around the field he is entering. He can then see, in the middle of the help text, the data that he has entered. This REALLY impresses the users :-) > 6. Data entry control key: > - redefine exit key during data entry mode. > - browse record at particuler fields. > - help key. > - support function key. > - field validation. Again, using the model file to customise the source code generation, you can assign any key to do anything you wish. By default, the keys are pretty logical: INS adds a record, DEL deletes one, ESC backs you up a field CTRL-ENTER does a "screen accept" CTRL-ESC does a screen abort. From within the designer you can define up to 3 hot-keys which can execute any function you specify, be it a Clarion Designer function or something you have written externally. With regards to browsers, when you set up your browse tables, you can select any fields you like. If you use the "locator" feature (see original review), then this field MUSt be the field which forms part of an index, but all other fields are optional. You can even display fields from other databases in a table, as well as doing computed fields, total fields, and lookups into other databases. The help key is by default the F1 key, and unless you are a WordPerfect fan you would want to leave this as it is. However, you can assign it to anything you like bu modifying one single EQUATE value. I'm not sure what you mean by "support function key", but as I have just said, you can assign hot-keys to any form or indeed any part of the program. From within the designer, you are limited to 3 hot-keys per form, table or menu, but if you are writting the code manually, I don't think there is any limit. With regard to field validation, you can set any field to be a compulsory field, or you can write in your own code for field validation and sanity checks. > 7. support external routine (written in C language). Yes, this you can do, but you are limited in the complexity of the C you want to link in. You can not link in any C code which relies on the C startup code, as Clarion itself already has C startup code, and you can immagine the confusion that will reign if you have two run-times running. However, it is my experience that just about everything can be written in Clarion's language. I have linked in an external module which I use to serialise copies of my program, and it works well. I initially had a problem when using Microsoft C, but when converting to Turbo C (which is what Clarion was written in after all), I had no problems. Another work-around is to get the compiler to generate the assembler instructions for your C, and then remove all the "obnoxious" run-time stuff. A long way around the problem, but it works :-) > 8. produce .EXE file. Yes, Clarion produces EXE files without a hitch. This is how I distribute my application. You can also distribute applications in Clarions's compiled format and provide the Clarion run-time module, but producing EXEs makes the application faster. > 9. multiple index files and automatic update. This is what makes Clarion so fast. All files can have multiple indices and keys, and these keys/indices can be composite keys, IE use multiple fields for the key value. The way Clarion differentiates between an INDEX and a KEY is thus: An index if automatically updated every time you add a record. A key file must be built using the BUILD command. This gives you control of the index generation. > Kent Hioe > khioe@mona.jpl.nasa.gov I hope this answers your questions. I will be posting this to the net as well, as I'm sure it will answer others user's questions as well. Regards, -- Kean Johnston: wiz@wiznet.UUCP Bang: ..!ddsw1!olsa99!tabbs!wiznet!wiz "I think, therefore I am" - Rene Descartes