Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Behöver mer hjälp!

Postades av 2001-02-14 16:04:00 - Katarina Löfberg, i forum visual basic - allmänt, Tråden har 6 Kommentarer och lästs av 620 personer

Hej igen!
Jag är jättetacksam för hjälpen jag fått hittills! Nu kommer jag till nästa steg i mitt program... Kanske har jag tagit mej vatten över huvudet, jag är nog inne på saker som jag inte klarar ännu. Men jag vill inte ge upp nu när jag kommit så långt. Så jag hoppas på er...:)

Så här är det. Jag gör ett program med en kommandoknapp och tio bilder på djur. När man klickar på knappen slumpas det fram ett av tio ljud m h a Select Case. Så långt funkar det.

Tanken är sen att om man hör ett "vov" så ska man klicka på en bild. Klickar man på rätt bild (hunden så klart) så ska det öppnas ett formulär, och om man klickar på fel bild så ska det öppnas ett annat.

Hur tusan gör jag? Jag måste väl på något sätt anropa vilket Case som senast valdes när man klickade på knappen. Jag vet inte hur...



Svara

Sv: Behöver mer hjälp!

Postades av 2001-02-14 16:46:00 - Sven Åke Persson

Hej
Ungefär så här

Option Explicit
Dim KnappCheck As String
'i princip så här,I varje knapps Tag propertie skriver
'du in ett nummer 1 - 12

Private Sub KnappHund_Click()
KnappCheck = KnappHund.Tag
End Sub

' i Select Case satsen jämför du KnappCheck med
'det ljud som valts
'If KnappCheck = ljudCheck Then
'ge beröm
'Else
' "Fel svar försök igen"
'End if

mvh
Sven


Svara

Sv: Behöver mer hjälp!

Postades av 2001-02-14 18:52:00 - Katarina Löfberg

Hmm... Jag fattar inte riktigt.

Jag har alltså en kommandoknapp och tio bilder på formuläret. Här är hela koden:

Option Explicit

Private Const SND_ASYNC = &H1
Private Const SND_FILENAME = &H20000

Private Declare Function PlaySound Lib "winmm.dll" Alias "PlaySoundA" (ByVal lpszName As String, ByVal hModule As Long, ByVal dwFlags As Long) As Long

Private Sub CmdLyssna_Click()
Randomize
Select Case Int(10 * Rnd)
Case 0
PlayWave App.Path & "\ljudfiler\marsvin.wav"
Case 1
PlayWave App.Path & "\ljudfiler\baby.wav"
Case 2
PlayWave App.Path & "\ljudfiler\apa.wav"
Case 3
PlayWave App.Path & "\ljudfiler\fågel.wav"
Case 4
PlayWave App.Path & "\ljudfiler\får.wav"
Case 5
PlayWave App.Path & "\ljudfiler\gris.wav"
Case 6
PlayWave App.Path & "\ljudfiler\hund.wav"
Case 7
PlayWave App.Path & "\ljudfiler\häst.wav"
Case 8
PlayWave App.Path & "\ljudfiler\katt.wav"
Case 9
PlayWave App.Path & "\ljudfiler\ko.wav"
End Select
End Sub

Public Sub PlayWave(Filename As String)
Dim lReturn As Long
lReturn = PlaySound(Filename, 0&, SND_FILENAME Or SND_ASYNC)
End Sub

Alltså; När t ex "katt.wav" har spelats upp så ska ett formulär visa sej om man klickar på bilden av katten, ett annat formulär om man klickar på nån annan bild.

Undringar om Svens svar:
Ska jag tagga bilderna 0-9 eller? (jag har ju bara en knapp, du skrev att jag skulle tagga knapparna) Och var ska jag skriva in vad LjudCheck är likamed?


Svara

Jipeeee!

Postades av 2001-02-14 19:26:00 - Katarina Löfberg

Jag klarade det själv. (Nästan...Fick lite hjälp av en klasskompis)
:)


Svara

Sv: Behöver mer hjälp!

Postades av 2001-02-14 19:37:00 - Andreas Hillqvist

För att lagra index från Case satsen kan du skapa en modul nivå variabel(Bara att deklarerar en variabel längst upp i formulär modulen med dim, private eller public).

