Jeg skal blive færdig med det her i dag, og har lidt problemer med at få det at virke med færøske (danske) bogstaver. Jeg har fået færøske bogstaver at virke ved udtag fra DB, men når jeg skriver i tekstfeltet, får jeg mærkelige tegn når jeg skriver færøske bogstaver.
Er der nogen der har erfaring med dette og/eller kan hjælpe mig med dette problem asap? Giver 200 points, siden det haster så meget..
lidt forklaring om layout/ord på siden - dette er irrelevant til selve opgaven, men lidt information for at vide hvad der sker, når man tester: - Vegnavn = Vejnavn - Uppskot = Forslag - Efter "Uppskot" kan man se et tal, som så er hvor mange tegn du har skrevet i tekstfeltet (kommer kun til at stå der i test-fasen - indtil problemet med færøske bogstaver er løst) - longd = længde (dette er længden af felt-værdien i DB - også kun i testfasen) - vegur = vej - x/y = koordinater
ud af al desperation er jeg kommet frem til en løsning sådan her:
Function EncodeChars(myString) Dim intI Dim tmpA
For intI = 1 To Len(myString) If (Asc(Mid(myString, intI, 1)) = 195) Then If (Asc(Mid(myString, intI + 1, 1)) = 184) Then myString = Left(myString, intI - 1) & "ø" & Right(myString, Len(myString) - intI) End If End If tmpA = tmpA & Asc(Mid(myString, intI, 1)) & "," Next
EncodeChars = tmpA End Function
problemet er bare at den ikke virker helt fuldstændigt.. Jeg har fået den til at erstatte Chr(195) med Chr(248) når man skriver "ø", men det efterfølgende Chr(184) bliver ved med at være der. Nogen der har nogle forslag?
Function EncodeChars(myString) Dim intI Dim tmpA tmpA = myString For intI = 1 To Len(myString) If (Asc(Mid(myString, intI, 1)) = 195) Then If (Asc(Mid(myString, intI + 1, 1)) = 161) Then tmpA = Left(myString, intI - 1) & "á" & Right(myString, (Len(myString) - (intI + 1))) ElseIf (Asc(Mid(myString, intI + 1, 1)) = 129) Then tmpA = Left(myString, intI - 1) & "Á" & Right(myString, (Len(myString) - (intI + 1))) ElseIf (Asc(Mid(myString, intI + 1, 1)) = 176) Then tmpA = Left(myString, intI - 1) & "ð" & Right(myString, (Len(myString) - (intI + 1))) ElseIf (Asc(Mid(myString, intI + 1, 1)) = 144) Then tmpA = Left(myString, intI - 1) & "Ð" & Right(myString, (Len(myString) - (intI + 1))) ElseIf (Asc(Mid(myString, intI + 1, 1)) = 173) Then tmpA = Left(myString, intI - 1) & "í" & Right(myString, (Len(myString) - (intI + 1))) ElseIf (Asc(Mid(myString, intI + 1, 1)) = 141) Then tmpA = Left(myString, intI - 1) & "Í" & Right(myString, (Len(myString) - (intI + 1))) ElseIf (Asc(Mid(myString, intI + 1, 1)) = 179) Then tmpA = Left(myString, intI - 1) & "ó" & Right(myString, (Len(myString) - (intI + 1))) ElseIf (Asc(Mid(myString, intI + 1, 1)) = 147) Then tmpA = Left(myString, intI - 1) & "Ó" & Right(myString, (Len(myString) - (intI + 1))) ElseIf (Asc(Mid(myString, intI + 1, 1)) = 186) Then tmpA = Left(myString, intI - 1) & "ú" & Right(myString, (Len(myString) - (intI + 1))) ElseIf (Asc(Mid(myString, intI + 1, 1)) = 154) Then tmpA = Left(myString, intI - 1) & "Ú" & Right(myString, (Len(myString) - (intI + 1))) ElseIf (Asc(Mid(myString, intI + 1, 1)) = 189) Then tmpA = Left(myString, intI - 1) & "ý" & Right(myString, (Len(myString) - (intI + 1))) ElseIf (Asc(Mid(myString, intI + 1, 1)) = 157) Then tmpA = Left(myString, intI - 1) & "Ý" & Right(myString, (Len(myString) - (intI + 1))) ElseIf (Asc(Mid(myString, intI + 1, 1)) = 166) Then tmpA = Left(myString, intI - 1) & "æ" & Right(myString, (Len(myString) - (intI + 1))) ElseIf (Asc(Mid(myString, intI + 1, 1)) = 134) Then tmpA = Left(myString, intI - 1) & "Æ" & Right(myString, (Len(myString) - (intI + 1))) ElseIf (Asc(Mid(myString, intI + 1, 1)) = 184) Then tmpA = Left(myString, intI - 1) & "ø" & Right(myString, (Len(myString) - (intI + 1))) ElseIf (Asc(Mid(myString, intI + 1, 1)) = 152) Then tmpA = Left(myString, intI - 1) & "Ø" & Right(myString, (Len(myString) - (intI + 1))) End If End If Next
EncodeChars = tmpA End Function
mit eneste problem er at jeg ved ikke hvordan jeg kan tjekke for flere færøske bogstaver i navnet. Hvis man fx skriver æ, bliver det encodet rigtigt, men hvis jeg skriver æø, bliver det til æø..
løste problemet ved at smide en Exit For ind i hver If blok of bruge en Do While .. Loop rundt om For .. Next loopet
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.