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


Hur lösa ????????

Postades av 2005-12-20 09:09:33 - Lennart Danielsson, i forum visual basic - allmänt, Tråden har 14 Kommentarer och lästs av 798 personer

Har försökt att lösa ett ganska knepigt problem är det någon som har förslag på hur detta skall lösas.
Hur kan man få följane att fungera???
Du har två rätt till vänster och då skall label20 tändas inget annat eller
Du har två rätt till höger och då skall label20 tändas inget annat eller
du har två rätt till vänster & två rätt till höger label20 & label 26 tändas
annars skall inga labels tändas.

OSV.....
titta längst ner hur JOKERns vinstgrupper ser ut...

räknaren fungerar perfekt

OBS OBS OBS använder endast VB6

Dim count As Integer

count = 0
'************************************* 1 rätt *************
If Val(TxtJoker(1)) = Val(TxtJrätt(1)) Then count = count + 1
If Val(TxtJoker(1)) = Val(TxtJrätt(1)) Then
TxtJrätt(1).ForeColor = vbWhite
Else
TxtJrätt(1).Enabled = False
End If
'********************************************2 rätt ****************
If Val(TxtJoker(2)) = Val(TxtJrätt(2)) Then count = count + 1
If Val(TxtJoker(2)) = Val(TxtJrätt(2)) Then
TxtJrätt(2).ForeColor = vbWhite
Else
TxtJrätt(2).Enabled = False
End If
'*************************************** 3 rätt *************
If Val(TxtJoker(3)) = Val(TxtJrätt(3)) Then count = count + 1
If Val(TxtJoker(3)) = Val(TxtJrätt(3)) Then
TxtJrätt(3).ForeColor = vbWhite
Else
TxtJrätt(3).Enabled = False
End If
'************************************* 4 rätt
If Val(TxtJoker(4)) = Val(TxtJrätt(4)) Then count = count + 1
If Val(TxtJoker(4)) = Val(TxtJrätt(4)) Then
TxtJrätt(4).ForeColor = vbWhite
Else
TxtJrätt(4).Enabled = False
End If
'************************************ 5 rätt
If Val(TxtJoker(5)) = Val(TxtJrätt(5)) Then count = count + 1
If Val(TxtJoker(5)) = Val(TxtJrätt(5)) Then
TxtJrätt(5).ForeColor = vbWhite
Else
TxtJrätt(5).Enabled = False
End If
'************************************ 6 rätt
If Val(TxtJoker(6)) = Val(TxtJrätt(6)) Then count = count + 1
If Val(TxtJoker(6)) = Val(TxtJrätt(6)) Then
TxtJrätt(6).ForeColor = vbWhite
Else
TxtJrätt(6).Enabled = False
End If
'************************************ 7 rätt
If Val(TxtJoker(7)) = Val(TxtJrätt(7)) Then count = count + 1
If Val(TxtJoker(7)) = Val(TxtJrätt(7)) Then
TxtJrätt(7).ForeColor = vbWhite
Else
TxtJrätt(7).Enabled = False
End If
'*************************************
FrmJokervinst.Visible = True
Label27.Visible = True
Label27.Caption = "Antal Rätt " & count
'************************************ JOKER vinstgrupper ******************
' 7 rätt = 1234567 = label 15
' 6 rätt = 123456* eller *234567 = label 16
' 5 rätt = 12345** eller **34567 = label 17
' 4 rätt = 1234*** eller ***4567 = label 18
' 3 rätt = 123**** eller ****567 = label 19
' 2 rätt = 12***** eller *****67 = label 20
' 4 första + de 2 sista = 2 vinster = label 21
' 2 första + de 4 sista = 2 vinster = label 22
' 3 första + de 3 sista = 2 vinster = label 23
' 3 första + de 2 sista = 2 vinster = label 24
' 2 första + de 3 sista = 2 vinster = label 25
' 2 första + de 2 sista = 2 vinster = label 26


Svara

Sv: Hur lösa ????????

