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


Slumpa

Postades av 2004-10-15 19:41:37 - Sten Ekström, i forum visual basic - allmänt, Tråden har 8 Kommentarer och lästs av 1171 personer

Hej alla Pellesoftare
Har en stryktipsram, har försökt att få programmet att räkna ut totalt antal rader
som min ram består av ex 5 hel och 4 halvgarderingar = 3888 rader men det vill sig inte
det verkar som X:et är problemet, antar jag måste göra om krysset till en siffra.
Har samma stryktipsram med hel och halvgarderade skall nu slumpa fram mina tipsrader
efter att jag fått frågan hur många rader jag vill tippa utifrån de totala raderna. Hur går jag till väga?
Har försökt på olika sätt att få det att fungera men icke. Ger snart upp.
Det är kanske mycket begärt men hoppas få lite hjälp på vägen.


Svara

Sv: Slumpa

Postades av 2004-10-15 20:20:05 - Per Persson

<b>har försökt att få programmet att räkna ut totalt antal rader som min ram består av ex 5 hel och 4 halvgarderingar = 3888 rader</b>

3^(antal helgarderingar) * 2^(antal halvgarderingar)
Ex. 3^5 * 2^4 = 243 * 16 = 3888


Svara

Sv: Slumpa

Postades av 2004-10-15 23:15:37 - Sten Ekström

Hej Per och tack för ditt svar

Skall försöka få ihop det med alla textboxar.
Har en textbox för varje tipstecken som markeras när jag klickar i dom så det är några stycken.
För mig är det klurigt men försöker man inte så lär man sig inget heller.

Åter igen tack


Svara

Sv: Slumpa

Postades av 2004-10-18 16:08:31 - Christian Svenberg

Vad jag förstod av ovanstående svar så har du alltså flera TextBoxar som markeras med ett tecken när du klickar i respektive ruta.

Om du ger alla TextBoxar samma namn (exempelvis txtRuta) och sedan Indexerar dom med värdena 0 , 1 , 2 , .. så kan du sedan använda en For-slinga för att gå igenom alla TextBoxar väldigt smidigt.

Dim iCurBox As Integer

For iCurBox = 0 To <här får du skriva antal textboxar du har, minus ett>
If Len(Trim(txtRuta(i).Text)) = 0 Then
'det står något i textrutan, och det är inget mellanrum
'kan göra ytterligare kontroller för att se om det är 1,X,2 om så önskas
'
'du kan helt enkelt utföra den kod du vill göra när du vet att något står i rutan
End If
Next

Hoppas detta är vad du söker, annars är det bara att hojta till!

mvh
Christian


Svara

Sv: Slumpa

Postades av 2004-10-18 23:23:44 - Sten Ekström

Hej Christian

Helt riktigt har en textbox för vart tecken så det är säkert vad jag är ute efter.
Har inte hållit på så länge så det blir en enkla vägen,
men som kanske inte alltid är den bästa.
Så jag har inte döpt om textboxarna utan det har blivit i turordning,
Text1.Text - Text39.Text. Har kanske varit enklare om jag använt mig av "arry:s",
Skall sätt mig och testa. Kan jag inte få det att fungera får jag väl maila hela projektet
så du får titta på det. Om det går för sig.
Skulle få hjälp av en gammal arbetskamrat som sade sig programera i VB
men det var nog mest prat för han har varken visat sig eller hört av sig.

Sten


Svara

Sv: Slumpa

Postades av 2004-10-19 00:23:32 - Christian Svenberg

Okej,
är inte riktigt med på din nivå av kunskap, så detta kanske låter lite väl förskole-aktigt, men jag hoppas du har överseende för det.

Eftersom du har textboxarna med namn Text1, Text2, Text3 osv fram till Text39, så blir det en väldigt lång kod för att kontrollera om det står något i en textbox. Jag vet inte hur du utför kontrollen nu, men det skulle innebära en If-sats (alternativt en Select Case-sats) för varje textbox i stil med:
<code>
If Text1.Text = "" Then
</code>
If Text2.Text = "" Then
...
If Text39.Text = "" Then
</code>

Det blir minst 39 rader kod för att kontrollera vad som innehåller ett tecken och inte.
För att lättast "gå igenom" (loopa) alla de textrutor du har, bör du således börja döpa om dessa 39 textboxar (genom att ändra Name-egenskapen) till exempelvis txtRuta, och egenskapen "Index" sätts till 0, följt av att Text2 då kommer heta txtRuta också, men med Index-värdet 1.

Text1 = txtRuta(0)
Text2 = txtRuta(1)
...
Text39 = txtRuta(38)

Vad du kan göra för att gå igenom alla de textboxar du har enligt ovan, krävs enbart några få rader kod. Är du familjär med FOR-slingor? Med dessa kan du upprepa kod ett visst antal gånger (och du kan när som helst avsluta upprepningen med en rad kod om så önskas i framtiden).

<code>
For i = 0 To 38
Next
</code>

Det är grundkoden för en loop, som utförs 39 gånger (0=1gången, 1=2gången, ..., 38=39 gången).
i är en variabel, som naturligtvis kan heta vad som än är tillåtet för en variabel, och i detta fallet kan den dimensioneras till Integer (dvs, du talar om för VB att det är ett heltal vi sysslar med, om vi inte gör det så tolkar VB det som en variabel av datatypen Variant vilket kräver mest minne.. Det är rätt små "minnes-bytes" i detta fall, men många bäckar små..)

