Jo det blir rätt eftersom VB gör en flyttalskonvertering av heltal i samband med division, åtminstone blir kvoten ett flyttal. Det är först när värdet på ProgressBar1.Value ( som är av typepen Integer)mri skrev:OK, med reservation för att jag egentligen inte kan BASIC, men det här blir antagligen inte rätt:Eftersom pos och FS.Length är heltal skall uttrycket skrivas:Kod: Markera allt
ProgressBar1.Value = (pos / FS.Length) * 100
Kod: Markera allt
ProgressBar1.Value = (pos * 100) / FS.Length
tilldelas som den avrundas till heltal. Jag trodde i ärlighetens namn att den skulle trunkera, men det spelar inte så stor roll i sammanhanget.
Din variant fungerar också men blir ganska långsam då VB måste dividera större tal. Gör en testkörning så ser du förmodligen en ganska drastisk skillnad med en större fil. pos förväntas uppnå samma värde som filens längd.
Jag kan dock inte heller VB.NET särskillt bra då jag numera kodar i C#.