FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
hola a todos!!
una alternativa puede ser utilizar las clases TArray<inteteger> o Tdictionary<integer, ....> en donde en este caso puede obtener un indice a los capitulos. Mira si estos códigos te pueden servir: Código:
/// ---- /// Metodo 1: con la clase TArray /// ---- function BuscarHuecosCapitulos(Files:TStringDynArray):Tarray<Integer>; var fileName: string; Capitulos: TArray<Integer>; Capitulo, j:integer; begin result := []; /// Genera un array con los numeros de capitulos for fileName in Files do Capitulos := Capitulos + [GetFileNumCapitulo(fileName)]; /// los ordena TArray.sort<Integer>(Capitulos); //y se recorre el array desde el primer capitulo hasta el ultimo capitulo buscando los huecos Capitulo := 1; j := 0; /// la variable J es la posicion en el array de los capitulos repeat if Capitulo < Capitulos[j] then result := result + [Capitulo] else inc(j); Inc(Capitulo); until j > High(Capitulos); end; Código:
/// ---- /// Metodo 2: con la clase TDictionary /// ---- function BuscarHuecosCapitulos(Files:TStringDynArray):Tarray<Integer>; var fileName: string; Capitulos: TDictionary<Integer, boolean>; /// el tipo boolean se puede sustituir por cualquier otro tipo, no se va a usar en este caso capitulo, UltimoCapitulo: integer; begin result := []; Capitulos := TDictionary<Integer, BOOLean>.create; // en este caso se debe de obtener también el ultimo capitulo que se ha encontrado UltimoCapitulo := 0; for fileName in Files do begin capitulo := GetFileNumCapitulo(fileName); Capitulos.AddOrSetValue(capitulo, True); if capitulo > UltimoCapitulo then UltimoCapitulo := capitulo; end; for capitulo := 1 to UltimoCapitulo do if not Capitulos.ContainsKey(capitulo) then Result := result + [capitulo]; Capitulos.free; end;
|
#2
|
||||
|
||||
Una manera simple es solo generar una lista de inicio..fin y marcar solo si encontró:
//pseudocodigo Código PHP:
__________________
El malabarista. |
#3
|
||||
|
||||
Gracias a todos por sus respuestas
Probare los metodos de Bucanero a ver que tal resulta El metodo de mamcx, visto rapidamente, me parece que sucede lo mismo que con el metodo de escafandra
__________________
La hora de acción no es hora de aprender, es necesario haber aprendido antes |
#4
|
||||
|
||||
Pues con el 2do metodo de bucanero (me gustó mas porque me recuerda a python), me funciono bastante bien
Lo que me queda es optimizar un poco el metodo de extraer el numero de capitulo, ya que cuando el capitulo esta delante no hay problema, pero cuando esta al final, se complica cuando el nombre de la novela contiene numeros. Por ejemplo: 1- Enemigo intimo 1 - 25 (1 es la temporada y 25 el capitulo) 2- 100 años de soledad - 11 (100 es parte del nombre y 11 el capitulo) Se me volvio un poco complicado ...
__________________
La hora de acción no es hora de aprender, es necesario haber aprendido antes |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Ayuda para elaborar un algoritmo para una tabla de calculo | JoAnCa | Varios | 6 | 04-04-2011 15:01:05 |
Ayuda para hacer un algoritmo de busqueda y comparacion | JoAnCa | Varios | 7 | 23-12-2008 22:55:28 |
Ayuda con un Algoritmo | gluglu | Varios | 1 | 24-10-2007 18:07:10 |
Buscar siguiente en Lista con SQL | rogeriobeltran | Firebird e Interbase | 6 | 23-07-2004 17:02:41 |
|