Jag är inte riktigt säker på om du vill kolla vad det finns för tecken i textboxen, eller om du bara vill kolla om det överhuvud taget står något där. Därför följer två exempel du kan använda:

För att kontrollera om det står något alls:
<code>
Dim i As Integer
For i = 0 to 38
If Len(Trim(txtRuta(i).Text)) <> 0 Then
'kod att utföra när en ruta innehåller något tecken (filtrerar bort eventuella mellanslag)
End If
Next
</code>

För att kontrollera om det står något, och vad det står i rutan:
<code>
Dim i As Integer
For i = 0 to 38
If Trim(txtRuta(i).Text) = "1" Then
'kod att utföra när en ruta innehåller tecken 1
ElseIf Trim(txtRuta(i).Text) = "X" Then
'kod att utföra när en ruta innehåller tecken X
ElseIf Trim(txtRuta(i).Text) = "2" Then
'kod att utföra när en ruta innehåller tecken 2
End If
Next
</code>
Notera att i senaste exemplet står 1,X och 2 inom citationstecken. Detta är för att textboxen tolkar sitt innehåll som en sträng, även om det bara står en siffra där, vill man ändå räkna det som en siffra kan man byta ut exempelvis villkoret mot: Val(Trim(txtRuta(i).Text)) = 1
Val() omdimensionerar variabeln automatiskt till en passande datatyp för tal.

Förklaringar av funktioner som används:
Trim() tar bort mellanslag (space) före och efter den sträng man anger inom parenteserna.
LTrim() tar bort mellanslagen före, och enbart före, den angivna strängen.
RTrim() tar således bort enbart de mellanslag efter texten.

Len() returnerar längden, dvs antal tecken, på det angivna argumentet.

Vad som egentligen händer i For-satsen med i, är att för varje gång som koden utförs så ökar i med ett steg. Således kommer i vara 0 första gången, och 1 andra gången, tredje gången koden körs är i = 2. Här ser vi snabbt ett samband mellan i och textboxarna vi har döpt till txtRuta, deras Index motsvarar värdet på i, smart va? ;o)

På detta sättet kommer du lätt igenom de 39 textboxar du har.

Jag vet inte hur man definierar något som en helgardering eller halvgardering, då jag inte spelar något sådant själv.

Jag svarar gärna mer om du har frågor eller inte förstår..

mvh
Christian


Svara

Sv: Slumpa

Postades av 2004-10-25 21:58:35 - Sten Ekström

Tack Christian för ditt angagemang.
Hoppas du ursäktar att jag inte har svarat på inlägget tidigare.
Har under några dagar försökt att para ihop dina rader kod med den jag fick av Per
för att få till automatik på så vis att när jag skriver in respektive tipstecken i texboxarna
skall antal rader automatiskt komma upp i en textbox (txtAntRader).
Ex: I match ett vill jag ha en halvgardering 1 - 2 så när jag skriver in ettan i txtBox(0) skall det i txtAntRader komma upp en etta, när jag skriver in tvåan i txtBox(2) skall txtAntRader ändras till 2,
match 2 är säker ingen ändring i txtAntrader. Match tre vill jag helgardera så när jag har skrivit in respektive tipstecken i textboxarna skall det i txtAntrader stå en sexa (2*3=6) o.s.v
Men som vanligt klarar jag inte av ekvationen. Så nu har jag funderat på att lägga ned projektet
och köpa kaniner, dom är ju redan programmerade.
Tro det eller ej men jag har faktiskt gjort program som fungerar.

Mvh
Sten


Svara

Sv: Slumpa

Postades av 2004-10-25 23:44:54 - Per Persson

Om rutorna heter
box1 box2 box3
box4 box5 box6
box7 box8 box9
...
och de har en egenskap 'ifylld' som är 1 om man har skrivit in ett tecken, 0 om man inte har skrivit in något, så blir antalet ifyllda rutor i rad1 (box1.ifylld + box2.ifylld + box3.ifylld) och motsvarande på de andra raderna.
Antalet möjliga tipsrader utifrån alla de rutor man fyllt i blir
(box1.ifylld + box2.ifylld + box3.ifylld) * (box4.ifylld + box5.ifylld + box6.ifylld) * ... * (box37.ifylld + box38.ifylld + box39.ifylld)
Observera att man här måste ha fyllt i minst en ruta på varje rad för att få något annat än 0.

Du förstår kanske varför en annan namngivning hade varit bra...?
Hade rutorna hetat box[1][1], box[1][2], box[1][3], box[2][1], box[2][2], box[3][3], ... hade man kunnat använda ett par loopar:
<code>
TotaltAntalKombinationer = 1

For rad = 1 To 13

AntalIfylldaDennaRad = 0

For kol = 1 To 3
AntalIfylldaDennaRad += box[rad][kol].ifylld
Next

TotaltAntalKombinationer *= AntalIfylldaDennaRad

Next

' Totalt antal kombinationer finns förstås i TotaltAntalKombinationer
</code>


Edit:
Ett exempel med kryssrutor gjort i JavaScript:
http://w1.370.telia.com/~u37026148/test/tipsrad.htm


Svara

Sv: Slumpa

Postades av 2004-10-29 13:45:00 - Sten Ekström

Tack Per
Du får mig att fortsätta med galenskaperna.
Med de råd och tips jag får går det ju inte att lägga av.
Blir till att åter slita sitt hår. Synd om frisören.
Var inne på den länk hänvisade till, det är så hade jag tänkt mig.

Tack Per. Jag åter kommer, var så säker.

Sten


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 718
27 958
271 751
3 235
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