Avatar billede nielle Nybegynder
15. juli 2003 - 21:49 Der er 8 kommentarer og
1 løsning

sprintf og ASP?

Findes der i ASP+VBScript nogen metode til at lave det som sprintf gør?

Jeg står nemlig for at skulle lave et site med flere forskellige sprog. Derfor ønsker jeg at gemme format-strenge i min DB, for derefter at kunne trække dem ud runtime og indsætte mine tal:

<%
String1 = "Du har nu besøgt os %i gange."
String2 = "You have now visited us %i times."

NoOfVisits = 13

Response.Write(sprintf(String1), NoOfVisits)
Response.Write(sprintf(String2), NoOfVisits)
%>

Grunden til at jeg ikke bare laver en sprintf selv er at den så ikke vil være flesibel nok. F.eks. ville antallet af argumenter være låst til et bestemt antal.
Avatar billede Slettet bruger
15. juli 2003 - 22:13 #1
Hvad gør sprintf?
Avatar billede nielle Nybegynder
15. juli 2003 - 22:28 #2
sprintf("Du har nu besøgt os %i gange.", 13)

returnere strengen:

"Du har nu besøgt os 13 gange."

%i fortæller at det er et heltal som skal indsættes på positionen. Andre muligheder er %f for relle tal og %s for en tekst.

sprintf er meget fleksibel - man kan nemlig Have lige så mange %'er som man vil have:

sprintf("Spiller %s her nu en score på %i (%i+%i)", PlayerName, Value1+Value2, Value1, Value2)

- som kan lave en tekst i stil med "Spiller nille her nu en score på 15 (4+11)"
Avatar billede nielle Nybegynder
15. juli 2003 - 22:29 #3
sprintf er kendt fra mange andre programmeringssprog; C, C++, perl og PHP for bare at nævne nogle få.
Avatar billede Slettet bruger
15. juli 2003 - 22:34 #4
He, jeg har haft C/C++ i 4 måneder for ca 6 år siden, så det er meget langt væk... :-)
Jeg kan ikke komme i tanke om noget som du kan bruge i ASP til det du gerne vil, desværre. Men du kunne jo, hvis du gerne selv vil lave det, evt. lave et array til at holde dine argumenter og så pakke dem ud i din funktion, så er du ihvertfald ikke begrænset af antal.
Avatar billede Slettet bruger
15. juli 2003 - 22:36 #5
Hmm ved nærmere eftertanke så er der i VBScript en funktion som hedder eval, der er lidt her om den:
http://www.devguru.com/Technologies/vbscript/quickref/eval.html
Måske du kan bruge den til noget?
Avatar billede nielle Nybegynder
16. juli 2003 - 06:48 #6
Den virker nu ikke rigtig lovende. Hvis jeg selv snder med at lave det, så er det Replace som kommer nærmest:

SPRINTF = Replace("Du har nu besøgt os %i gange.", "%i", 13)

- men denne løsning er på ingen måde nær så fleksibel og altomfattende som sprintf er.
Avatar billede Slettet bruger
16. juli 2003 - 22:36 #7
Næ, det har du helt ret i :-)
Lige nu kan jeg ikke komme i tanke om mere, desværre.
Avatar billede nielle Nybegynder
29. juli 2003 - 15:36 #8
Æv.
Avatar billede Slettet bruger
29. juli 2003 - 16:06 #9
Desværre :-)
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

IT-JOB

IT Forum Gruppen

Senior Sales Manager hos ITF

Forsvarsministeriets Materiel- og Indkøbsstyrelse

Solution Manager til Cyberdivisionen

Metroselskabet I/S

Senior IT Help Desk Specialist

Capgemini Danmark A/S

AI/Data Engineer