I'll defend ON GOSUB here. I inherit a ton of prior code and can see the value in maint programs. If each field on the screen is labeled 10, 20, 30 and within that section there is a closing statement before the RETURN labeled 15 PRINT @(x,y):REC<1>:, then I've enjoyed have the NEW record cycler be
FOR I=1 TO 5 ON I GOSUB 10,20,30,40,50 NEXT I and the print of the record be: FOR I=1 TO 5 ON I GOSUB 15,25,35,45,55 NEXT I At the Change Which Line, it's a repeat of the 10,20,30 sequence. I don't care for worded labels in ON GOSUB as it's hard to read with the commas and a lot of worded labels have periods which is also confusing. Likewise for called sub parameter strings. Put a space after each command and the variables come to life. My 1 cent ----- Original Message ----- From: "Perry Taylor" <[EMAIL PROTECTED]> To: <[email protected]> Sent: Wednesday, July 25, 2007 2:52 PM Subject: RE: [U2] [u2] : Cleaner Case Statement > Someone want to explain to me why ON GOSUB is baaaadd ? > > > -----Original Message----- > From: [EMAIL PROTECTED] > [mailto:[EMAIL PROTECTED] On Behalf Of Karen Bessel > Sent: Wednesday, July 25, 2007 1:06 PM > To: [email protected] > Subject: RE: [U2] [u2] : Cleaner Case Statement > > ON GOSUB......Baddddddddddddd. Bill, that is a bad coding practice - > don't go there. > > > -----Original Message----- > From: [EMAIL PROTECTED] > [mailto:[EMAIL PROTECTED] On Behalf Of Manu Fernandes > Sent: Wednesday, July 25, 2007 12:44 PM > To: [email protected] > Subject: Re: [U2] [u2] : Cleaner Case Statement > > Try this > > ON index('AB2',Ans,1) GOSUB Check.A, Check.B, Check.B > > Manu > ----- Original Message ----- > From: "Brutzman, Bill" <[EMAIL PROTECTED]> > To: <[email protected]> > Sent: Wednesday, July 25, 2007 5:48 PM > Subject: [U2] [u2] : Cleaner Case Statement > > > > How can this structure be cleaned-up? > > > > begin case > > case Ans = 'A' ; gosub Check.A > > case Ans = 'B' ; gosub Check.B > > case Ans = '2' ; gosub Check.B > > end case > > > > The following is more difficult to read. > > > > begin case > > case Ans = 'A' ; gosub Check.A > > case Ans = 'B' or Ans = '2' ; gosub Check.B > > end case > > > > I would like something like... > > > > begin case > > case Ans = 'A' ; gosub Check.A > > case Ans = 'B' > > case Ans = '2' ; gosub Check.B > > end case > > > > so that the "gosub Check.B" command is not repeated. I have tried a > few > > alternatives without a victory. > > > > Suggestions would be appreciated. > > > > --Bill > > ------- > > u2-users mailing list > > [email protected] > > To unsubscribe please visit http://listserver.u2ug.org/ > ------- > u2-users mailing list > [email protected] > To unsubscribe please visit http://listserver.u2ug.org/ > ------- > u2-users mailing list > [email protected] > To unsubscribe please visit http://listserver.u2ug.org/ > > CONFIDENTIALITY NOTICE: This e-mail message, including any attachments, is for the sole use of the intended recipient(s) and may contain confidential and privileged information. Any unauthorized review, use, disclosure or distribution is prohibited. ZirMed, Inc. has strict policies regarding the content of e-mail communications, specifically Protected Health Information, any communications containing such material will be returned to the originating party with such advisement noted. If you are not the intended recipient, please contact the sender by reply e-mail and destroy all copies of the original message. > ------- > u2-users mailing list > [email protected] > To unsubscribe please visit http://listserver.u2ug.org/ ------- u2-users mailing list [email protected] To unsubscribe please visit http://listserver.u2ug.org/
