Jag har gjort ett program där en användaren anger ett antal parametrar, trycker på "start" varvid en datagenerering startar. Genereringen som består av flera steg kan ta upp till 5 timmar. Jag vill kunna visa för användaren hur långt genereringen har kommit. Typ "2 av 10 steg utförda", "3 av 10 steg utförda". Hur åstadkommer jag detta? Antar att du har ett formulär som visas i din applikation? I sådana fall kan du lägga dit en label som du uppdaterar texten i efter varje steg, du får även köra DoEvents efter varje uppdatering. Jo, jag har ett formulär som jag dock stänger för att påbörja data genereringen (där parametrar som användaren lagt in i formuläret används). Jag initierar genereringen när användaren trycker på "Next" i formuläret. Skapa ett nytt formulär med en label. Innan du börjar processa öppnar du det formuläret. I loopen lägger du in:Statuspresentation - visual basic
Sv: Statuspresentation - visual basic
/JohanSv:Statuspresentation - visual basic
Jag har ingen erfarenhet av DoEvents. Är lite osäker på hur jag använder det kommandot.
Sub Main()
TrafficSim_stoch.Show 'Visa formulär där användaren anger sina parametrar
'Efter att användaren angett parametrar stänger jag formuläret.
For i = 1 To UeTot 'Data genereras
Call Calc_stoc
Call Mobility
Call Down_IfUp
Next Ue
'Här finns kod som skirver till en fil.
End Sub
Klippt ur TrafficSim_stoch.Show:
Private Sub NextButton_Click()
'User is ready for the generation to start. Control is passed back to Main-module
TrafficSim_stoch.Hide
End Sub
/ MatsSv: Statuspresentation - visual basic
Form2.label1.caption = "steg " & i & " av " & UeTot (eller ska det vara Form2.label1.text kanske?)
DoEvents
/Johan