01. oktober 2002 - 20:42Der er
6 kommentarer og 4 løsninger
Vise fremdriften evt. progressbar
Hvordan kan jeg vise brugeren hvor langt en operation er nået? Løsningen kan ikke være den sædvanlige nemme progressbar eftersom at operationen ikke bliver ekseveret i en loop, men nærmere et sekvens af funktionskald.
Lave en progressbar. Og så et par steder rundt i scriptet plus lidt mere til den. Når du så køre programmet kan du passe det til, så at progressbaren køre mere jævnt.
Det er egentligt såre simpelt og logisk - for at brugeren ved hvor langt operationen er nået, må du først selv vide det. Du skal også vide hvornår det hele er færdigt.
Når du ved de 2 ting, er det bare at proppe dem ind i en progressbar.
Lav fx. et par milepæle i dit program, fx. en for hver funktionskald der er afsluttet. Disse bruges så til at vise status på en progress-bar..
Det er nogle udemærket bud gutter, men der er to aspekter i dagen der gør det mere kompliceret end som så. 1. I et funktionskald forekommer der flere 'nested' kald og iblandt dem er der en databasoperation der er ret tung. Det vil sige at hvis jeg sætter progressbarens value til at increase umiddelbart efter operation vil jeg alligevel opleve at den står stille i et godt stykke tid. 2. At 'time' operationen er ikke en holdbar løsning eftersom applikationen skal kunne afvikles i forskellige miljøer.
Hvis det ikke er muligt at præcist definere hvor langt processen er, bliver det også svært at angive præcist i en progressbar. Men gør det nødvendigvis noget? Når man installerer store programmer kører progressbaren også nogen gange i ryk. (15%; 35%; 37%; 55%; osv.)
Jamen hvad vil du have vi skal gøre ved det - at det er kompliceret? Principperne er altså de samme: For at brugeren ved hvor langt operationen er nået, må du først selv vide det, og du skal også vide hvornår det hele er færdigt.
Du kan jo putte milepæle ind i de enkelte funktionskald, hvis du vil finopdele. Men du kommer ikke uden om ovenstående princip :o)
sorry guys jeres svar var ikke tilfredsstillende, alligevel en 10'er for ulejeligheden.
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.