Hej Stefan
> hvordan kan jeg konverterer data fra en ComminDialog til HEX ? (jeg skal
> konverterer den valgte farve fra en CommonDialog om til en HEX kode så man
> kan bruge HEX koden til at lave hjemmeside med.
> (jeg er begynder inden for dette område så jeg ville være meget glad hvis
I
> kan fortælle mig hvad der er galt med min kode, eller skrive en ny til
mig,
> hvis I gider
> Min kode ser sådan ud :
>
> Private Sub Command1_Click()
> CommonDialog1.Flags = 2
> CommonDialog1.ShowColor
> Text1.Text = "#" & Hex(CommonDialog1.Color)
> Picture1.BackColor = CommonDialog1.Color
> End Sub
Problemet med din kode er at du konverterer den long værdi du får fra
Commondialog til en Hex værdi.. Som du sikkert ved består en farvekode af
tre sæt hex værdier. At lave en long værdi om til en Hex værdi er altså ikke
nok.. Det du skal gøre er at dele Long værdien fra commondialog op i tre
værdier (fra 0 til 255) og derfra konvertere disse tre via Hex kommandoen
til en hex værdi. Her er noget kode jeg har taget fra min hjemmeside:
Public Function gfnLongToRGBString(lColor As Long) As String
iRed = lColor Mod 256
iGreen = ((lColor And &HFF00) / 256&) Mod 256&
iBlue = (lColor And &HFF0000) / 65536
gfnLongToRGBString = Hex$(iRed) & Hex$(iGreen) & Hex$(iBlue)
End Function
Funktionen bruges således:
Dim sHEXCode As String
sHEXCode = gfnLongToRGBString(CommonDialog1.Color)
Hilsen/Best regards
Kim Pedersen, vbCode Magician Host
http://hjem.get2net.dk/vcoders/cm
ICQ: 62990889