Avatar billede mbl Juniormester
21. august 2009 - 10:31 Der er 6 kommentarer og
1 løsning

Indsæt bogstav i linie

Jeg skal lave en linie i en tekstfil som ikke er et problem som sådan. Mit problem ligger i at linien skal bygges op så de tal der måtte kom skal ligge nøjagtig på denne linie.

Eks:
        1      2      30      4 

Tal 1 skal ligge "Col" nummer 10
Tal 2 skal ligge "Col" nummer 17
Tal 30 skal ligge "Col" nummer 24
Tal 4 skal ligge "Col" nummer 33
Avatar billede Slettet bruger
21. august 2009 - 11:37 #1
Function test()
    MsgBox (outputNumbers(1, 2, 30, 4))
End Function
Function outputNumbers(a As Integer, b As Integer, c As Integer, d As Integer)
    outputNumbers = repeat(" ", 10) & addSpaces(CStr(a), 7) & addSpaces(CStr(b), 7) & addSpaces(CStr(c), 7) & addSpaces(CStr(d), 9)
End Function
Function addSpaces(str As String, length As Integer)
    addSpaces = str & repeat(" ", length - Len(str))
End Function
Function repeat(str As String, count As Integer) As String
    repeat = ""
    Dim i As Integer
    For i = 1 To count
        repeat = repeat & str
    Next
End Function
Avatar billede mbl Juniormester
21. august 2009 - 12:37 #2
Takker for hjælpen
Avatar billede mbl Juniormester
21. august 2009 - 13:07 #3
Jeg er støt ind i et problem, hvad gør jeg når der er en text imellem??  4 = tekst
Avatar billede Slettet bruger
21. august 2009 - 13:32 #4
Så kan du gøre sådan her:
Function test()
    MsgBox (outputNumbers("1", "2", "30", "tekst"))
End Function
Function outputNumbers(a as String, b as String, c As String, d As String)
    outputNumbers = repeat(" ", 10) & addSpaces(a, 7) & addSpaces(b, 7) & addSpaces(c, 7) & addSpaces(d, 9)
End Function
Function addSpaces(str As String, length As Integer)
    addSpaces = str & repeat(" ", length - Len(str))
End Function
Function repeat(str As String, count As Integer) As String
    repeat = ""
    Dim i As Integer
    For i = 1 To count
        repeat = repeat & str
    Next
End Function
Avatar billede mbl Juniormester
21. august 2009 - 13:42 #5
den giver en fejl "Type Mismatch" og stiller sig på linien

MsgBox (outputNumbers("1", "2", "30", "tekst"))
Avatar billede mbl Juniormester
21. august 2009 - 13:44 #6
Hvis det er tal "2" er det ok

Er det tekst "tekst" kommer der fejl
Avatar billede Slettet bruger
21. august 2009 - 15:34 #7
Har du husket at udskifte resten af koden? Jeg har også rettet i funktionen outputNumbers
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