a ver si entendi lo que explicas, necesitas recursividad, algo como esto:
declara unas variables globales:
Código Delphi
[-]nLista: array[1..14] of integer;
procedure Incrementar(cCadena: String);
procedure Aumentar(nIndice:Integer);
luego este es el codigo, le pasa la cadena como parametro al procedimiento incrementar y te devolvera una cadena incrementada segun la regla de la A-Z y 0-9
Código SQL
[-]procedure TForm1.Incrementar(cCadena: String);
var
nCaracter: String;
nIdx: Integer;
begin
//Carga el vector de enteros
for nIdx := 1 to 14 do
begin
nCaracter := Copy(cCadena, nIdx, 1);
nLista[nIdx] := Ord(nCaracter[1]);
end;
//Recorre el vector aumentando las cifras
Aumentar(14);
//Arma de nuevo la cadena
cCadena := '';
for nIdx := 1 to 14 do
begin
nCaracter := Char(nLista[nIdx]);
cCadena := cCadena + nCaracter;
end;
end;
procedure TForm1.Aumentar(nIndice: Integer);
begin
//si llego al principio se sale
if nIndice <= 0 then
Exit;
//Aumenta un caracter en la posicion deseada
nLista[nIndice] := nLista[nIndice] + 1;
//Si es 91 quiere decir que viene de la Z, lo devuelve al 65 = A, incrementa el anterior
if nLista[nIndice] = 91 then
begin
nLista[nIndice] := 65;
Aumentar(nIndice - 1);
end
//Si es 58 quiere decir que viene del 9, lo devuelve al 48 = 0, incrementa el anterior
else if nLista[nIndice] = 58 then
begin
nLista[nIndice] := 48;
Aumentar(nIndice - 1);
end;
end;