การทำ counter จาก text file
เว็บเพจสำรอง (Backup Webpages) : http://www.thaiall.com/asp/scounter.htm | http://www.thaiabc.com/asp/scounter.htm
ปรับปรุง : 2549-02-06 (ปรับรูปแบบ)
การทำ counter จาก text file
    สารบัญ
  1. ข้อควรทราบ
  2. สร้างแฟ้มขึ้นมาอย่างง่าย
  3. ส่วนที่ใช้อ่านแฟ้ม text file มาพิมพ์ counter พร้อม update
  4. อ่าน text file มาพิมพ์ (ตัวอย่างนี้จะอ่าน source code ตัวเองมาพิมพ์)
  5. โปรแกรม asp ตัวทดสอบ counter ที่สมบูรณ์ (click here for test)
  6. แบบฝึกหัด
ข้อควรทราบ
  1. ตัวอย่างชุดนี้ ผมได้ source code แนะนำมาจาก http://aspbuilder.webhostme.com (expired) จากส่งของการอ่าน text file มาทำ counter แล้วนำมาปรับปรุงบ้าง ให้เหมาะสมกับรูปแบบการนำเสนอของผม
  2. โปรแกรมนี้จะสมบูรณ์ได้ต้องมี 2 ส่วน คือส่งของ โปรแกรม scounter.asp และ ข้อมูล scounter.txt โดยข้อมูลนั้นจะอยู่ใน directory ใดก็ได้ ถ้าอ่านมาพิมพ์อย่างเดียว แต่ถ้าจะปรับปรุง แฟ้มข้อมูลนั้นจะต้องอยู่ในห้อง /cgi-bin นั่นเป็นเพราะ webhostme.com กำหนดไว้เช่นนั้นครับ
  3. การพิมพ์ source code ถ้าต้องการพิมพ์เครื่องหมาย น้อยกว่า หรือ < ต้องพิมพ์ว่า &lt;
  4. การพิมพ์ source code ถ้าต้องการพิมพ์เครื่องหมาย มากกว่า หรือ > ต้องพิมพ์ว่า &gt;
  5. ที่ยุ่งไปกว่านั้นคือ ถ้าต้องการพิมพ์ & ติดกับ lt; ต้องพิมพ์ว่า &#38;lt;

สร้างแฟ้มขึ้นมาอย่างง่าย
Source code ที่ไม่ได้เขียนแต่แยกมาจาก scounter.asp ให้ดู
<%
set fso = createobject("scripting.filesystemobject")
set act = fso.CreateTextFile(server.mappath("/cgi-bin/scounter.txt"), true)
act.WriteLine(5)
act.close
%>

ส่วนที่ใช้อ่านแฟ้ม text file มาพิมพ์ counter พร้อม update
แต่โปรแกรมนี้จะใช้ไม่ได้ ถ้าไม่มีแฟ้ม scounter.txt ในห้อง /cgi-bin
ผลลัพธ์ที่ต้องการ Source code ที่ไม่ได้เขียนแต่แยกมาจาก scounter.asp ให้ดู
Visitors : 600000
<%
set fso = createobject("scripting.filesystemobject")
set act = fso.opentextfile(server.mappath("/cgi-bin/scounter.txt"))
counter = clng(act.readline)
counter = counter + 1
set act = fso.CreateTextFile(server.mappath("/cgi-bin/scounter.txt"), true)
act.WriteLine(counter)
act.Close
%>
Visitors : <%=counter %>

อ่าน text file มาพิมพ์
(ตัวอย่างนี้จะอ่าน source code ตัวเองมาพิมพ์)
ผลลัพธ์ที่ต้องการ Source code ที่ไม่ได้เขียนแต่แยกมาจาก scounter.asp ให้ดู
แสดง source code ที่ใช้เขียน source code
<%
set fso = createobject("scripting.filesystemobject")
set act = fso.opentextfile(server.mappath("scounter.asp"))
count = 1
do while not act.atendofstream
   t = act.readline
   t = replace(t,"&","&")
   t = replace(t,"<","&lt;")
   t = replace(t,">","&gt;")
   response.write(count & " : " & t & "<br>")   
   count=count+1
loop
act.Close
%>

โปรแกรม asp ตัวทดสอบ counter ที่สมบูรณ์
(click here for test)
ผลลัพธ์ที่ต้องการ Source code ของ scounter.asp
Visitors : 600000
ข้างล่างนี้จะนำ source code มาพิมพ์
<body bgcolor=#ffffff text=#0000ff><font face="microsoft sans serif">
<%
set fso = createobject("scripting.filesystemobject")
' set act = fso.CreateTextFile(server.mappath("/cgi-bin/scounter.txt"), true)
' act.WriteLine(5)
' act.close
set act = fso.opentextfile(server.mappath("/cgi-bin/scounter.txt"))
counter = clng(act.readline)
counter = counter + 1
set act = fso.CreateTextFile(server.mappath("/cgi-bin/scounter.txt"), true)
act.WriteLine(counter)
act.Close
%>
Visitors : <%=counter %>
<hr><u>Source of counter program (scounter.asp)</u><br>
<%
set fso = createobject("scripting.filesystemobject")
set act = fso.opentextfile(server.mappath("scounter.asp"))
count = 1
do while not act.atendofstream
   t = act.readline
   t = replace(t,"&","&")
   t = replace(t,"<","&lt;")
   t = replace(t,">","&gt;")
   response.write(count & " : " & t & "<br>")   
   count=count+1
loop
act.Close
%>
<hr>
</body>

แบบฝึกหัด
    ให้ทำตามโจทย์ต่อไปนี้
  1. ให้เขียนโปรแกรมตามตัวอย่างข้างบนนี้ ให้ใช้งานได้
  2. ให้นำไปปรับปรุงให้ใช้เป็น counter สำหรับทุกหน้าเว็บของท่าน

แนะนำเว็บใหม่ : ผลการจัดอันดับ
รักลำปาง : korattown.com : topsiam.com : มหาวิทยาลัยโยนก
ศูนย์สอบ : รวมบทความ : ไอทีในชีวิตประจำวัน : ดาวน์โหลด : yourname@thaiall.com
ติดต่อ ทีมงาน ชาวลำปาง มีฝันเพื่อการศึกษา Tel.08-1992-7223