'Du har din matris:
Dim Matris(1 to 4, 1 to 4) as integer
'Jag skulle lägga till
Dim FixWidth as String * 20
Dim UtRad as String
' Gör en sträng som ALLTID är 20 tecken lång, de som är _ tomma fylls ut med mellanslag automatiskt. UtRad ska skrivas till _
t.ex din listbox. Det är svårt att formatera Label´s, så kör istället med t.ex en textruta med multiline aktiverat.
Dim iX as integer ' Gör ett index till For loopen som stegar ner.
Dim iY as integer ' Gör ett index till For loopen med radens värden.
For iX = 1 to 4 step 1 ' Stegar "nedåt" i din Matris
UtRad = "" ' Tömmer UtRad
For iY = 1 to 4 step 1 ' Loopar ut värdena på raden
FixWidth = Matris(iX,iY) ' FixWidth blir värdet
'på koordinaten och utfylld med mellanslag tills den är
' 20 tecken lång.
UtRad = UtRad & FixWidth
Next iY ' Nästa Fält i Raden
List1.additem = UtRad ' Skriver raden till List1
Next iX 'Nästa Rad i matrisen
Detta ska funka, har inte testkört koden, men det ska inte vara några problem.
Dim Matris(1 To 4, 1 To 4) As Integer
Dim iX As Integer, iY As Integer
Dim sBuffer As String
For iX = 1 To 4
sBuffer = ""
For iY = 1 To 4
sBuffer = sBuffer & Matris(iX, iY) & vbTab
Next iY
List1.AddItem Left$(sBuffer, Len(sBuffer) - 1)
Next iX
Nexus86 exempel var det bästa...men inte riktigt bra eftersom att jag vill om det tex är en 1:a så skall den in ett tecken till
så det inte blir som nedan:
Bättre? Om inte får du helt enkelt byta font till en monospace-font (t.ex. Courier/Courier New).
Dim Matris(1 To 4, 1 To 4) As Integer
Dim iX As Integer, iY As Integer
Dim sBuffer As String
For iX = 1 To 4
sBuffer = ""
For iY = 1 To 4
sBuffer = sBuffer & Right$(" " & CStr(Matris(iX, iY)), 2) & vbTab
Next iY
List1.AddItem Left$(sBuffer, Len(sBuffer) - 1)
Next iX
R// Detta funkar endast om siffrorna som ska stå i kolumnerna bara är max tvåsiffriga.
260 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e