home *** CD-ROM | disk | FTP | other *** search
- Path: sparky!uunet!ukma!asuvax!ncar!noao!amethyst!organpipe.uug.arizona.edu!!vance
- From: vance@lpl.arizona.edu (Vance Haemmerle x4021)
- Newsgroups: comp.os.vms
- Subject: Re: VAX FORTRAN
- Message-ID: <1993Jan28.225302.3767@organpipe.uug.arizona.edu>
- Date: 28 Jan 93 22:53:02 GMT
- References: <1k7gdaINNn40@gap.caltech.edu> <1993Jan27.225851.1@slacvx.slac.stanford.edu> <1k8ennINN52q@gap.caltech.edu>
- Sender: vance@lpl.arizona.edu
- Distribution: world,local
- Organization: Lunar & Planetary Laboratory, Tucson AZ.
- Lines: 31
-
- In article <1k8ennINN52q@gap.caltech.edu> carl@SOL1.GPS.CALTECH.EDU writes:
- >Well, Ken, there's a problem here. You see, SYS$SNDJBC[W] wants, as some of its
- >arguments, pointers to arrrays containing filename, form name, and queue name.
- >It does *NOT* want descriptors for these. That means that the arguments have
- >to be the addresses of arrays, not the addresses of descriptors. Now, since I
- >was posting from home without benefit of manuals, I had to rely on my memory,
- >and I couldn't for the life of me remember how to get the dsc$a_pointer field
- >out of a VAX FORTRAM character string descriptor (nor could I remember how to
- >use a WRITE statement to copy the contents of a string into a BYTE array). So
- >I initialized the arrays the best way I could remember.
-
- You can use the built-in %REF() function to pass the address of a
- character in FORTRAN. (In case anyone was wondering).
-
- Example:
-
-
- CHARACTER*80 LINE, HFILE
- .
- .
- .
- C Replace unprintable characters with '.' using SYS$FAO
- CALL SYS$FAO('!AF',LEN,HFILE,%VAL(80),%REF(LINE))
- ^^^^^^^^^^ address of character
- string
-
- --
- Vance Haemmerle vance@arizona.edu
- Support Systems Analyst, Senior vance%toyvax@arizona.edu
- Lunar & Planetary Lab vance@alumni.caltech.edu
- University of Arizona
-