jeg kan umidlbart fortælle dig at du kan åbne hele filen... men man kan jo lade scriptet søge efter den linie som indeholder <!--- Start redigering ---> og vise alt derefter...
<% Set fso = CreateObject("Scripting.FileSystemObject") Set textStreamObject = fso.OpenTextFile(Server.Mappath("edit.html")) Do lineNum = lineNum + 1 strEditLine = textStreamObject.ReadLine if inStr(strEditLine,"<!--- Start redigering --->") Then StartPos = lineNum elseif inStr(strEditLine,"<!--- Slut redigering --->") Then StopPos = lineNum end if loop while not textStreamObject.AtEndOfStream %> <textarea name="textfield" cols="100" rows="30"> <% Set textStreamObject = fso.OpenTextFile(Server.Mappath("edit.html"))
For EditSkipLine = 0 to StartPos -1 textStreamObject.SkipLine Next
For EditReadLine = StartPos to StopPos -2 Response.Write Server.HTMLEncode(textStreamObject.Readline) & Chr(10) Next %> </textarea> <% Set textStreamObject = Nothing Set fso = Nothing %>
joda ... det fungerer også meget godt at *gå* til toppen af Mount Everest, men hvis man kan flyve et helikopter på 1/100 af tiden og til lavere pris, så er det rimelig latterlig at gå.
om det er ok hvis den virker ?? mit svar til det, kan ikke være andet end "nej". Hvorfor ikke skrive optimal kode, når man har muligheden for det ? hvorfor belaste serveren meget mere end nødvendig ?
den metode du har postet, kunne vel så gerne være den algoritme som InStr er implementeret efter (det ved jeg ikke, men lad os antage dette ... som et "eksperiment"). Hvis du implementerer denne funktionalitet, efter den samme algoritme som en funktion er implementeret, hvorfor så ikke bruge funktionen istedet ? Denne vil alligevel eksekveres hurtigere, da den er kompileret. Hvis jeg skulle implementere algoritmer istedet for at bruge de indebyggede funktioner, ville alle mine kolleger hvertfald grine højt af mig, hvis jeg nu havde været så heldig at have et arbejde på trods min "evne" til at gå den længste vej.
Jo, vi er enige om at teksten skal kigges igennem mindst en gang ( noget andet ville jo være magi ;o] )
Tusind tak for jeres hjælp. Scriptet fungerer mega godt.
Nute -> vil du have point for dit script?
Jeg har lige endnu et spørgsmål. Hvordan skriver jeg ned i filen igen? Jeg kan godt få den til at læse fra <!--- Start redigering ---> til <!--- Slut redigering --->. Nu sender jeg så de nye indhold af textarea-boksen.
Hvordan får jeg et script til at skrive fra <!--- Start redigering ---> til <!--- Slut redigering ---> med det nye indhold?
du bruger samme teknik, men du bruger blot en Replace():
<%@ language="vbscript" %> <% Set fso = CreateObject("Scripting.FileSystemObject") Set textStreamObject = fso.OpenTextFile(Server.Mappath("edit.html"))
Dim strText : strText = textStreamObject.ReadAll Dim strFindStart : strFindStart = "<!--- Start redigering --->" Dim strFindEnd : strFindEnd = "<!--- Slut redigering --->" Dim intStartIndex : intStartIndex = InStr( strText, strFindStart ) Dim intEndIndex : intEndIndex = InStr( strText, strFindEnd ) textStreamObject.Close
if( intStartIndex > 0 ) then intStartIndex = intStartIndex + LEN( strFindStart ) end if Dim strEditText : strEditText = MID( strText, intStartIndex, (intEndIndex - intStartIndex) ) strText = Replace( strText, strEditText, "[NY TEKST]" )
Set textStreamObject = fso.OpenTextFile(Server.Mappath("edit.html"),2) textStreamObject.Write( strText ) textStreamObject.Close
Set textStreamObject = Nothing Set fso = Nothing %>
om jeg vil have points ... hmm ... det er dig der bestemmer. kan ikke helt finde ud af om det er et spørgsmål du stiller, eller en venlig kommando. hvis du synes jeg skal have points, så er det ok, men hvis du overlader til mig, at bestemme om jeg vil have points, så takker jeg nej :o]
Det er ikke nødvendig ... jeg er her ikke primært for points, men for at hjælpe :o] Tak, men nej tak ( i al venlighed )
:o]
Synes godt om
Ny brugerNybegynder
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.