Dos funciones útiles para programadores Web. Le permiten convertir colores
RGB a colores HTML. La primera de ellas se adaptó de una función expuesta
por Luis María Guayán en PortalFox.
Uso:
? GetHtmlColor( ThisForm.BackColor )
Function GetHtmlColor( nColor )
**************************
Local cHTMLColor, i, cTemp
Store "" To m.cHTMLColor, m.cTemp
For i = 1 To 3
m.cTemp = DecToHex( Val( Transform( nColor % 256, "999" )))
m.nColor= Int( m.nColor / 256 )
m.cHtmlColor = m.cHtmlColor + m.cTemp
EndFor
Return "#" + m.cHtmlColor
EndFunc
Function DecToHex( nRgbPart )
**************************
Local cChar, cAdd, nResult1, nResult2
Store "" To m.cChar, m.cAdd
If m.nRgbPart < 16
If m.nRgbPart > 9
m.cChar = Chr( 65 + ( m.nRgbPart - 10))
Else
m.cChar = Alltrim( Transform( m.nRgbPart ))
EndIf
Else
Do While .T.
m.cAdd = ""
m.nResult1 = Mod( m.nRgbPart, 16 )
m.nResult2 = Int( m.nRgbPart / 16 )
m.nRgbPart = m.nRgbPart - ( m.nResult2 * 16 )
If m.nResult2 > 9
m.cAdd = Chr( 65 + ( m.nResult2 - 10 ))
Else
m.cAdd = Alltrim( Transform( m.nResult2 ))
EndIf
m.cChar = m.cAdd + m.cChar
If m.nResult1 < 16
If m.nResult1 > 9
m.cAdd = Chr( 65 + ( m.nResult1 - 10 ))
Else
m.cAdd = Alltrim( Transform( m.nResult1 ))
EndIf
m.cChar = m.cChar + m.cAdd
Exit
EndIf
EndDo
EndIf
Return m.cChar
EndFunc
Cordial saludo,
Jorge Pérez
Leer las respuestas