webForumDet fria alternativet

underliga tecken i txtfil

ASP

4 svar · 215 visningar · startad av LR^evil.sid

Medlem sedan maj 2002560 inlägg
Frågan#1
<%
	dim txtobj, thetxt, path, cntr

	path = server.mappath("\project\") & "\cnt.txt"

	set txtobj = server.createobject("scripting.filesystemobject")
	set thetxt = txtobj.opentextfile(path, 1, false)
	cntr = thetxt.readline
[red][b]line 30	cntr = cntr + 1[/b][/red]
	thetxt.close

	set txtobj = server.createobject("scripting.filesystemobject")
	set thetxt = txtobj.createtextfile(path, 2, true)
	thetxt.writeline cntr
	thetxt.close
%>
	<font face = 'verdana' size = '2'>Du är besökare nr: <% =cntr %></font>

genererar:

Microsoft VBScript runtime error '800a000d' 

Type mismatch: '[string: "ÿþ1"]' 

/project/index.asp, line 30

varför?

Medlem sedan juni 20019 519 inlägg
#2

prova:

<%
	dim txtobj, thetxt, path, cntr

	path = server.mappath("\project\") & "\cnt.txt"

	set txtobj = server.createobject("scripting.filesystemobject")
	set thetxt = txtobj.opentextfile(path, 1, false)
	cntr = thetxt.readline
	cntr = [b]cint([/b]cntr[b])[/b] + 1
	thetxt.close

	set txtobj = server.createobject("scripting.filesystemobject")
	set thetxt = txtobj.createtextfile(path, 2, true)
	thetxt.writeline cntr
	thetxt.close
%>
				<font face = 'verdana' size = '2'>Du är besökare nr: <% =cntr %></font>

Vi kan ju inte lägga ihop ett tal med en string.. så vi gör om stringen till ett tal.. typ :e

Medlem sedan maj 2002560 inlägg
#3

voigtann1 skrev:

Vi kan ju inte lägga ihop ett tal med en string.. så vi gör om stringen till ett tal.. typ

Jag vet, det är inte det som är problemet, "ÿþ" läggs till före antalet i "cnt.txt".

Vad har hänt efter som dessa tecken läggs till?

Medlem sedan jan. 20032 285 inlägg
#4

Du kan ju göra såhär, även om jag tycker att det inte ska behövas.

<%
dim txtobj, thetxt, path, cntr

path = server.mappath("\project\") & "\cnt.txt"

set txtobj = server.createobject("scripting.filesystemobject")
set thetxt = txtobj.opentextfile(path, 1, false)

cntr = thetxt.readline
[b]Set RegExp = New Regexp
RegExp.Global = True
RegExp.IgnoreCase = True
RegExp.Pattern = "[^0-9]*"
cntr = RegExp.Replace(cntr, "")
Set RegExp = Nothing[/b]
cntr = CInt(cntr) + 1
thetxt.close

set txtobj = server.createobject("scripting.filesystemobject")
set thetxt = txtobj.createtextfile(path, 2, true)
thetxt.writeline cntr
thetxt.close
%>
<font face = 'verdana' size = '2'>Du är besökare nr: <% =cntr %></font>
Medlem sedan maj 2002560 inlägg
#5

Tack, det fungerar, men filen innhåller fortfarande "ÿþ".

Som det ser ut nu så innehåller cnt.txt "ÿþ6" och index.asp visar 69

Dags att installera om operativet eller?

256 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
121 ms — deklarationer (db)
0 ms — hämta statistik (cache)
131 ms — hämta tråd, inlägg och bilagor (db)
122 ms — ändringar (db)