FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
lectura lenta de un archivo .DAT, ¿por que?
Hola foro, tengo un programa el cual abre un archivo .DAT que almacena un número de registros y los graba en una tabla (hecha en access). El problema que tengo es que si hay almacenados entre 1 y 40 registros la lectura se hace rapida pero si hay entre 50 y 100, la lectura es demasiado lenta (puede tardar en leer y grabar los registros unos 15 minutos).
Alguien puede decirme de que manera puedo obtimizar esta lectura. Acontinuacion pongo el código que utilizo para leer y grabar los registros: procedure TFimportacion.aceptarClick(Sender: TObject); var cantidad: integer; begin screen.Cursor:=crhourglass; progressbar1.position:=0; if (edit1.Text<>'')then begin AssignFile(archivoatm,edit1.text); Try Reset(archivoatm); Except On Exception Do begin showmessage('No es posible abrir el archivo.'); close; exit; end; end; while not eof(archivoatm) do begin try read(archivoatm, visado); except on exception do begin showmessage('Fallo de lectura.'); exit; end; end; cantidad:=visado.cantidad; label3.Caption:=inttostr(visado.numero)+'/'+visado.letra; fimportacion.Refresh; tablas.VISADOS.Append; tablas.VISADOSNUMERO.value:=visado.numero; tablas.VISADOSLETRA.value:=visado.letra; tablas.VISADOSPROYECTO1.value:=visado.proyecto1; tablas.VISADOSPROYECTO2.value:=visado.proyecto2; tablas.VISADOSCODIGOCO.value:=visado.codigoco; tablas.VISADOSPRESUPUESTO.value:=visado.presupuesto; tablas.VISADOSGRUPO.value:=visado.grupo; tablas.VISADOSPAGAR.value:=visado.pagar; tablas.VISADOSIVA.value:=visado.iva; tablas.VISADOSTOTALIVA.value:=visado.totaliva; tablas.VISADOSPAGARIVA.value:=visado.pagariva; tablas.VISADOSFECHA.value:=visado.fecha; tablas.VISADOSTOTALEUROS.value:=visado.totaleuros; tablas.VISADOSNOMBREEM.Value:=visado.nombreem; tablas.VISADOSCIFEM.value:=visado.cifem; tablas.VISADOSDIRECCIONEM.value:=visado.direccionem; tablas.VISADOSPOBLACIONEM.value:=visado.poblacionem; tablas.VISADOSNOMBRET.value:=visado.nombreet; tablas.VISADOSCIFT.value:=visado.cift; tablas.VISADOSDIRECCIONT.value:=visado.direcciont; tablas.VISADOSPOBLACIONT.value:=visado.poblaciont; tablas.VISADOSCOLEGIOCO.value:=visado.colegioco; principal.menu1.tag:=1; tablas.VISADOS.post; progressbar1.Position:=progressbar1.position+round(100/cantidad); principal.menu1.tag:=0; end; closefile(archivoatm); progressbar1.Position:=100; screen.cursor:=crdefault; showmessage('Importacion realizada con éxito.'); principal.menu1.tag:=0; fimportacion.close; end else begin screen.cursor:=crdefault; showmessage('Debes de introducir una ruta.'); edit1.setfocus; end; end;
__________________
El saber no ocupa lugar. |
|
|
|