ok, ya se entiende
Prueba con algo así:
Código Delphi
[-]
var codigo: array[1..14] of char;
procedure Incrementar(pos: integer);
begin
if (codigo[pos] in ['0'..'8']) or (codigo[pos] in ['A'..'Y']) then codigo[pos]:=Ord(codigo[pos]+1) else
if codigo[pos]='9' then
begin
codigo[pos]:='0';
incrementar(pos-1);
end
else if codigo[pos]='Z' then
begin
codigo[pos]:='A';
incrementar(pos-1);
end;
end;
Nótese que tú sólo tendrás que llamar a la función con el parámetro 14 (el último caracter). Lo del parámetro es para la recursividad, y así optimizar el código.
Espero que te sirva.
Salu2.
Edito: tenía un "bug" donde la fución Ord. Solucionado (gracias Delphius por probarlo).