Avatar billede zelebris Nybegynder
05. november 2000 - 21:56 Der er 9 kommentarer og
1 løsning

Replace - HASTER

Jeg har et kæmpe problem.

Jeg har en textfil der så nogenlunde sådan ud:

NUMBER
Title
Q1
Q2
Q3
Q4
Correct
<hr size=2>
NUMBER
Title
Q1
Q2
Q3
Q4
Correct
<hr size=2>
NUMBER
Title
Q1
Q2
Q3
Q4
Correct
<hr size=2>

Nu vil jeg gerne have Replacet \'NUMBER\' texten med et tal så det først Number bliver Replacet med 1 det næste med 2 osv.!

Er der nogen der kan lave et script der kan det bliver jeg evigt glad!

/Zelebris
Avatar billede tigerdyr Nybegynder
05. november 2000 - 22:01 #1
grum opgave, den er kedelig at arbejde med..., hvad med at klare det via en SQL database ???
Importer filen, kør en \"update set NUMBER = Number+1\" og gem det hele som tekst fil igen :o)
ellers skal du have gang i filesystemobject, i ASP\'en
Avatar billede zelebris Nybegynder
05. november 2000 - 22:04 #2
Jeg har gang i FileSystemObject i forvejen, det glemte jeg at skrive! Den åbner det som en textstream!

/Zelebris
Avatar billede zelebris Nybegynder
05. november 2000 - 22:12 #3
Jeg har måske en idé man mangler scriptet.

Hvis man læser linierne en ad gangen ind i en  løkke og Replacer NUMBER i hver linie med et tal der stiger for hver gang NUMBER bliver fundet.

/Zelebris
Avatar billede stigc Nybegynder
05. november 2000 - 22:12 #4
skal det gemmes i filen igen (evt en ny?), eller skrives ud på skærmen?
Avatar billede zelebris Nybegynder
05. november 2000 - 22:14 #5
Skrives ud på skærmen!
Avatar billede stigc Nybegynder
05. november 2000 - 22:16 #6
et hurtigt forslag. Kigger der lige igennem:

  <%
 
 
  sFile=\"\"
  Set objFS = CreateObject(\"Scripting.FileSystemObject\")
  strDir = Request.ServerVariables(\"SCRIPT_NAME\")
  sFile = Server.MapPath(Left(strDir, InStrRev(strDir,\"/\"))) & \"\\\" & dinfil.asp
  Set tekst = objFS.OpenTextFile(sFile, 1, False)

tal=0
do while (NOT tekst.AtEndOfStream AND NOT fundet)

  sTemp = tekst.ReadLine
 
  if Instr(1, sTemp, \"Number\", 1)>0 then
      response.write(Replace(\"Number\", \"\" & tal)
      tal=tal+1
      else
      response.write(\"<a href=\'\" & htmlfiler(i) &\" \'>\" & htmlfiler(i) & \"</a><br>\")
      end if
loop
 
  tekst.close
  Set tekst = nothing

 
  %>
 
Avatar billede stigc Nybegynder
05. november 2000 - 22:18 #7
hmmm. Jeg tror det virker.......

<%
 
 
  sFile=\"\"
  Set objFS = CreateObject(\"Scripting.FileSystemObject\")
  strDir = Request.ServerVariables(\"SCRIPT_NAME\")
  sFile = Server.MapPath(Left(strDir, InStrRev(strDir,\"/\"))) & \"\\\" & dinfil.asp
  Set tekst = objFS.OpenTextFile(sFile, 1, False)

tal=0
do while (NOT tekst.AtEndOfStream AND NOT fundet)

  sTemp = tekst.ReadLine
 
  if Instr(1, sTemp, \"Number\", 1)>0 then
      response.write(Replace(\"Number\", \"\" & tal) & \"<br>\")
      tal=tal+1
      else
      response.write(sTemp & \"<br>\")
      end if
loop
 
  tekst.close
  Set tekst = nothing

 
  %>
 
Avatar billede stigc Nybegynder
05. november 2000 - 22:24 #8
Den her virker, og den er testet:

  <html>
  <body>
 
  <%
 
 
  Set objFS = CreateObject(\"Scripting.FileSystemObject\")
  strDir = Request.ServerVariables(\"SCRIPT_NAME\")
  sFile = Server.MapPath(Left(strDir, InStrRev(strDir,\"/\"))) & \"\\\" & \"dinfil.asp\"
  Set tekst = objFS.OpenTextFile(sFile, 1, False)

tal=1
do while (NOT tekst.AtEndOfStream AND NOT fundet)

  sTemp = tekst.ReadLine
 
  if Instr(1, sTemp, \"NUMBER\", 1)>0 then
      response.write(Replace(sTemp, \"NUMBER\", \"\" & tal) & \"<br>\")
      tal=tal+1
      else
      response.write(sTemp & \"<br>\")
      end if
loop
 
  tekst.close
  Set tekst = nothing

 
  %>
 
Avatar billede zelebris Nybegynder
05. november 2000 - 22:27 #9
Tak, du er nu 400 point rigere!
Avatar billede stigc Nybegynder
05. november 2000 - 22:30 #10
Det er sakset for meget af min ëgen kode:

do while (NOT tekst.AtEndOfStream AND NOT fundet)

må du heller skifte ud med, selvom det virker fint:

do while (NOT tekst.AtEndOfStream)







Takker for point....
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