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


Slinga för sökning

Postades av 2003-04-15 21:29:55 - Peter Andersson, i forum visual basic - allmänt, Tråden har 14 Kommentarer och lästs av 474 personer

Jag har två vektorer med tio checkboxar i varje.
CheckBox1(0)
CheckBox2(0)

T.ex.
Om
Checkbox1(0).Value = True
Checkbox1(1).Value = True
Checkbox1(2).Value = True
Och
Checkbox2(2).Value = True
Checkbox2(3).Value = True

Vill jag att en loop söker igenom och skriver ut exemplet så här:

0 2
1 2
2 2
0 3
1 3
2 3

Att söka upp första boxen som är true kan man ju med Do Until men resten fixar jag inte.
/Peter


Svara

Sv: Slinga för sökning

Postades av 2003-04-15 22:12:56 - Andreas Hillqvist

Otydligt vad du vil göra. Kan du ge ytterligare information?


Svara

Sv: Slinga för sökning

Postades av 2003-04-15 22:26:50 - Peter Andersson

Loopen ska söka igenom vektor för vektor vilken checkbox som är markerad och printa ut i t.ex. en picbox: första markerade checkboxen i första vektorn och första markerade checkboxen i andra vektorn, Sen gå vidare med första markerade checkboxen i första vektorn och andra markerade checkboxen i andra vektorn osv. OK?


Svara

Sv: Slinga för sökning

Postades av 2003-04-16 08:32:16 - Andreas Hillqvist

MEnar du så här?
<code>
Dim Check1 As CheckBox
Dim Check2 As CheckBox
For Each Check2 In Checkbox2
If Check2.Value Then
For Each Check1 In Checkbox1
If Check1.Value Then
Debug.Print Check1.Index & " " & Check2.Index
End If
Next
End If
Next
</code>

Vad ska hända om det inte finns någon markerar i anntingen Checkbox1() eller Checkbox2()?


Svara

Sv: Slinga för sökning

Postades av 2003-04-16 08:32:41 - Anders Eidergard

Tjena!

Inte helt säker på vad du egentligen är ute efter men du kan kanske ha den här lilla snutten att utgå ifrån

Koden förutsätter att du två arrayer med checkboxar, en listbox och en knapp på ett formulär.

<code>
Private Sub Command1_Click()
Dim nCheck2 As Long, nCheck1 As Long
List1.Clear
Do While nCheck2 < Check2.Count
Do While nCheck1 < Check1.Count
If Check1(nCheck1).Value Or Check2(nCheck2).Value Then
List1.AddItem Check1(nCheck1).Value & " " & Check2(nCheck2).Value
End If
nCheck1 = nCheck1 + 1
Loop
nCheck2 = nCheck2 + 1
nCheck1 = 0
Loop
End Sub
</code>

/Anders


Svara

Sv: Slinga för sökning

Postades av 2003-04-16 21:10:27 - Peter Andersson

Tack för tipsen. Om man inte fyller i får man påminnelse (msgbox). Så proceduren körs bara om båda är ifyllda. /Peter


Svara

Sv: Slinga för sökning

Postades av 2003-04-16 21:43:37 - Peter Andersson

Kanon Hillqvist! Precis som jag ville ha det. Fast jag hajar inte varför man dimmar variabeln Check1 som CheckBox. Vad händer då? / Peter


Svara

Sv: Slinga för sökning

Postades av 2003-04-16 22:12:22 - Andreas Hillqvist

Istället för att använda två variabler av tal datatype och en For-sats. Använder jag for each satsen. Vilket istället går igenom objekten i en samling. Vilket är effektivare och snyggare.


Svara

Sv: Slinga för sökning

Postades av 2003-04-16 22:23:04 - Peter Andersson

OK. Vidare i projektet. Kan man under procedurens gång utesluta vissa kombinationer. T.ex. om talen är lika så printas de inte ut. E ja jobbig nu eller? /Peter


Svara

Sv: Slinga för sökning

Postades av 2003-04-16 22:49:31 - Andreas Hillqvist

Inget är omöjligt:
<code>
Dim Check1 As CheckBox
Dim Check2 As CheckBox
For Each Check2 In Checkbox2
If Check2.Value Then
For Each Check1 In Checkbox1
If Check1.Value Then
If Check1.Index <> Check2.Index Then
Debug.Print Check1.Index & " " & Check2.Index
End If
End If
Next
End If
Next
</code>


Svara

Sv: Slinga för sökning

Postades av 2003-04-17 05:21:24 - Peter Andersson

Tack, ska testa ikväll. /Peter


Svara

Sv: Slinga för sökning

Postades av 2003-04-17 22:37:04 - Peter Andersson

Funkar bra med
<code>
If Check1.Index <> Check2.Index Then
</code>

Nytt problem. Hur får jag Check1.Index (10) att bli en bokstav t.ex. X istället. Jag vill bara ha ett tecken åt gången i utskriften. /Peter


Svara

Sv: Slinga för sökning

Postades av 2003-04-17 22:42:06 - Andreas Hillqvist

Klarar du inte at lösa det själv?
<code>
Dim Check1 As CheckBox
Dim Check2 As CheckBox
Dim Names as Variant
Names = Array("0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F")
For Each Check2 In Checkbox2
If Check2.Value Then
For Each Check1 In Checkbox1
If Check1.Value Then
If Check1.Index <> Check2.Index Then
Debug.Print Names(Check1.Index) & " " & Names(Check2.Index)
End If
End If
Next
End If
Next
</code>
Har inte testat men ungefär detta bör fungera. Har du et fast antal kontroller, eller kan det variera?


Svara

Sv: Slinga för sökning

Postades av 2003-04-17 22:49:02 - Peter Andersson

Fast 10 kontroller i 6 arrayer. Suveränt. Funkar skitbra.


Svara

Sv: Slinga för sökning

Postades av 2003-04-17 23:41:48 - Peter Andersson

Fel-fel-fel. Naturligtvis har jag 11 kontroller i varje vektor annars hade jag ju inte behövt använda en bokstav istället för 10. (0-9 är ju 10st). /Peter


Svara

Nyligen

  • 11:52 Noen erfaring med uttak hos Mostbe
  • 11:51 Noen erfaring med uttak hos Mostbe
  • 20:22 Spel
  • 17:07 Snabb och trevlig webbplats utan l
  • 17:00 Bra spelsajt med bonusar
  • 15:51 Slappna av
  • 15:17 Onlineunderhållning på fritiden
  • 11:13 Online Kasino

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 102
27 955
271 726
18 704
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