Ver Mensaje Individual
  #4  
Antiguo 21-10-2003
Avatar de gatosoft
[gatosoft] gatosoft is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Bogotá, Colombia
Posts: 833
Reputación: 22
gatosoft Va camino a la fama
Todo seria mas facil si se tuviera un separador estandar (y preferiblemente no tan comun) entre los números y los capitulos. Por ejemplo:

1.) Intriducción

el separdor es un punto y un paréntesis cerrado, podria ser simplenete el paréntesis... o un doble guon asi:

1--Introducción

Para esto, yo utilizaria la siguiente función:

Código:
Function get_NumeroCapitulo(pCadena:String; pSepardor:string):Integer
var i, vPos:Integer;   
      vCadena:string;
      ves_numerico:Boolean;
Begin
Result:=-1;
   vPos:=Pos(pSeparador,pCadena);
   if vPos>0 then
      begin
          // si existe el caracter separador, 
          // verifica si hay un número a la izquierda.

         vCadena:=Trim(Copy(pCadena,1,vPos-1));
         if vCadena:='' then
            begin
             ves_numerico:=True;
                       //Comienza el ciclo para 
                       //verificar si es numerico
             For i:=1 to length(vCadena) do
              begin
                 if not (vCadena[i] in ['0'..'9']) then
                 begin
                   ves_numerico:=False;                           
                    Break;
                  end;//if           
               end; //for i

               if ves_numerico then
                   Result:=StrToint(vCadena);
              end; //if vCadena
       end; //vpos
end;
Responder Con Cita