Postades av 2005-12-20 09:32:21 - Martin Adrian

Jag skulle använda ett binärt värde. Nåt i stil med

<code=vb>
Dim Ratt As Integer, Bit As Integer

Ratt = 0 : Bit = 64
For ii = 1 To 7
If TxtJoker(ii) = TxtJrätt(ii) Then Ratt = Ratt Or Bit
Bit = Bit \ 2
Next

Select Case Ratt
Case &H7f: '1111111
label15
Case &H7e, &H3f '1111110 0111111
label16
Case &H7c, &H1f '1111100 00111111
label17
och så vidare
End Select
</code>


Svara

Sv:Hur lösa ????????

Postades av 2005-12-20 11:36:46 - Lennart Danielsson

Hej igen

Hur får jag reda på de binära talen för varje ???????????


Svara

Sv: Hur lösa ????????

Postades av 2005-12-20 11:57:04 - Martin Adrian

Du tycker om frågetecken eller :-)

Använd kalkylatorn i windows. Tryck på Bin, skriv in nollor och ettor och välj Dec eller Hex


Svara

Sv:Hur lösa ????????

Postades av 2005-12-21 08:22:36 - Lennart Danielsson

Okej tack så länge skall prova detta.


Svara

Sv: Hur lösa ????????

Postades av 2005-12-21 09:57:32 - Lennart Danielsson

Har provat och det blir inte rätt ändå.
Något annat förslag


Svara

Sv:Hur lösa ????????

Postades av 2005-12-21 13:38:26 - Niklas Jansson

Du verkar inte ha så stort intresse av att få hjälp?
Vad blev inte rätt?
Vad provade du istället?

En variant som torde vara lite lättare att greppa är att byta ut bit-grejen mot en array istället, något i stil med;
<code>
Dim correct(1 to 8) as boolean
dim i as long

for i = 1 to 8
correct(i) = (joker(i) = rätt(i))
next i

for i = 1 to 8
if not correct(i) then exit for
next
left=i

for i = 8 to 1 step -1
if not correct(i) then exit for
next
right=i
</code>


Svara

Sv: Hur lösa ????????

Postades av 2005-12-22 08:12:58 - Lennart Danielsson

Tack för förslaget nu har jag kommit på detta


Svara

Sv: Hur lösa ????????

Postades av 2005-12-22 10:01:50 - Lennart Danielsson

Du skrev så så här....

Du verkar inte ha så stort intresse av att få hjälp?

Tycker det verkar vara lite arrogant...

Ville jag inte ha hjälp skulle jag för f... inte skriva på Pellesoft NIKLAS

Kolla hur vinstgruppen ser ut : Här är kruxet för att lösa det rätt

GOD JUL & GOTT NYTT ÅR


Svara

Sv:Hur lösa ????????

Postades av 2005-12-22 14:03:41 - Niklas Jansson

Arrogant?

<b>Har provat och det blir inte rätt ändå.
Något annat förslag</b>
Arrogant?

Jag menar inte att du inte vill ha hjälp, jag menar att du inte gör så att man har någon större lust att ge hjälp.
Det underlättar om du försöker förklara att du faktiskt har försökt själv, vad du har försökt, osv.


Svara

Sv: Hur lösa ????????

Postades av 2005-12-22 14:36:57 - Andreas Hillqvist

Vad du krånglar till det.

Så här skule jag gjort det:

