|
Thanks To Ron and Pete for Your input. I will try a few things with the information you guys have given me. Have a happy New Year. Wayne Achenbaum ----- Original Message ----- From: Ron Hawkins <hwarangron@home.com> To: <MIDRANGE-L@midrange.com> Sent: Thursday, December 30, 1999 6:33 PM Subject: RE: Procedure Problem > this is the way I did it: > > P Centerfld B export > d CenterFld PI 32766 opdesc > d FieldToCtr 32766 options(*varsize) > > *-----------------------------------------------------------------* > * Prototype for CEEDOD (Retrieve operational descriptor) > *----------------------------------------------------------------- > D CEEDOD PR > D ParmNum 10I 0 CONST > D 10I 0 > D 10I 0 > D 10I 0 > D 10I 0 > D 10I 0 > D 12A OPTIONS(*OMIT) > C CALLP CEEDOD(1 :DescType:DataType: > C DescInfo1 : DescInfo2: Inlen: > C *OMIT) > c eval X = InLen > > the calling program could do this: > > c eval Field40 = CenterFld(Field40) > > HTH > Ron > > -----Original Message----- > From: owner-midrange-l@midrange.com > [mailto:owner-midrange-l@midrange.com]On Behalf Of Wayne Achenbaum > Sent: Thursday, December 30, 1999 1:11 PM > To: MIDRANGE-L@midrange.com > Subject: Procedure Problem > > > I have been watching the debate on the correct way to code the centering > procedure. I also can't seem to get it to work the way that I want to. What > I would like to accomplish is, to allow a caller to use the following code. > > *--------------------------------------------------------------------* > * Calling Module > * > *--------------------------------------------------------------------* > C eval Ctrfld = $Center(Entryfld) > > The problem I am trying to overcome is that I want the calling module to be > oblivious to size and not have to know about defining a varying size > variable to center. I tried all the permeatations that I could conceive of. > My module does not compile with Entryfld defined as 50a. > > Can Anyone help with the definition of the field as parameter 1? I tried > Const (*varsize) that didn't work. How can I overcome the parameter type > mismatch if at all. TIA > > > The Following is a snip from a string utility service Program that works as > long as the parameter is some variable of any size up to and icluding size > 256 that is of type varying. > > *--------------------------------------------------------------------* > * Prototype for $Center procedure > * > *--------------------------------------------------------------------* > d $Center PR 256a varying > > d InputData 256a Varying Options(*Varsize) > > *--------------------------------------------------------------------* > * $Center procedure > * > *--------------------------------------------------------------------* > p $Center B Export > * > d $Center PI 256a Varying > d Field_In 256a Varying Options(*Varsize) > * > d Half s 3s 0 > d Len s 3s 0 > d Size_In s 3s 0 > d Start s 3s 0 > d Field_Out s 256a > * > c ' ' Checkr(E) Field_In Len > c Eval Size_In = %Len(Field_In) > * > c If %Found > c Eval Half = %Div(Len:2) > c Eval Start = (((Size_In) /2) > c +1) - Half > c eval %Subst(Field_Out : Start : Len) = > c %subst(Field_In : 1 : Len) > c Return Field_Out > * > c Else > * > c Return Field_In > c EndIf > * > p $Center E > > +--- > | This is the Midrange System Mailing List! > | To submit a new message, send your mail to MIDRANGE-L@midrange.com. > | To subscribe to this list send email to MIDRANGE-L-SUB@midrange.com. > | To unsubscribe from this list send email to MIDRANGE-L-UNSUB@midrange.com. > | Questions should be directed to the list owner/operator: > david@midrange.com > +--- > > +--- > | This is the Midrange System Mailing List! > | To submit a new message, send your mail to MIDRANGE-L@midrange.com. > | To subscribe to this list send email to MIDRANGE-L-SUB@midrange.com. > | To unsubscribe from this list send email to MIDRANGE-L-UNSUB@midrange.com. > | Questions should be directed to the list owner/operator: david@midrange.com > +--- +--- | This is the Midrange System Mailing List! | To submit a new message, send your mail to MIDRANGE-L@midrange.com. | To subscribe to this list send email to MIDRANGE-L-SUB@midrange.com. | To unsubscribe from this list send email to MIDRANGE-L-UNSUB@midrange.com. | Questions should be directed to the list owner/operator: david@midrange.com +---
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2025 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].
Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.