Efter som variabeln kommer var noll från början så kan det ju vara bra att ha en flagga som talar om att användaren tryckt på knappen.

Bör se ut något såhär(skipar de rader för att spela upp ljudfilen)

Private mIndex As Integer
Private mHasPlayed As Boolean

Private Sub CmdLyssna_Click()
Randomize
mIndex = Int(10 * Rnd)
Select Case mIndex
Case 0
PlayWave App.Path & "\ljudfiler\marsvin.wav"
Case 1
PlayWave App.Path & "\ljudfiler\baby.wav"
Case 2
PlayWave App.Path & "\ljudfiler\apa.wav"
Case 3
PlayWave App.Path & "\ljudfiler\fågel.wav"
Case 4
PlayWave App.Path & "\ljudfiler\får.wav"
Case 5
PlayWave App.Path & "\ljudfiler\gris.wav"
Case 6
PlayWave App.Path & "\ljudfiler\hund.wav"
Case 7
PlayWave App.Path & "\ljudfiler\häst.wav"
Case 8
PlayWave App.Path & "\ljudfiler\katt.wav"
Case 9
PlayWave App.Path & "\ljudfiler\ko.wav"
End Select
mHasPlayed = True
End Sub

Vad denna kod gör är att lagra det slumpmäsigt framtagna värdet i vår modulnivå variabel. Kontrollera vilket värde vi fik och spela upp den ljud fil som är assosierad med den. Samt sätter variabeln som talar om att vi tryckt på knappen.

För att kontrollera värdet jämför du bara med modulnivå variabeln:

Private Sub Image1_Click()
If mHasPlayed Then
If mIndex = 0 Then
MsgBox "Du valde rätt!"
frmMarsvin.show
Else
MsgBox "Du valde fel!"
frmFel.show
End If
Else
MsgBox "Du måste spela upp ett ljud först!"
End If
End Sub

Private Sub Image2_Click()
If mHasPlayed Then
If mIndex = 1 Then
MsgBox "Du valde rätt!"
frmBaby.show
Else
MsgBox "Du valde fel!"
frmFel.show
End If
Else
MsgBox "Du måste spela upp ett ljud först!"
End If
End Sub

osv...

Man kan göra det lite smartare genom att skapa en kontroll array av bilderna. Du ändrar första bildens index-egenskap till 0 och bytter sedan namn på Image2, Image3, osv... till Image1.
Vilket kommer ge att de heter i egenskaps fönstret.
Image1(0)
Image1(1)
Image1(2)
osv...

Alla Image objekt med samma namn kommer få en gemensam händelserna(Event).som nu har fått ett extra argument, Index. Som anger vilket objekt det var som orsakade händelsen.

Och istället för att behöva tio kodsnutter som kontrollerar om användaren val rätt eller fel kan man nu använda en:

Private Sub Image1_Click(Index As Integer)
If mHasPlayed Then
If Index = mIndex Then
MsgBox "Du valde rätt!"
Select case mIndex
Case 0
frmMarsvin.show
Case 1
frmBaby.show
'osv...
End select
Else
MsgBox "Du valde fel!"
frmFel.show
End If
Else
MsgBox "Du måste spela upp ett ljud först!"
End If
End Sub


Svara

Sv: Behöver mer hjälp!

Postades av 2001-02-14 21:19:00 - Andreas Hillqvist

Var lite sent ute igen... :O)


Svara

Sv: Behöver mer hjälp!

Postades av 2001-02-14 21:20:00 - Katarina Löfberg

Tack ändå! :)
I'll be back... hehe...


Svara

Nyligen

  • 14:24 CBD regelbundet?
  • 14:23 CBD regelbundet?
  • 14:22 Har du märkt några verkliga fördel
  • 09:09 Vill du köpa medicinska tester?
  • 12:47 Vem beviljar assistansen – kommune
  • 14:17 Någon med erfarenhet av hemstädnin
  • 14:14 Bör man använda sig av en båtförme
  • 14:12 Finns det någon intressant hundblo

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 569 616
27 953
271 709
5 641
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies