Path: utzoo!utgpu!water!watmath!clyde!cbosgd!ucbvax!ISUMVS.BITNET!GG.UUU From: GG.UUU@ISUMVS.BITNET ("John Hascall") Newsgroups: comp.os.vms Subject: RE: Making qualifiers (for DCL command procedures) Message-ID: <8712180419.AA21839@ucbvax.Berkeley.EDU> Date: 17 Dec 87 15:51:06 GMT Sender: daemon@ucbvax.BERKELEY.EDU Distribution: world Organization: The ARPA Internet Lines: 52 > From: Skule Johansen> Subject: Making Qualifiers. > > I want to use qualifiers in some command procedures. > But there seems to be a loss of documentation about > this topic. So I hope for information through the net. > > Can anyone send me some information about how to do > qualifiers for command procedures (*.COM). I'm pleased > if you also send an short example. > > Example for use : > > $ Delete/Confirm > > where '/confirm' are the qualifier. I'm assuming that you are using a foreign command for "Delete" to point it to the appropriate command procedure. The problem is DCL doesn't like constructs like: @delete.com /whatever (It complains about "/whatever" not being a valid qualifier for the "@" command.) The way we get around this is with something like: $ delete :== @disk:[dir]delete.com dummy Then you can do things like: $ delete /confirm because they expand to: $ @disk:[dir]delete.com dummy/comfirm which DCL does not complain about. Then you have to parse the parameter(s) (named p1, p2,... p8) in the command procedure. Probably the easiest method is to first concatenate them all together: $ options := "''p1' ''p2' ''p3' ''p4' ''p5' ''p6' ''p7' ''p8'" and then use the various lexical functions to extract the "dummy" and parse the qualifiers. Hope this is some help, John Hascall Iowa State University Computation Center GGUUU@ISUMVS.BITNET (p.s. My apologies if my use of quotes in the line "$ options :=..." is incorrect--I'm not on a VAX at the moment to try it out.)