Snitz Forums 2000
Snitz Forums 2000
Home | Profile | Register | Active Topics | Members | Search | FAQ
Username:
Password:
Save Password
Forgot your Password?

 All Forums
 Help Groups for Snitz Forums 2000 Users
 Help: MOD Implementation
 Hopefully a Little Help with my TitleCase Function
 New Topic  Reply to Topic
 Printer Friendly
Author  Topic Next Topic  

bobby131313
Senior Member

USA
1163 Posts

Posted - 24 May 2020 :  20:07:50  Show Profile  Visit bobby131313's Homepage  Reply with Quote

So I scrounged this function up many, many years ago and it works great....


Function TitleCase(stValue)
iPos = 1
Do While InStr(iPos, stValue, " ", 1) <> 0
iSpace = InStr(iPos, stValue, " ", 1)
sTemp = sTemp & UCase(Mid(stValue, iPos, 1))
sTemp = sTemp & LCase(Mid(stValue, iPos + 1, iSpace - iPos))
iPos = iSpace + 1
Loop

sTemp = sTemp & UCase(Mid(stValue, iPos, 1))
sTemp = sTemp & LCase(Mid(stValue, iPos + 1))

TitleCase = sTemp
End Function


This capitalizes every letter after a space.

I would like it to also capitalize letters after a dash. I played with it for several hours yesterday but obviously functions are not my strong suit.

Switch the order of your title tags

Edited by - bobby131313 on 24 May 2020 20:08:07

HuwR
Forum Admin

United Kingdom
20572 Posts

Posted - 26 May 2020 :  07:33:10  Show Profile  Visit HuwR's Homepage  Reply with Quote
You will probably need to do the replacement twice, you could try changing your function so that it also accepts a variable that it is to use as the separator, you can then call the same function twice by passing it a space and then a dash

so, declare the function like Function TitleCase(stValue, stSeparator) and the do while would change to Do While InStr(iPos, stValue, stSeparator, 1) <> 0 and the same for the iSpace = InStr(iPos, stValue, " ", 1) change to iSpace = InStr(iPos, stValue, stSeparator, 1)

MVC .net dev/test site | MVC .net running on Raspberry Pi
Go to Top of Page

bobby131313
Senior Member

USA
1163 Posts

Posted - 26 May 2020 :  16:26:58  Show Profile  Visit bobby131313's Homepage  Reply with Quote
Thanks Hu, I will play with it today.

Switch the order of your title tags
Go to Top of Page

Carefree
Advanced Member

Philippines
4206 Posts

Posted - 28 May 2023 :  05:02:24  Show Profile  Reply with Quote
Antique topic, but this would work:


Function TitleCase(fString)
iPos = 1
Do While ((InStr(iPos, fString, " ", 1) <> 0) Or (InStr(iPos, fString, "-", 1) <> 0))
If InStr(iPos, fString, " ", 1) Then
iSpace = InStr(iPos, fString, " ", 1)
ElseIf InStr(iPos, fString, "-", 1) Then
iSpace = InStr(iPos, fString, "-", 1)
End If
sTemp = sTemp & UCase(Mid(fString, iPos, 1))
sTemp = sTemp & LCase(Mid(fString, iPos + 1, iSpace - iPos))
iPos = iSpace + 1
Loop
sTemp = sTemp & UCase(Mid(fString, iPos, 1))
sTemp = sTemp & LCase(Mid(fString, iPos + 1))
TitleCase = sTemp
End Function
Go to Top of Page
   Topic Next Topic  
 New Topic  Reply to Topic
 Printer Friendly
Jump To:
Snitz Forums 2000 © 2000-2021 Snitz™ Communications Go To Top Of Page
This page was generated in 0.05 seconds. Powered By: Snitz Forums 2000 Version 3.4.07