Avatar billede maagefinke Nybegynder
18. april 2006 - 22:58 Der er 25 kommentarer og
1 løsning

Indsætte tal i textbox for hvert sekund

Jeg vil gerne bede om hjælp til kode til nedenstående forløb.
command1
Indsætte tal i textboxe for hvert sekund 16 gange
Fort hvert sekund:
text1.text = ”1”
text2.text = ”2”
text3.text = ”3”
osv
msgbox “Slut”, sluttid
command2
Indsætte tal i textboxe for hvert andet sekund  16 gange
Fort hvert andet sekund:
text1.text = ”1”
text2.text = ”2”
text3.text = ”3”
osv
msgbox “Slut”, sluttid

command3
Indsætte tal i textboxe for hvert halve sekund 16 gange
Fort hvert halve sekund:
text1.text = ”1”
text2.text = ”2”
text3.text = ”3”
osv
msgbox “Slut”, sluttid
Avatar billede sjh Nybegynder
18. april 2006 - 23:03 #1
Jeg kan ikke se hoved eller hale i det.. Hvad skal det bruges til ??
Avatar billede maagefinke Nybegynder
18. april 2006 - 23:22 #2
Det er tænkt som en udbygning af dette program.
http://www.eksperten.dk/spm/703130
Det skal være et spil.
Mine børnebørn skal klikke på tallene i ovenstående kode.
Samtidig skal programmet automatisk men synligt kontinuerligt udfylde nogle tomme tekstbokse på samme form.  Og så drejer det sig altså om at være hurtigere end computeren. Så der er sådan set mening med galskaben.
Avatar billede maagefinke Nybegynder
18. april 2006 - 23:25 #3
>sjh For resten ville jeg have givet dig nogle point for din deltagelse i spørgsmålet,http://www.eksperten.dk/spm/703130, men jeg kom altså til at "glemme", at du også havde kommenteret. Jeg glemte altså dit "svar."
Avatar billede sjh Nybegynder
18. april 2006 - 23:28 #4
det skal du ikke tænke på.. jeg fik ikke lavet noget du kunne bruge.. ;)
Avatar billede sjh Nybegynder
18. april 2006 - 23:32 #5
Så skal du vel bare ha 3 Timer..

Timer1.Interval = 1000 ' 1 sekund
Timer2.Interval = 2000 ' 2 sekund
Timer3.Interval = 500 ' halve sekund
Avatar billede sjh Nybegynder
18. april 2006 - 23:33 #6
Private Sub Timer1_Timer()
  Call Command1_Click
End Sub

Private Sub Timer2_Timer()
  Call Command2_Click
End Sub

Private Sub Timer3_Timer()
  Call Command3_Click
End Sub
Avatar billede sjh Nybegynder
18. april 2006 - 23:40 #7
Private Sub Command 1,2,3_Click()
Dim nStart As Long
Dim nSlut  As Long

  nStart = Timer

  text1.Text = "1"
  text2.Text = "2"
  text3.Text = "3"
  ' osv

  nSlut = Timer

  MsgBox "Slut tid: " & (nSlut - nStart)
End Sub
Avatar billede sjh Nybegynder
18. april 2006 - 23:42 #8
du skulle måske ændre Long til Double hvis du vil har det som et koma tal

Dim nStart As Double
Dim nSlut  As Double
Avatar billede maagefinke Nybegynder
18. april 2006 - 23:55 #9
>sjh foreløbig tak. Du bedes huske at lave et svar. Men jeg får ikke set på dine koder før i morgen. Jeg har en "skrap" kone!:o))
Avatar billede sjh Nybegynder
18. april 2006 - 23:57 #10
ha ha det er også iorden :D
Avatar billede maagefinke Nybegynder
19. april 2006 - 11:20 #11
>Såvidt jeg kan se virker din kode sådan, at for fx hvert sekund bliver samlige textboxe 1-3 udfyldt på én gang. Det var ikke sådan jeg mente. Meningen er, at for fx 1. sekund skal textbox1 udfyldes med tallet"1" , 2. sekund skal der skrives "2" i textbox2, 3. sekund skal der skrives "3" i textbox3 osv.
Og efter msgboxen skal programmet så slutte. I øjeblikket fungerer det som en uendelig lykke - medmindre jeg har gjort noget forkert.
PS Husk venligst lige det med at "svare"
Avatar billede sjh Nybegynder
19. april 2006 - 15:59 #12
Så tror jeg nok det er sådan:

Private Sub Form_Load()
  Randomize
  Timer1.Interval = 1000 ' 1 sekund
