Avatar billede wilweb Nybegynder
23. november 2002 - 01:09 Der er 4 kommentarer og
1 løsning

Brug af "Format" i en listbox

Jeg vil gerne add mine 2 variabler til min listbox, med hjælp af Format. Format skal gøre så at der altid er sat plads af til 4 tegn i tScore og 4 tegn i tTilbage, men det går ikke så godt!

List1.AddItem (Format(tScore, "####") & Format("tTilbage", "########"))

Hvad gør jeg forkert!
Avatar billede sjh Nybegynder
23. november 2002 - 03:54 #1
kan ikke lige se hvad du vil formater, men det jeg tror du mener er:

Private Sub Form_Load()
tScore = 123
tTilbage = "abcde"

  'Right4(tScore) & Left8(tTilbage) = #123abcde###

  List1.AddItem Right4(tScore) & Left8(tTilbage)
End Sub

Public Function Left8(ByVal var As Variant)
  If Len(var) < 8 Then
    Left8 = Left(var & "########", 8)
      Else
    Left8 = var
  End If
End Function

Public Function Right4(ByVal var As Variant)
  If Len(var) < 4 Then
    Right4 = Right("####" & var, 4)
      Else
    Right4 = var
  End If
End Function
Avatar billede wilweb Nybegynder
23. november 2002 - 13:25 #2
Det jeg vil formatere er de 2 variabler (tScore & tTilbage). Altså, hvis tScore indeholder 123, så skal den addes til listbox'en som [space]+ 123, hvis tScore indeholder 12 skal der addes til listbox'en [space]+[space]+ 12 osv...

Håber det er til at forstå.
Avatar billede wilweb Nybegynder
23. november 2002 - 13:32 #3
Hvis jeg omskriver din kode lidt så får jeg det ønskede resultat.

'kode
Private Sub Form_Load()
tScore = 123
tTilbage = "abcde"

  'Right4(tScore) & Left8(tTilbage) = #123abcde###

  List1.AddItem Right4(tScore) & Left8(tTilbage)
End Sub

Public Function Left8(ByVal var As Variant)
  If Len(var) < 8 Then
    Left8 = Right("        " & var, 8)
      Else
    Left8 = var
  End If
End Function

Public Function Right4(ByVal var As Variant)
  If Len(var) < 4 Then
    Right4 = Right("    " & var, 4)
      Else
    Right4 = var
  End If
End Function

Hvis du syntes der er en smartere måde er jeg meget lydhør
Avatar billede sjh Nybegynder
23. november 2002 - 14:12 #4
Jeg kan se at du kun skal bruge "Right" og ikke Left, så gør sådan:


Private Sub Form_Load()
tScore = 123
tTilbage = "abcde"

  List1.AddItem AddSpace(tScore, 4) & AddSpace(tTilbage, 8)
End Sub

Public Function AddSpace(ByVal vStr As Variant, MaxSpace As Long) As Variant
  If Len(var) < MaxSpace Then
    AddSpace = Right(Space(MaxSpace) & vStr, MaxSpace)
      Else
    AddSpace = vStr
  End If
End Function
Avatar billede wilweb Nybegynder
24. november 2002 - 00:25 #5
Takker :>
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester