Ver Mensaje Individual
  #8  
Antiguo 01-06-2016
ronalg ronalg is offline
Miembro
 
Registrado: may 2003
Ubicación: Sucre - Bolivia
Posts: 68
Reputación: 21
ronalg Va por buen camino
No debí llamarle "generar series" debí llamarlo "auto completar series"

MIL GRACIAS YA LO RESOLVÍ, AHÍ LES VA POR SI A ALGUIEN LE SIRVE.

Código Delphi [-]
var
  serie: string;
  finales:set of char = ['Z','z','9'];
  iniciales: set of char = ['A','a','0'];

function siguiente_serie(serie_base: string; longitud: byte): string;
var caracter, caracter_s:char;
begin
     caracter:=serie_base[longitud];
     caracter_s:=caracter_siguiente(caracter);
     if (caracter_s in iniciales) then
     begin
          serie_base:=siguiente_serie(copy(serie_base,0,longitud-1),longitud-1);
     end;
     result:=copy(serie_base,0,longitud-1)+caracter_s;
end;

function caracter_siguiente(caracter_base: char): char;
//var caracter_s:char;
begin
     if caracter_base in finales then
     begin
          case caracter_base of
          'Z': result:='A';
          'z': result:='a';
          '9': result:='0';
          end;
     end
     else
     begin
          //caracter_s:=char((ord(caracter_base)+1));
          result:=char((ord(caracter_base)+1));
     end;
end;

{Usando en un StringGrid name=sg_series rowcount=10}

procedure TForm1.BitBtn1Click(Sender: TObject);
var nueva_serie:string;
    i:integer;
begin
     for i:=2 to sg_series.RowCount-2 do
     begin
          serie:=sg_series.Cells[0,i-1];
          nueva_serie:=siguiente_serie(serie,length(serie));
          sg_series.Cells[0,i]:=nueva_serie;
     end;
end;

FALTA DEPURAR ALGUNAS COSAS PERO FUNCIONA
Archivos Adjuntos
Tipo de Archivo: rar genererar series.rar (206,3 KB, 11 visitas)
__________________
Saludos desde Sucre - Bolivia
"Si te lo puedes imaginar lo
puedes resolver" Pyriel

Última edición por ronalg fecha: 01-06-2016 a las 22:57:13.
Responder Con Cita