Avatar billede lund_dk Praktikant
10. november 2005 - 09:30 Der er 10 kommentarer og
1 løsning

Tæl antal tegn og indsæt punktummer

Jeg skal have lavet en lille funktion som går ud på at jeg kan gøre følgende:

tekst 1.............44,00
teksttekst 2.......440,00
ssdh.................4,00


Altså, jeg har til at starte med en tekst, så skal der indsættes punktummer og til sidst skal min pris stå.

Det hele skal stå som ovenfor altså 25 tegn i alt på linien. Har så brug for at tælle hvor mange tegn min tekst er, hvor mange tegn min pris er, lægge de tegn sammen, og så tælle hvor mange resterende tegn der er op til de 25 og indsætte det antal punktummer, hvordan gør jeg det ?

<%=rs("tekst")%>....<%=rs("pris")%>
Avatar billede fennec Nybegynder
10. november 2005 - 09:33 #1
txtLen = len(rs("tekst")) + len(rs("pris"))
for f=txtLen to 25
  response.write "."
next
Avatar billede polle007 Nybegynder
10. november 2005 - 09:37 #2
eller

If txtLen < 25 Then Response.Write String(25-txtLen, ".")
Avatar billede lund_dk Praktikant
10. november 2005 - 09:53 #3
Umiddelbart får jeg kun 25 punktummer og får hverken udskrevet pris eller tekst.
Avatar billede lund_dk Praktikant
10. november 2005 - 09:57 #4
Nevermind, min fejl.. det lader til at virke.. mange tak :)
Avatar billede lund_dk Praktikant
10. november 2005 - 10:00 #5
Nææh, virker ikke helt..
<%
            strVareDetalje = "select * from VareDetalje where VareID = " & rsVare("VareID") & " AND Lagerantal > 0"
            Set RSVareDetalje = conn.Execute(strVareDetalje)
            if not rsVaredetalje.EOF then
            'response.write "Varen er udsolgt."
            'else
            %>
            <select size="1" name="VareDetalje" class="varedetinlput" style="width:100%;font-family:Courier New;" >
            <%
            While Not RSVareDetalje.EOF
           
            if not rsvaredetalje("typeID") = "0" then
            strVareType = "select * from Type where TypeID = " & rsVareDetalje("TypeID") & ""
            Set RSVareType = conn.Execute(strVareType)
            txtLen = len(("vareType")) + len(rsvaredetalje("pris"))

           
            VareType = rsVaretype("type")
            Set RSVareType=Nothing
            end if
            %>
            <option value="<%=RSvareDetalje("ID")%>"><%=varetype%><%If txtLen < 25 Then Response.Write String(25-txtLen, ".") end if%><%=formatnumber(RSvareDetalje("Pris"))%></option>
            <%
            RSVareDetalje.MoveNext
            Wend
           
            Set RSVareDetalje=Nothing
           
            response.write "</select>"
            end if
            %>

jeg får en linie med 21 tegn, en anden linie med 20 tegn.. gør jeg noget galt ?
Avatar billede lund_dk Praktikant
10. november 2005 - 10:17 #6
Avatar billede lund_dk Praktikant
10. november 2005 - 10:17 #7
Avatar billede fennec Nybegynder
10. november 2005 - 10:26 #8
Det er formatnumber der er problemet. Den skal du have med når du tæller længden:

txtLen = len(("vareType")) + len(formatnumber(rsvaredetalje("pris")))
Avatar billede lund_dk Praktikant
10. november 2005 - 10:33 #9
Umiddelbart giver det det samme resultat, tag et kig.
Har lige lavet . om til c så det er nemmere at tælle, det skal jo helst give 25 tegn i alt, men gør det ikke.
Avatar billede fennec Nybegynder
10. november 2005 - 10:50 #10
Du har vist også glemt en rsvaredetalje :o)

txtLen = len(rsvaredetalje("vareType")) + len(formatnumber(rsvaredetalje("pris")))
Avatar billede lund_dk Praktikant
10. november 2005 - 13:47 #11
ligger du et svar?
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