Dim TextBox As TextBox
Dim Index As Long
Dim Count As Long
Dim CountLeft As Long
Dim CountRight As Long
    For Each TextBox In TxtJrätt
        If TextBox.Text = TxtJoker(TextBox.Index).Text Then
            If Count = CountLeft Then
                CountLeft = CountLeft + 1
            End If
            Count = Count + 1
            TextBox.ForeColor = vbWhite
        Else
            TextBox.Enabled = False
        End If
    Next
    If Count > 0 And CountLeft < Count Then
        Index = TxtJrätt.UBound
        Do While TxtJrätt(Index).Text = TxtJoker(Index).Text
            CountRight = CountRight + 1
            Index = Index - 1
        Loop
    End If
     
    Label15.Visible = (Count = 7)
    Label16.Visible = (CountLeft = 6) Or (CountRight = 6)
    Label17.Visible = (CountLeft = 5) Or (CountRight = 5)
    Label18.Visible = (CountLeft = 4 And CountRight < 2) Or (CountLeft < 2 And CountRight = 4)
    Label19.Visible = (CountLeft = 3 And CountRight < 2) Or (CountLeft < 2 And CountRight = 3)
    Label20.Visible = (CountLeft = 2 And CountRight < 2) Or (CountLeft < 2 And CountRight = 2)
    Label21.Visible = (CountLeft = 4 And CountRight = 2)
    Label22.Visible = (CountRight = 2 And CountLeft = 4)
    Label23.Visible = (CountLeft = 3 And CountRight = 3)
    Label24.Visible = (CountRight = 3 And CountLeft = 2)
    Label25.Visible = (CountLeft = 2 And CountRight = 3)
    Label26.Visible = (CountRight = 2 And CountLeft = 2)


Svara

Sv:Hur lösa ????????

Postades av 2005-12-27 08:46:54 - Lennart Danielsson

Jag bugar och tackar det var precis det hät lösningen jag sökte.


Svara

Sv: Hur lösa ????????

Postades av 2005-12-27 10:31:20 - Lennart Danielsson

Jag bugar och tackar det var precis det hät lösningen jag sökte.

Har nu provat din lösning Andreas och den fungerar till en viss del
om jag har 1 rätt till vänster och 2 rätt till höger så räknar den antäl rätt till 3 det är ok
men nu kommer felet den visar label19 är tre rätt men det skall vara label20 du har ju inte tre rätt till vänster eller höger ju

Mvh


Svara

Sv:Hur lösa ????????

Postades av 2005-12-27 13:56:27 - Andreas Hillqvist

JAg insåg oxå detta felet när jag vaknade. Vet inte hur det kommer sig. Kan vara så att mina hjärnvågor synkroniserar sig med internet. Har ju trots allt trådlöst nätverk. ;o)

Nog om det. Felet är if-satsen som kontrollerar antal rätt till vänster. Den borde vara något sånhär:

   For Each TextBox In TxtJrätt
        If TextBox.Text = TxtJoker(TextBox.Index).Text Then
            Count = Count + 1 'Flyttat upp till innan if-satsen
            If Count = TextBox.Index Then 'Det var fel att kolla count mot CountLeft. Det skall vara index för att kontrolera om det infallit något fel.
                CountLeft = CountLeft + 1
            End If
            TextBox.ForeColor = vbWhite
        Else
            TextBox.Enabled = False
        End If
    Next


Svara

Sv: Hur lösa ????????

Postades av 2005-12-28 09:02:24 - Lennart Danielsson

Jo så kan det vara, jule är mycket tröttsamt.
men nu fungerar det perfekt TACK för ALL HJÄLP
har bara en liten fråga till.
Lablerna har jag på frame samt att alla ligger visible
nu vill jag att label20 i denna framen skall markeras röd osv för antal rätt
har provat med att sätta labeln till forecolor = vbred fungerar visst inte ändå.

skall jag göra istället så här för varje label

if CountLeft = 2 And CountRight < 2 _
Or CountLeft < 2 And CountRight = 2 then
label20.forecolor = vbred
end if


Svara

Nyligen

  • 19:55 kick-off med fokus på hälsa?
  • 19:53 kick-off med fokus på hälsa?
  • 16:24 Föreslå en skönhetsklinik online
  • 16:23 Föreslå en skönhetsklinik online
  • 18:42 Hvor finder man håndlavede lamper
  • 18:41 Hvor finder man håndlavede lamper
  • 16:36 Allt du behöver veta om keramiskt
  • 16:14 Vem anlitar man egentligen när tak

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 570 722
27 958
271 751
352
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