Peck@RADC-MULTICS.ARPA (Rodney) (08/07/87)
Errors-To: info-vax-request@kl.sri.com FORMS AND SMG routines... The original question was: > I'm writing a database type program which has to change data and the >users would like to see "forms" that they can fill in on the screen as >opposed to some sort of line by line typing thing. > As I go thru the SMG routines in the programming support manual, I >see lots of warnings about smg$read_composed_line and smg$read_string >only working if the virtual display is pasted to the first column and >there is nothing to its right. > Obviously, these aren't made to fill in forms.. What call should I >use? I'm working with strings, reals, and integers from VAX Fortran and >writing an indexed file from the data. (That's not terribly useful to >you, but I'm trying to straighten my head out..) Over the past few weeks, I've received many useful replies. Here's my promised summary: ----- SELECTED REPLIES: ----- From: Mark H. Granoff <mhg at MITRE-BEDFORD> You can use FMS (Forms Management System) which supports the full range of video "stuff". FMS is callable from Datatrieve (I think), as well as from within languages (I think, again). Using SMG would be the hard way of doing it...you'll spend more time trying to input data (from the right location on the screen) than anything else. FMS version 2.3 is a layered product. You can read about it in the Software Product Descriptions, number 26.10.10. ---- From: Patrick Healy <healy%canisius.csnet at RELAY.CS.NET> I suggest you try the FMS routines (if you have them). They handle all output and input to and from the screen. We use them here for everything. ----- From: Simen Gaure <x_gaure_s%use.uio.uninett at TOR.NTA.NO> ... Use the SMG$READ_VERIFY routine, it has some complicated arguments but when used correctly you can have automatic verification of the data entered and right-/left- justified fields as you like. Prepare to read I/O ref. man. part 1, section 8.4.1.4 and table 8-8. If you have FMS (Forms Management System) available, I would suggest you consider to use it. FMS provides much flexibility on designing and using forms. It is directly callable from DATATRIEVE and any native VAX/VMS language. However, I think FMS' call interface is hard to use compared to SMG. ----- From: UW <wizard at RITA.ACS.WASHINGTON.EDU> As I understand it, the restriction of having the display pasted to column 1 has to do with making redrawing the line simpler. The read conposed line procedure allows the user to use the line editing functions to recall previous strings. (This may be slightly inaccurate.) Anyway, the read_composed_line procedure DOESN'T KNOW about the virtual display -- it merely deals with a particular line on the screen. Thus, the line must originate as far left as it can, in column 1, and there can be no data to the right of the virtual display, or it will be "lost" on screen. ----- From: Thomas_R._Blake <TBLAKE%BINGVAXA.BITNET at WISCVM.WISC.EDU> When put in a similar situation, I decided that the SMG routines didn't serve my purposes, so I wrote some Pascal routines for field entry. This is not an offer to ship these routines all over the world, they were, (dare I say it), hack code, and I'm want to re-write them propperly before other people read them. In any case, I used QIOW for key input, and worte the characters on the screen, and moved about the cursor using SMG routines, so that the application could be used on different sorts of terminals. ... A second note, have you looked into VAX FMS (Forms Management System)? I've written one application using the FMS stuff, and it may be what you're looking for, (except if you want portability). FMS only works on VT100 compatibles. ----- From: Philip_Young.XSISHQ at XEROX.COM I believe the preferred DEC product for the manipulation of forms is TDMS. It makes use of the Common Data Dictionary, is supported by Datatrieve, and maintains the independence of the data and the terminal. ---------------- So... it looks like several votes for FMS, one for roll-your-own, and one for TDMS. I don't have FMS, but it does sound like exactly what I'm looking for. Thanks for your collective expertise, Rodney -- Rodney Peck Rodney Peck "ICSSM?? Ick." Peck@Radc-Multics.Arpa RADC/DCLT -------------- (315) 330-4567 Griffiss AFB 13441