× 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.



There are two solutions, and RPG solution that uses an MI instruction to
convert data to hex, something like this unfinished thing I just hacked
together (see below)... and a much simpler solution which I'm testing at
the moment... I'll post it if it works but it should be only one line of
Calc's and a prototype if it works.

     D RGB             PR            12A
     D m_Red                          5I 0 Const

     D m_Green                        5I 0 Const

     D m_Blue                         5I 0 Const


     P RGB             B                   Export

     D RGB             PI            12A
     D m_Red                          5I 0 Const

     D m_Green                        5I 0 Const

     D m_Blue                         5I 0 Const

     D* ** TODO: Insert local variables here             ** */
     D CvtToHex        PR                  extproc('cvthc')
     D  szChars                       2A   Const
     D  szHexChar                     4A
     D  l_rtnvalue     S             12A
     D  hxRed          S              4A
     D  hxGreen        S              4A
     D  hxBlue         S              4A
     D Colors          DS
     D  szRed                         2A
     D  nRed                          5I 0 Overlay(szRed)

     D  szGreen                       2A
     D  nGreen                        5I 0 Overlay(szGreen)
     D  szBlue                        2A
     D  nBlue                         5I 0  Overlay(szBlue)

     /* *************************************************** */
     /* **  CodeStudio ProcWizard generated procedure       */
     C* **  Created: 01 Sep 2001
     **  This converts '123' to 'F1F2F3'
     C                   CallP     CvtToHex(szRed   : hxRed   : 4)
     C                   CallP     CvtToHex(szGreen : hxGreen : 4)
     C                   CallP     CvtToHex(szBlue  : hxBlue  : 4)
     C                   MoveL     '  '          hxRed
     C                   MoveL     '  '          hxGreen
     C                   MoveL     '  '          hxBlue
     C                   return    l_RtnValue
     P RGB             E

Bob Cozzi
cozzi@rpgiv.com
Visit the new on-line iSeries Forums at: http://www.rpgiv.com/forum

> -----Original Message-----
> From: rpg400-l-admin@midrange.com [mailto:rpg400-l-admin@midrange.com]
On
> Behalf Of Reeve Fritchman
> Sent: Saturday, September 01, 2001 12:29 PM
> To: rpg400-l@midrange.com
> Subject: RE: Hex in RPG
>
> Use the OVERLAY keyword (or a data structure, or a pointer).  I think
you'll
> define a number as "U" (unsigned) or "B" (binary) and overlay the
rightmost
> character with a character DS.  When you move the number 128 into the
> numeric field, the data structure addresses the same memory location
and
> sees x'80'.
>
> I'm sure somebody else will offer an elegant solution to this problem.
But
> this doesn't require API's, and I might be completely off-base.
>
> -----Original Message-----
> From: rpg400-l-admin@midrange.com
[mailto:rpg400-l-admin@midrange.com]On
> Behalf Of booth@MartinVT.com
> Sent: Saturday, September 01, 2001 12:34 PM
> To: rpg400-l@midrange.com
> Subject: RE: Hex in RPG
>
> This is a multipart message in MIME format.
> --
> [ Picked text/plain from multipart/alternative ]
> How would I do the same chore if the value to convert is a variable
number
> from 0 to 255?
>
> What I want to do is to make a color value in hex from any base10
numeric
> color value.  Color values are {red:blue:green} = {(0 to 255):(0 to
> 255):(0to255)} =  {(00 to ff):(00 to ff):(00 to ff)}
>
> For example I'd like to convert '255:255:255'  to 'ff:ff:ff'
>
> ------------------------------------------------
> Booth Martin
> Booth@MartinVT.com
> http://www.MartinVT.com
> -----------------------------------------------
>
>
>
>
> "Reeve Fritchman" <reeve@ltl400.com>
> Sent by: rpg400-l-admin@midrange.com
> 09/01/2001 10:56 AM
> Please respond to rpg400-l
>
>
>         To:     <rpg400-l@midrange.com>
>         cc:
>         Subject:        RE: Hex in RPG
>
>
> In you "D" spec, do INZ(x'15') or INZ(x'0D0A').  You can also do
something
> line EVAL OUTPUT=%TRIMR(TEXT1) + x'15' + $TEXT2
>
> -----Original Message-----
> From: rpg400-l-admin@midrange.com
[mailto:rpg400-l-admin@midrange.com]On
> Behalf Of Arlene_M_Soderlund/NFCNA.COM@NFCNA.COM
> Sent: Friday, August 31, 2001 2:20 PM
> To: rpg400-l@midrange.com
> Subject: Hex in RPG
>
>
> How do you code field or a line of code  that contains --  a hex 15
> (X'15')
> or hex 0D0A (x'0D0A') in a RPGLE V4R4 program.
>
>
> Thanks
>
> Arlene
> _______________________________________________
> This is the RPG programming on the AS400 / iSeries (RPG400-L) mailing
list
> To post a message email: RPG400-L@midrange.com
> To subscribe, unsubscribe, or change list options,
> visit: http://lists.midrange.com/cgi-bin/listinfo/rpg400-l
> or email: RPG400-L-request@midrange.com
> Before posting, please take a moment to review the archives
> at http://archive.midrange.com/rpg400-l.
>
> _______________________________________________
> This is the RPG programming on the AS400 / iSeries (RPG400-L) mailing
list
> To post a message email: RPG400-L@midrange.com
> To subscribe, unsubscribe, or change list options,
> visit: http://lists.midrange.com/cgi-bin/listinfo/rpg400-l
> or email: RPG400-L-request@midrange.com
> 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.