× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.



Dow 1 = 1 ;  //for example.

----- Original Message -----
From: <antoine.contal@xxxxxxx>
To: "RPG programming on the AS400 / iSeries" <rpg400-l@xxxxxxxxxxxx>
Sent: Tuesday, February 01, 2005 11:26 AM
Subject: Re: Suggested Technique


>
>
>
>
> BTW, what is the free format equivalent to "do *hival"?
>
> Regards.
>
> --
> Antoine CONTAL
>
>
>
> Hi Alan,
>
> <snip>
> There are some brilliant programmers here, however, who advocate avoiding
> use of the "iter" and "leave" op-codes. I find it hard to avoid using them
> myself, but am still open on that issue.
> </snip>
>
> Now there's a statement! :-)
>
> I would be VERY interested to hear the reasons why LEAVE and ITER have
> entered the "Hall of Shame" along with CABxx and GOTO.
>
> Personally, I find them very useful and would need a very, very hard sell
to
> convince me to stop using them. They do not preclude well structured code,
> they have definite branching end-points, and they do not make code less
> readable to a developer: All long-standing accusations levelled at CABxx
and
> GOTO.
>
> For example - a classic screen loop:
>
> // Display screen...
> do *hival
>
> exfmt screen
>
> // If user presses F3, leave screen loop...
> if F3_pressed
> leave
> endif
>
> // Validate user input...
> validateInput()
>
> // If user enters invalid data, re-display screen, displaying error
> message...
> if userEntersInvalidData
> iter
> endif
>
> // If user elects to update current valid data, update and leave screen...
> if F8_update
> updateData()
> leave
> endif
>
> enddo
>
>
> For me this code is simple - you can only leave the screen if you press F3
> or update valid data. How do I know??? There's only two ways to leave the
> screen - via the two LEAVE op-codes. If the code goes beyond the enddo
then
> F3 or F8 MUST have been pressed. In the case of F8, valid data MUST have
> been entered. If the user enters invalid data then I force a re-display of
> the screen (ITER) before any update code is reached - this forms a nice
code
> buffer, beyond which I am assured that the input data is valid.
>
> I also prefer using "do *hival" because I do not want any "implicit" exits
> of the loop. I want to see the exit strategy EXPLICITLY coded within the
> screen loop. My time is more precious than the CPU cycle time. If I can
> read/modify the code faster because there are large marker flags in front
of
> me then my company saves money. It's the old adage - KISS!
>
> Just my preference.
>
> Cheers
>
> Larry Ducie
>
>
>
> Les informations contenues dans ce message sont confidentielles et peuvent
constituer des informations privilegiees. Si vous n etes pas le destinataire
de ce message, il vous est interdit de le copier, de le faire suivre, de le
divulguer ou d en utiliser tout ou partie. Si vous avez recu ce message par
erreur, merci de le supprimer de votre systeme, ainsi que toutes ses copies,
et d en avertir immediatement l expediteur par message de retour.
> Il est impossible de garantir que les communications par messagerie
electronique arrivent en temps utile, sont securisees ou denuees de toute
erreur ou virus. En consequence, l expediteur n accepte aucune
responsabilite du fait des erreurs ou omissions qui pourraient en resulter.
> --- ----------------------------------------------------- ---
> The information contained in this e-mail is confidential. It may also be
legally privileged. If you are not the addressee you may not copy, forward,
disclose or use any part of it. If you have received this message in error,
please delete it and all copies from your system and notify the sender
immediately by return e-mail.
> E-mail communications cannot be guaranteed to be timely secure, error or
virus-free. The sender does not accept liability for any errors or omissions
which arise as a result.
> $!4$!
>
> --
> This is the RPG programming on the AS400 / iSeries (RPG400-L) mailing list
> To post a message email: RPG400-L@xxxxxxxxxxxx
> To subscribe, unsubscribe, or change list options,
> visit: http://lists.midrange.com/mailman/listinfo/rpg400-l
> or email: RPG400-L-request@xxxxxxxxxxxx
> Before posting, please take a moment to review the archives
> at http://archive.midrange.com/rpg400-l.
>
>


As an Amazon Associate we earn from qualifying purchases.

This thread ...

Replies:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2024 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.