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


Rutnät

Postades av 2005-02-16 15:04:53 - Kjell Andersson, i forum visual basic - allmänt, Tråden har 14 Kommentarer och lästs av 730 personer

Kan man på något vis göra en array med två variabler i en Label? Alltså kunna hänvisa till Label1(i,j). Jag vill göra ett rutnät som skall loopas igenom och det blir krångligt om man har Label1(i), Label2(i) osv när man skall räkna ihop kolumner. Finns det annars något annat smart sätt att skapa loopbara rutnät? Användaren skall själv kunna ange storlek på nätet från 2 X 2 till 30 X 30.


Svara

Sv: Rutnät

Postades av 2005-02-16 15:34:20 - Johan Svensson

Om jag minns rätt så kan man inte ha mer än en dimension på sin array av kontroller. Däremot finns ju andra knep...

Du kan ju helt enkelt räkna ut hur många kontroler som behövs och indexra därefter. Låt oss säga att du skall ha en 3x5 matris, då behöver du 15 kontroller. Låt nu 1-5 motsvara rad 1, 6-10 rad två osv. Matematisk skriver du så här:

label( R * 5 + K )

där R är raden (från 0-2) och K är kolumnen (1-5). Konstanen fem som du multiplicerar med kommer från storleken på din array och måste vara känd (dvs, du vet ju värdet efter att anävndaren angett den ju).


Lycka till!

// Johan


Svara

Sv: Rutnät

Postades av 2005-02-16 18:31:03 - Ola Lindfeldt

Det låter som att du ska använda en FlexGrid i stället

Exempel: http://www.veign.com/vrc_codeview.asp?type=app&id=33


Svara

Sv:Rutnät

Postades av 2005-02-17 10:42:05 - Kjell Andersson

Tack jag skall testa detta.


Svara

Sv:Rutnät

Postades av 2005-02-18 17:56:00 - Kjell Andersson

Säg att lablarna ligger 4 rader X 4 kolumner och med utgångsvärde Visible=False.

1 2 3 4
5 6 7 8
9 10 11 12
13 14 15 16

Säg att användaren vill ha 2 X 2 rutor. Då skall lablarna 1, 2, 5, och 6 visas. Väljer användaren 2 X 3 rutor skall lablarna 1, 2, 3, 5, 6 och 7 visas. Jag får inte till en generell formel för detta. Är det enklare att använda NewLabel och placera ut i rader på något vis?


Svara

Sv: Rutnät

Postades av 2005-02-18 23:37:50 - Johan Svensson

Hej,

Jag tycker nog detta är ett litet konstigt angreppssätt. Antingen bör du ha dynamisk uplacering av kontroller eller ännu bättre en grid av något slag som föreslagits tidigare i tråden.

Men om du nu envisas...

Jag förutsätter att du vill ha radnummer i intervallet 1-y och kolumn i intervall 1-x. Då gäller fortfarande formeln:

pos = (r - 1) * y + k

dock i ditt fall får du lägga till en mätning på att r <= y såväl som att r <= maximala antalet synliga rader och så likadant på kolumnerna.


// Johan


Svara

Sv:Rutnät

Postades av 2005-02-19 12:19:25 - Kjell Andersson

Jo jag är kanske envis. Det är problem med den formeln. Labelindex går från 1 till 16 och som loopas igenom när det avgörs vilka som skall synas. När man angett 2X2 skall alltså lablarna med index 4 och 5 inte visas på första raden. Index skall alltså adderas med 2 innan nästa label skall synas och det klarar inte formeln.


Svara

Sv: Rutnät

Postades av 2005-02-20 22:20:35 - Johan Svensson

Nu är jag inte med, varför funkar inte detta? Kan du exemplifiera lite tydligare exakt vad du är ute efter?


Svara

Sv:Rutnät

Postades av 2005-02-21 15:16:34 - Kjell Andersson

Prövade FlexGrid. Hur ger man den cell man klickar i med höger musknapp fokus?


Svara

Sv:Rutnät

Postades av 2005-02-21 19:27:08 - Kjell Andersson

Jag har en array med labels label(1) till label(16) som är placerade i fyra rader som jag visat ovan. Om jag vill ha 2 rader och 2 kolumner så skall alltså lablarna 1, 2, 5 och 6 som skall vara Visible=True. Väljer användaren 2 rader och 3 kolumner skall lablarna 1,2,3,5,6,7 vara Visible=True. Det är en formel jag är ute efter som klarar av rader och kolumner som variabler som kan göra de rätta lablarna synliga. Jag vet inte hur jag skall förklara det på annat sätt.


Svara

Sv: Rutnät

Postades av 2005-02-22 03:18:21 - Sven Åke Persson

Ditt senaste exempel löser jag enl denna princip.
<code>
Private Sub Command1_Click()
Dim x As Long, y As Long, n As Long, i As Long
x = Int(Text1.Text) 'Kolumner som användaren väljer
y = Int(Text2.Text) 'Rader som användaren väljer
n = 1
For i = 1 To x * y 'antal som skall tändas
Label1(n).Visible = True
If i Mod x = 0 Then n = n + (4 - x) ' 4 i varje rad
n = n + 1
Next 'i
End Sub

Private Sub Command2_Click()
'Återställ alla Label:s
Dim i As Long
For i = 1 To 16
Label1(i).Visible = False
Next 'i
End Sub
</code>


Svara

Sv:Rutnät

Postades av 2005-02-22 12:10:13 - Kjell Andersson

Tack, detta var guld!


Svara

Sv: Rutnät

Postades av 2005-02-22 13:17:04 - Sven Åke Persson

För ordningen skull ser jag nu att att jag bytt plats på x och y

x = kolumner y = rader har ingen betydelse här men rätt skall vara rätt

DS


Svara

Sv:Rutnät

Postades av 2005-02-23 09:09:40 - Per Karlsson

Men... i ursprungsfrågan ville du kunna ha ett rutnät upp till 30x30. Detta skulle innebära att du måste placera ut 900 labels!!! Därför måste det ju vara bättre att ladda in dessa labels dynamiskt, precis som ni varit inne på tidigare i tråden.


Svara

Sv: Rutnät

Postades av 2005-02-23 12:53:39 - Sven Åke Persson

Javisst Per så tänkte jag också,men sen ändrade han sig till rimligare antal.


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 614
27 953
271 709
562
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