Cześć, mam taką sytuację, że chcę powiedzieć, ile procent pliku zostało odczytane. Plik odczytywany jest w pętli bajt po bajcie(tu wszystko ok).
Mam taką sytuację:
//wcześniej jest odczytywanie bajtu do innej zmiennej typu byte
bytesRead:=bytesRead+1;
percentDone:=(bytesRead div size)*100;
form1.doneLabel.Caption:='Wykonano: '+intToStr(percentDone);
application.ProcessMessages;
percentDone to zmienna globalna(najpierw była byte, potem integer i longint - akty rozpaczy)
bytesRead i size jest longint.
Wszystko jest niby pięknie. Size jest, jakie powinno być, bytesRead się zwiększa. Ale percentDone cały czas ma wartość 0!!
Nawet gdy plik ma 100 bajtów, to percentDone zmienia się dopiero wtedy, gdy odczytany zostanie ostatni bajt. Zmienia się na 100.
Cały czas poza tym jest równe zero.
Czemu??