Hola, supongo que se puede hacer de varias maneras...
yo lo haría cargando el fichero en un buffer o en un objeto TMemoryStream ó en algo mas apropiado si lo hay....
entonces calcularia el tamaño y deduciría cuantos ciclos de 1024 bytes tendrian que usarse
acto seguido calcularia el "step" del progressBar a medida de mis ciclos y empezaría la copia "streamIn <- buffer , buffer -> StreamOut" en ciclos de 1024 e incrementaría el STEP del progressbar en cada vuelta
no sé si me he explicado y si es la forma óptima, pero de primeras se me ocurre esta manera
un saludo
|