End Sub

Private Sub Timer1_Timer()
Static nSec As Long
Static arrNumber() As Long
  Select Case nSec
        Case 1: Text2.Text = arrNumber(nSec)
        Case 2: Text3.Text = arrNumber(nSec)
        Case 3: Text4.Text = arrNumber(nSec)
        ' osv..
        Case 11: Text12.Text = arrNumber(nSec)
        Case Else
          nSec = 0
          arrNumber = RandArray(1, 12) ' arrNumber er fra 0 til 11 men de tal som er i det er fra 1 til 12
          Text1.Text = arrNumber(nSec)
  End Select
  nSec = (nSec + 1)
End Sub

Private Function RandArray(ByVal Low As Long, ByVal High As Long) As Long()
Dim i As Long
Dim nRnd As Long
Dim nFree As Long
Dim arrTemp() As Long
Dim arrRandom() As Long
  If Low <= High Then
    ReDim arrTemp(0 To High - Low) As Long
    ReDim arrRandom(0 To High - Low) As Long
    For i = 0 To (High - Low)
      arrTemp(i) = (i + Low)
    Next
    nFree = UBound(arrRandom) + 1
    For i = 0 To UBound(arrRandom)
      nRnd = Int(nFree * Rnd)
      arrRandom(i) = arrTemp(nRnd)
      nFree = (nFree - 1)
      arrTemp(nRnd) = arrTemp(nFree)
    Next
    RandArray = arrRandom()
      Else
    ReDim RandArray(0) As Long
  End If
End Function

ellers prøver vi bare igen :D
Avatar billede maagefinke Nybegynder
19. april 2006 - 17:52 #13
>sjh Jeg tiger mange tak og accepterer dit svar, selvom jeg ikke har prøvet det endnu.
Jeg får desværre ikke tid til at prøve det i aften, men jeg håber på din assistance efterfølgende, hvis det mod forventning ikke skulle lykkes.
Avatar billede sjh Nybegynder
19. april 2006 - 21:21 #14
bare ok.. og selv tak
Avatar billede mattiasdh Nybegynder
20. april 2006 - 14:24 #15
Jeg kan ikke få det til at virke..
Avatar billede maagefinke Nybegynder
20. april 2006 - 23:28 #16
>sjh Det var jo meget kode for så få point.:o))
Når jeg anvender din kode, får jeg i text1.text 2 tal.. men ikke noget i text11.text.
Kunne du ikke tilpasse den, så den kom til at se sådan ud:
Select Case nSec
        Case 1: Text1.Text = arrNumber(nSec)
        Case 2: Text2.Text = arrNumber(nSec)
        Case 3: Text3.Text = arrNumber(nSec)
        Case 4: Text4.Text = arrNumber(nSec)
        Case 5: Text5.Text = arrNumber(nSec)
        Case 6: Text6.Text = arrNumber(nSec)
        Case 7: Text7.Text = arrNumber(nSec)
        Case 8: Text8.Text = arrNumber(nSec)
        Case 9: Text9.Text = arrNumber(nSec)
        Case 10: Text10.Text = arrNumber(nSec)
        Case 11: Text11.Text = arrNumber(nSec)
        Case 12: Text12.Text = arrNumber(nSec)
og så skal der bare vises tallene fra 1 til 12 inkl. Det skal altså ikke være tilfældige tal. Please. Vi må finde ud af evt. flere points, hvis de 100 ikke rækker.
Avatar billede sjh Nybegynder
21. april 2006 - 00:09 #17
når trode bare det skulle være tilfældige tal..

Private Sub Timer1_Timer()
Static nSec As Long
  nSec = (nSec + 1)
  Select Case nSec
        Case 1: Text2.Text = nSec
        Case 2: Text3.Text = nSec
        Case 3: Text4.Text = nSec
        Case 4: Text4.Text = nSec
        Case 5: Text5.Text = nSec
        Case 6: Text6.Text = nSec
        Case 7: Text7.Text = nSec
        Case 8: Text8.Text = nSec
        Case 9: Text9.Text = nSec
        Case 10: Text10.Text = nSec
        Case 11: Text11.Text = nSec
        Case 12: Text12.Text = nSec: nSec = 0
  End Select
End Sub
Avatar billede sjh Nybegynder
21. april 2006 - 00:11 #18
men nu giver det bare ikke nogle mening.. ??
Avatar billede sjh Nybegynder
21. april 2006 - 00:17 #19
ahh lidt copy/paste fejl..

        Case 1: Text1.Text = nSec
        Case 2: Text2.Text = nSec
        Case 3: Text3.Text = nSec
        Case 4: Text4.Text = nSec
        Case 5: Text5.Text = nSec
