I am using CR 8.5 which doesn't have the proper case function. I got a formula from Ngolem from a thread dated June 5 2003. (See below) When I apply this formula to a name such as "THOMAS SMITH" the result is "Thomas S Smith." For some reason, it is making the first letter of the last name a middle initial. My name strings do not have middle initials. Otherwise, it is doing everything else ok. Can anyone help? Thanks.
StringVar Original := {table.string};
NumberVar Temp;
numberVar SPointer := 1;
numberVar EPointer := length(Original);
//take care of the first CAP
Original := uppercase(left({table.string},1)) +
lowercase(right({table.string}, length({table.string}) - 1));
While SPointer < EPointer do
(
Temp := inStr(SPointer,original," ");
if Temp > 0 then
(
Original := left(Original,Temp) +
uppercase(mid(Original,temp+1,1)) +
Right(Original,EPointer - temp+1);
SPointer := Temp + 1;
)
else
(
SPointer := EPointer ;
);
);
Original;
StringVar Original := {table.string};
NumberVar Temp;
numberVar SPointer := 1;
numberVar EPointer := length(Original);
//take care of the first CAP
Original := uppercase(left({table.string},1)) +
lowercase(right({table.string}, length({table.string}) - 1));
While SPointer < EPointer do
(
Temp := inStr(SPointer,original," ");
if Temp > 0 then
(
Original := left(Original,Temp) +
uppercase(mid(Original,temp+1,1)) +
Right(Original,EPointer - temp+1);
SPointer := Temp + 1;
)
else
(
SPointer := EPointer ;
);
);
Original;