<code>If Not Left(Text1.Text, 1) = "#" Then Ja, är det nått problem med den? Jag tar det från början istället:Lägga in # i början av sträng
Text1.Text = "#" & Text1.Text
End If</code>
Denna koden ska väl lägga till en # i början av strängen om den inte innehåller det från början?Sv: Lägga in # i början av sträng
Den funkar iaf här hos mig.
/MickeSv: Lägga in # i början av sträng
Jag har en textbox där man kan skriva in en hexadecimal färgkod (t.ex. #FFFFFF), som jag, om det är 7 tecken långt, ska dela upp i röd, grön och blå decimal kod. Att förhindra att man skriver in annat än hexadecimala värden har jag löst med följande kod:<code>Private Sub txtHex_KeyPress(KeyAscii As Integer)
Select Case KeyAscii
Case 46
Case 8 'För att tillåta Backspace
Case 13 ' För att tillåta retur
Case Asc("0") To Asc("9") ' För att tillåta 0 - 9
Case Asc("A") To Asc("F") ' För att tillåta stora A - F
Case Asc("a") To Asc("f") ' För att tillåta små a - f
KeyAscii = KeyAscii - 32 ' Gör om alla små till stora
Case Else
KeyAscii = 0
End Select
End Sub</code>Vad som händer om man skriver in ett extra tecken, alltså försöker mata in ett åttonde tecken, så hamnar markören längst till vänster och lägger på det tecknet där, och tar bort det sista tecknet istället. Jag vill alltså behålla formatet (#XXXXXX) vad jag än skriver in. Jag vet inte riktigt hur man ska lösa detta.