>I am faced with the need to create (actually participate with) an alphabetic numbering system. The sequence is straight forward, and looks like this:
>
>AAAA
>AAAB
>.
>.
>AAAZ
>AABA
>
>etc.
>
>Really my only need is to be able to increment these codes by one, so I need a function that receives "DPRZ" and returns "DPSA". Get it?
>
>I am fairly confident that I can pound out the code to do this, but all of my ideas so far would take an enormous amount of code- can anybody think of a practical solution?
function my2Alpha
lparameters tcValue, tnAdd
lnValue = 0
for ix=len(tcValue) to 1 step -1
lnValue = lnValue + ;
(asc(substr(tcValue,ix,1))-asc("A"))*26^(len(tcValue)-ix)
endfor
lnValue = lnValue + tnAdd
lcNewValue = ""
do while lnValue > 0
lcNewValue = chr(asc("A")+lnValue%26) + lcNewValue
lnValue = int(lnValue / 26)
enddo
return lcNewValue
Cetin