Hola César, te voy a dar algunas ideas:
Lo normal, si el usuario va a navegar mucho por las imágenes, es que no quiera hacerlo siempre de forma secuencial; me explico, si tenemos 500 imágenes y estamos situados en el grupo 6 a la 10, y queremos ver el grupo 276-280, lo lógico es que brindemos algún mecanismo (poner algún control adecuado) para que ese salto sea inmediato, sin tener que recorrer todas las imégenes intermedias. Para ello puedes poner un TSpinEdit donde el usuario escriba el nº de foto a visualizar (o el nº de la primera foto del grupo, siguiendo el ejemplo que pones), y un botón
BotonVerImagenes que ejecute esa carga. De acuerdo al código que te puse, sería algo así:
Código:
procedure TForm1.BotonVerImagenesClick (Sender: TObject);
begin
// para que coja a partir de la primera imagen del grupo de 5
// hacemos la siguiente instrucción
NumImagen := 5 * (SpìnEdit1.Value div 5);
if NumImagen = 600 then NumImagen := 595; // chapucilla casera
CargaImagenes;
end;
Acuérdate de fijar en el SpinEdit la propiedad MaxValue al total de imágenes disponibles (600 en tu caso)
Si aún así ves que algo va lento, o que el usuario sigue empecinado en recorrer las imágenes con los botones
Anterior y
Siguiente, deberías plantearte un poco más de programación, creando 5 objetos TPicture en el formulario e ir cargándolos uno tras otro mediante su método LoadFromFile (comprobando tras cada carga que el usuario no haya pulsado de nuevo un botón de avance/retroceso). Si se han cargado las 5 imágenes en sus respectivos TPicture, se dibujan mediante el método Draw sobre un Canvas (el del formulario mismo, o sobre un TPaintBox). Si el usuario pulsa un botón mientras se están cargando las imágenes, entonces no se dibuja nada y se empieza a cargar el siguiente grupo. De esta forma, todo irá más ligero.
Espero haberme explicado, un saludo