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