Hur gör man för att ta reda på vilken toppdomän som ett domännamn har i en sträng? Läs tecken för tecken bakifrån tills du kommer till en punkt. Så här: Just ja, glömde att for-loopar inte funkar på samma sätt i basic... vi måste stoppa in: Eller varför inte så här: Åhå, finns det såna nymodigheter nuförtiden... Vi får skylla på att du ärr C++ mäniska. Ska du göra en for sats så skriver du ju: C-människa, faktiskt. C++ kan jag inte så mycket. For-loopen hade sett ut så här i C:Toppdomän ur sträng?
Om jag exempelvis har jag.com så vill jag ta fram "com" osv.
Tack.Sv: Toppdomän ur sträng?
<code>
host = "www.test.com"
top = ""
loopVar = len(host)
while loopVar > 0
c = mid(host, loopVar, 1)
if c = "." then
break
end if
top = top + c
wend
</code>
Att vända på "top" lämnar vi som en övning åt läsaren ;-)Sv: Toppdomän ur sträng?
loopVar = loopVar - 1
också, före wend.Sv: Toppdomän ur sträng?
<code>
Dim host 'as String
host = "www.test.com"
Dim lastDotPos 'as Integer
'Hitta positionen för den sista . (punkten)
lastDotPos = instrRev(host,".")
Dim strDomain 'as String
strDomain = mid(host, lastDotPos + 1)
'strDomain innehåller nu värdet com
</code>
//PutteSv: Toppdomän ur sträng?
// Thomas - som slutade programmera Basic för tio år sen.Sv: Toppdomän ur sträng?
<code>
Dim strTop
Dim strHost
Dim lngIndex
strHost = "www.test.com"
For lngIndex = len(strHost) To 1 Step -1
If Mid(strHost, lngIndex, 1) = "." Then
strTop = Mid(strHost, lngIndex + 1)
End If
Next
</code>
Men i vilket fall är InStrRev() funktionen snabbare.Sv: Toppdomän ur sträng?
for (i = strlen(host); i > 0; i--)