Avatar billede maagefinke Nybegynder
21. april 2006 - 09:04 #20
>Sådan, sjh!
En sidste lille ting. Rutinen skal først begynde, når jeg trykker på fx command1.click. Kan du fikse det her til slut? TAk! Og tak for hjælpen.
Den har måske ikke mening for andre end mig, men den SKAL være sådan.
Avatar billede sjh Nybegynder
21. april 2006 - 14:22 #21
Okææ ;)

Så kan du nok klare dig et par. timer :D


Private Sub Command1_Click()
  ' Enabled omvendt af det som den er.. fx:
  ' Hvis Enabled er True så bliver den False
  ' eller hvis Enabled er False bliver den True
  ' -
  ' Så kan du både starte og stoppe den ved at klikke på en knap.
  With Timer1 ' <- Timer
      .Enabled = Not .Enabled
  End With

  ' ellers kan du bare selv starte den med:
  ' Timer1.Enabled = True
  ' -
  ' og stoppe den med:
  ' Timer1.Enabled = False
End Sub

Private Sub Form_Load()
  With Timer1 ' <- Timer
      .Enabled = False ' Enabled til False (Stop) eller True (Start)
      .Interval = 1000 ' 1 sekund
  End With
End Sub
Avatar billede maagefinke Nybegynder
21. april 2006 - 15:28 #22
>Hygger du dig? :o))
Tak for hjælpen. Jeg vender nok snart tilbage med nogle nye "grinagtige" problemer/spørgsmål.
For for denne gang ;-)
Avatar billede sjh Nybegynder
21. april 2006 - 21:19 #23
ha ha du skal være velkommen :D
Avatar billede mattiasdh Nybegynder
25. april 2006 - 21:31 #24
Jeg kan ikke få det her til at virke, men det lyder rigtig sjovt, nogen der kan hjælpe?
Avatar billede maagefinke Nybegynder
25. april 2006 - 21:47 #25
Her er min kode:

Du skal bruge 12 txtboxt og 2 command-click
Private Sub Command1_Click()
  ' Enabled omvendt af det som den er.. fx:
  ' Hvis Enabled er True så bliver den False
  ' eller hvis Enabled er False bliver den True
  ' -
  ' Så kan du både starte og stoppe den ved at klikke på en knap.
  With Timer1 ' <- Timer
    '.Enabled = Not .Enabled
  Timer1.Enabled = True
 
  End With

  ' ellers kan du bare selv starte den med:
  ' Timer1.Enabled = True
  ' -
  ' og stoppe den med:
  ' Timer1.Enabled = False
End Sub

Private Sub Command2_Click()
Timer1.Enabled = False
Text1.Text = ""
Text2.Text = ""
Text3.Text = ""
Text4.Text = ""
Text5.Text = ""
Text6.Text = ""
Text7.Text = ""
Text8.Text = ""
Text9.Text = ""
Text10.Text = ""
Text11.Text = ""
Text12.Text = ""

End Sub

Private Sub Form_Load()
  With Timer1 ' <- Timer
      .Enabled = False ' Enabled til False (Stop) eller True (Start)
      .Interval = 500 ' 1 sekund
  End With
End Sub

'Private Sub Command1_Click()
'Timer1.Interval = 500 ' 1 sekund
'End Sub



'  nSec = (nSec + 1)
'End Sub





Private Sub Timer1_timer()
Timer1.Interval = 500 ' 1 sekund
Static nSec As Long
  nSec = (nSec + 1)
  Select Case nSec
        Case 1: Text1.Text = nSec
        Case 2: Text2.Text = nSec
        Case 3: Text3.Text = nSec
        Case 4: Text4.Text = nSec
        Case 5: Text5.Text = nSec
        Case 6: Text6.Text = nSec
        Case 7: Text7.Text = nSec
        Case 8: Text8.Text = nSec
        Case 9: Text9.Text = nSec
        Case 10: Text10.Text = nSec
        Case 11: Text11.Text = nSec
        Case 12: Text12.Text = nSec: nSec = 0
Timer1.Enabled = False

  End Select


End Sub
Avatar billede mattiasdh Nybegynder
28. april 2006 - 09:45 #26
Okay, jeg kan ikke prøve det lige nu, men når jeg for chancen skal jeg nok prøve!

Tak
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester