colakork Skrevet 18. oktober 2004 Del Skrevet 18. oktober 2004 Jeg driver på å lager et program ut ifra en oppgave i boka mi her. Skal få alle farger (RGB 0-255) til å printe i formen. Private Sub Command1_Click() Dim iTeller As Integer Dim iWait As Integer For iTeller = 0 To 255 For iWait = 0 To 100 Form1.BackColor = RGB(iTeller, 255 - iTeller, iTeller / 5) Print iWait Next Next End Sub Her printer den ut alle fargene, men den eneste måten å få delay på som jeg har funnet ut er å la den telle til et tall(nå 100) i hver gjentakelse... Problemet da er at den bruker så mye prosessorkraft, så finnes det noen annen metode å få delay på? tænks colakork Lenke til kommentar
Bytex Skrevet 18. oktober 2004 Del Skrevet 18. oktober 2004 (endret) Vet ikke svaret, men når vi hadde Assembler på skolen fant vi kjapt ut at ei typisk For/next sløyfe var en dårlig ting å bruke som delay. Tida vil nemlig være forskjellig fra maskin til maskin som kjører programmet. En pentium 100 brukte kanskje 5 sekunder på å gå gjennom tellinga, mens en 500Mhz brukte 1 sekund. I assembly regna vi ut tellinga ut fra prosessor cycles. Finne spec'sene til CPU'n i maskinen, hvor lang tid den brukte på hver cycle..så gange opp til antall sekunder man ville ha...håpløs måte. Endret 18. oktober 2004 av Bitex Lenke til kommentar
Jonas Skrevet 18. oktober 2004 Del Skrevet 18. oktober 2004 Sånn: Public Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long) Private Sub Command1_Click() Dim iTeller As Integer Dim iWait As Integer For iTeller = 0 To 255 For iWait = 0 To 100 Form1.BackColor = RGB(iTeller, 255 - iTeller, iTeller / 5) Print iWait Sleep 100 Next Next End Sub Lenke til kommentar
colakork Skrevet 18. oktober 2004 Forfatter Del Skrevet 18. oktober 2004 hva nøyaktig er det det gjør? Lenke til kommentar
Jonas Skrevet 18. oktober 2004 Del Skrevet 18. oktober 2004 Sleep? Den venter. Altså når den har ventet x antall millisekkunder end'er subben, og ditt program fortsetter. Lenke til kommentar
colakork Skrevet 18. oktober 2004 Forfatter Del Skrevet 18. oktober 2004 allright. tænks. Lenke til kommentar
colakork Skrevet 22. oktober 2004 Forfatter Del Skrevet 22. oktober 2004 Sånn: Public Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long) Private Sub Command1_Click() Dim iTeller As Integer Dim iWait As Integer For iTeller = 0 To 255 For iWait = 0 To 100 Form1.BackColor = RGB(iTeller, 255 - iTeller, iTeller / 5) Print iWait Sleep 100 Next Next End Sub Fikk den først til å fungere etter at jeg skiftet public declare til private declare, har ikke helt skjønt hvorfor den fungerte, kan noen si meg det? Lenke til kommentar
Jonas Skrevet 22. oktober 2004 Del Skrevet 22. oktober 2004 Public-API kan ikke ligge i en form. Da må den ligge i en modul Lenke til kommentar
colakork Skrevet 22. oktober 2004 Forfatter Del Skrevet 22. oktober 2004 (endret) Da har jeg den som neste ting på lista over ting jeg må lære meg. API. Wuhu. Endret 22. oktober 2004 av colakork Lenke til kommentar
Jonas Skrevet 22. oktober 2004 Del Skrevet 22. oktober 2004 API Text Viewer Sånn hvis du ikke har den fra før. SINSYKT nyttig spør du meg! API_Text_Viewer.zip Lenke til kommentar
colakork Skrevet 22. oktober 2004 Forfatter Del Skrevet 22. oktober 2004 Den var ny for meg. Skjønner at API har med .dll filer å gjøre. Hvis jeg har rett, kanskje du kan si noen nyttige dll filer som allerede finnes i windows(xp)? takk for hjelpen Lenke til kommentar
colakork Skrevet 22. oktober 2004 Forfatter Del Skrevet 22. oktober 2004 (endret) hmm, tror jeg må lære meg å se igjennom ting litt før jeg skriver neste spørsmål. Sorry, står jo dritmange sånne kommandoer i det programmet. Dumme meg... Endret 22. oktober 2004 av colakork Lenke til kommentar
GeirGrusom Skrevet 22. oktober 2004 Del Skrevet 22. oktober 2004 Dim lTeller As Long lTeller = Timer + 1000 Do : Loop Until Timer() > lTeller Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå