webForumDet fria alternativet

Redigera textfil...

3 svar · 282 visningar · startad av qwerty

qwertyMedlem sedan jan. 2001391 inlägg
#1

Nu är det så här:
Jag har en sida som visar nyheter som jag själv skriver in i en textfil. Sidan visar innehållet i textfilen.

Det jag skulle vilja göra är att kunna öppna textfilen, redigera den och spara den från en asp sida.

Någon som har några heta tips?

Så här ser koden ut just nu

<%
Set A = CreateObject("Scripting.FileSystemObject")
Set B = A.OpenTextFile ("c:\inetpub\wwwroot\nyheter\news.txt")
Nyheter = B.ReadAll
B.close
%>
<%=nyheter%>

------------------
Qwerty

Den som söker han letar...

JanspeedMedlem sedan jan. 2001510 inlägg
#2

Denna har jag skapat för att administrera enkla HTML-sidor med. Håll till godo. Om det är nått du undrar så får du fråga.

Koden refreshar lite dåligt och därför har jag använt en väldigt enkel <meta> - refresh när sidan laddas som du kanske märker när du tittar på koden. Om du kommer på något bättre sätt att lösa detta så får du gärna berätta det för mig.

Koden är dessutom inte finputsad så det kanske finns en hel del onödiga kommandon men den är fullt funktions duglig.

Ta väl hand om min kod för jag har jobbat hårt med den ;)

<html>
<head>
<title>Admin</title>
</head>
<body>

<%

'Kod skapad av Jens Nilsson Sweden 2000

Response.Write "<b>V&auml;lkommen till Jens fenomenala adminsystem f&ouml;r HTML dokument</b><br><br>"

Dim dokVar, rubVar, textVar, actionVar, folder, Rubrik, Text
	
dokVar = Request("dokument")
rubVar = Request("rubrik")
textVar = Request("text")
actionVar = Request("action")
	
'Get path to folder wich contains the files
folder = Server.MapPath("/admin_publish/dokument/")
Rubrik = ""
Text = ""

'Choose wich action you want to do
Select Case actionVar

'For Saving document
Case "Spara"
	
Dim Create, Write, savePath, file, count
Set Create = Server.CreateObject("Scripting.FileSystemObject")
	
'Replace all the vbcrlf with html breaks
textVar = Replace(textVar, vbcrlf, "<br>")

'Check if the document's first letters is "dok" 
If Left(dokVar, 3) = "dok" Then
	
savePath = Create.BuildPath(folder, dokVar)
Set Write = Create.OpenTextFile(savePath, 2)
Write.WriteLine "<!--" & rubVar & "-->"
Write.WriteLine "<html>" & vbcrlf & "<head>" & vbcrlf & "<title>Atomatiskt dokument</title>" & vbcrlf & "</head>" & vbcrlf & "<body>" & vbcrlf & "<br>" 
Write.WriteLine "<p><b><i>" & vbcrlf & rubVar & vbcrlf & "</i></b></p>" & vbcrlf
Write.WriteLine "<p>" & vbcrlf & textVar & vbcrlf & "</p>" & vbcrlf
Write.WriteLine "</body>" & vbcrlf & "</html>"
Write.Close
	
Response.Write "Filen har sparats som " & dokVar & "<br>" & vbcrlf
	
Else
	
count = 1
file = "dok0" & count & ".asp"
savePath = Create.BuildPath(folder, file)
	
Do Until Create.FileExists(savePath) = False
count = count + 1
file = "dok0" & count & ".asp"
savePath = Create.BuildPath(folder, file)
Loop
	
If Create.FileExists(savePath) = False Then
		
Set Write = Create.CreateTextFile(savePath, 2)
Write.WriteLine "<!--" & rubVar & "-->"
Write.WriteLine "<html>" & vbcrlf & "<head>" & vbcrlf & "<title>Automatiskt dokument</title>" & vbcrlf & "</head>" & vbcrlf & "<body>" & vbcrlf & "<br>"
Write.WriteLine "<p><b><i>" & vbcrlf & rubVar & vbcrlf & "</i></b></p>" & vbcrlf
Write.WriteLine "<p>" & vbcrlf & textVar & vbcrlf & "</p>" & vbcrlf
Write.WriteLine "</body>" & vbcrlf & "</html>"
Write.Close
	
Response.Write "Filen har skapats och sparats som dok0" & count & ".asp<br>" & vbcrlf
Else
	
Response.Write "Filen skapades inte<br>" & vbcrlf
	
End If
	
End If

'For removing documents
Case "Ta bort"
	
If dokVar = "0" Then
Response.Write "Felaktig fil!<br>Du m&aring;ste v&auml;lja vilken fil du vill ta bort f&ouml;rst<br>" & vbcrlf
Else
	
Dim Delete, deletePath
Set Delete = Server.CreateObject("Scripting.FileSystemObject")
deletePath = Delete.BuildPath(folder, dokVar)
	
Delete.DeleteFile deletePath
Response.Write "Filen " & dokVar & " har tagits bort<br>" & vbcrlf
	
End If

'For editing documents
Case "Editera"
	
If dokVar = "0" Then
Response.Write "<tr><td>Du m&aring;ste va&auml;lja vilken fil du vill editera f&ouml;rst</td></tr>" & vbcrlf
Else
	
	
Dim Edit, editPath, Open, Parse
	
Set Edit = Server.CreateObject("Scripting.FileSystemObject")
editPath = Edit.BuildPath(folder, dokVar)
Set Open = Edit.OpenTextFile(editPath)
	
'Skips lines until it reaches line 9	
Do Until Open.Line = 9
Open.SkipLine
Loop
	
'Opens line 9  which contains the headline	
Rubrik = Open.ReadLine
	
'Skips lines until it reaches line 13	
Do Until Open.Line = 13
Open.SkipLine
Loop
	
'Opens line 13 which contains the textcontent		
Text = Open.ReadLine
	
Open.Close
	
Text = Replace(Text, "<br>", vbcrlf)
	
Response.Write "Editera<br>" & vbcrlf
	
	
End If

'For aborting an action
Case "Avbryt"
	
Response.Write "Avbruten<br>" & vbcrlf

'Deafault upon loading for the first time
Case Default
	
If Not request.querystring("content")="reloaded" then
Response.Write "V&auml;nta till sidan laddats om.<br>" & vbcrlf
Response.Write "<meta http-equiv=""Refresh"" content=""0;URL=admin.asp?content=reloaded"">" & vbcrlf 
End If
Response.Write "Klar<br>" & vbcrlf

End Select

'Admin dokument buildup
Response.Write "<tr><td colspan=2><form name=dokument action=""admin.asp"" method=""post"">" & vbcrlf
	
Response.Write "Behandla<br>" & vbcrlf & "<select name=""dokument"" size=1>" & vbcrlf
Response.Write "<option value=""0"" selected>Ny ledig tj&auml;nst" & vbcrlf
	
If actionVar = "Editera" AND Not dokVar = "0" Then
	
Response.Write "<option value=""" & dokVar & """ selected>" & dokVar & vbcrlf
	
Else
	
ScanDir
	
End If

Response.Write "</select><br><br></td></tr>"
Response.Write "<tr><td>Rubrik<br><input type=""text"" name=""rubrik"" size=""41"" value=""" & Rubrik & """><br><br>"
Response.Write "Inneh&aring;ll<br><textarea cols=40 rows=15 name=""text"">" & Text & "</textarea><br><br>"
Response.Write "<input type=submit name=""action"" value=""Spara""> <input type=""submit"" name=""action"" value=""Editera""> <input type=""Reset"" value=""T&ouml;m""> <input type=submit name=""action"" value=""Ta bort""> <input type=submit name=""action"" value=""Avbryt"">"
Response.Write "</form></td></tr>"

'Function for scanning the directory for automatic dokuments
Function ScanDir
	
'Declare our variables
Dim objFSO, readFSO, objFolder, fileObject, T, Output
	
Set objFSO = Server.CreateObject("Scripting.FileSystemObject")
Set readFSO = Server.CreateObject("Scripting.FileSystemObject")
	
'set our folder object to the web root folder
Set objFolder = objFSO.GetFolder(folder)
	
For Each fileObject in objFolder.Files
If readFSO.FileExists(fileObject) = True Then
	
Set T = readFSO.OpenTextFile(fileObject)

'Skips lines until it reaches line 9	
Do Until T.Line = 9
T.SkipLine
Loop
	
'Opens line 9 which contains the textcontent		
Output = T.ReadLine

Response.Write "<option value=" & fileObject.Name & ">" & Output & vbcrlf
T.Close
	
End If
	
Next
	
End Function

%>

</body>
</html>
JanspeedMedlem sedan jan. 2001510 inlägg
#3

Har inte qwerty sett mitt fina inlägg?

qwertyMedlem sedan jan. 2001391 inlägg
#4

Jodå.

Tack för ditt engagemang. Jag har dock inte använt ditt script, även om jag plockat en del goda idéer.

Tack.

------------------
Qwerty

Den som söker han letar...

257 ms totalt · 3 externa anrop · v20260731065814-full.beb2e261
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
254 ms — hämta tråd, inlägg och bilagor (db)