1 / 16

ASP [# 9]

ASP [# 9]. การติดต่อข้อมูล Text Files การสร้างระบบ Counter ตัวนับจำนวนผู้เข้าชมเว็บไซต์ด้วย Text Files. การใช้ ASP กับ Text File.

zahina
Download Presentation

ASP [# 9]

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. ASP [# 9] การติดต่อข้อมูล Text Files การสร้างระบบ Counter ตัวนับจำนวนผู้เข้าชมเว็บไซต์ด้วย Text Files

  2. การใช้ ASP กับ Text File • ออบเจ็กต์ File Systemออบเจ็กต์ File System เป็นออบเจ็กที่ใช้ในการจัดการด้านไฟล์ เช่น การเปิด/ปิดไฟล์ รวมทั้งการสร้างโฟลเดอร์ การเปลี่ยนย้ายโฟลเดอร์ โดยเราจะต้องทำการศึกษาถึง คอมโพเนนต์ File Access

  3. File Access Component • เป็นคอมโพเนนต์ที่ใช้ในการจัดการไฟล์ต่างๆ เช่น การเปิด/ปิดไฟล์ ซึ่งรูปแบบการใช้งานเป็นดังนี้ Set Fso=CreateObject("Scripting.FileSystemObject") • หลังจากคำสั่งนี้เราจะได้ออบเจ็กต์ชื่อ Fso ที่เป็นออบเจ็กต์ของ File Access Component ซึ่งออบเจ็กต์ Fso นี้เราสามารถเรียกใช้เมธอดต่างๆ ในการจัดการไฟล์ได้

  4. Open Text File Method • เป็นเมธอดที่ใช้ในการเปิดไฟล์ที่มีอยู่แล้ว และเรายังสามารถอ่าน เขียน หรือ เพิ่มเติมข้อมูลในไฟล์นั้นๆ ได้ ซึ่งรูปแบบการทำงานมีดังนี้ Object.openTextFile(filename[,iomode][,create][,Format]

  5. ซึ่งมีรายละเอียดดังนี้ซึ่งมีรายละเอียดดังนี้ • Object (ต้องกำหนด/Required) เป็นชื่อออบเจ็กต์ของคอมโพเนนต์ • File Access ซึ่งในตัวอย่างกำหนดเป็นชื่อ fso Filename (ต้องกำหนด/Required) เป็นชื่อไฟล์ที่เราต้องการเปิด • iomode (มีหรือไม่มีก็ได้/Optional) เป็นการกำหนดการทำงานกับไฟล์แบ่งเป็น 3 ชนิด คือ • ForReading(1) เปิดไฟล์เพื่ออ่านอย่างเดียว • ForWriting(2) เปิดไฟล์เพื่อเขียนอย่างเดียว • ForAppending(8) เปิดไฟล์เพื่อเขียนข้อมูลเพิ่มเติมที่ท้ายไฟล์

  6. ซึ่งมีรายละเอียดดังนี้ (ต่อ) • Create (มีหรือไม่มีก็ได้/optional) เป็นค่าที่ใช้กำหนดการสร้างไฟล์ • โดยกำหนดเป็น True ถ้าไฟล์ที่เราต้องการเปิดยังไม่ได้สร้าง จะสามารถสร้างไฟล์ใหม่ • False ถ้าไฟล์ที่เราต้องการเปิดยังไม่ได้สร้างจะไม่สามารถสร้างไฟล์ใหม่ได้และจะฟ้อง Error แทน ถ้าเราไม่กำหนดค่านี้โดยปกติจะถือว่าเป็น False • Format (มีหรือไม่มีก็ได้/optional) ใช้กำหนดรูปแบบการเปิดไฟล์ Tristate UseDefault(-2) พิจารณาจากระบบ เช่น ระบบเป็นแบบ ASCII ก็จะเปิดแบบ • ASCIITristate True(-1) เปิดไฟล์เป็นรหัส Unicode • Tristate False(0) เปิดไฟล์เป็นรหัส ASCII • ถ้าเราไม่กำหนดค่านี้โดยปกติจะถือว่าเป็น ASCII

  7. ตัวอย่างการใช้งานคำสั่งตัวอย่างการใช้งานคำสั่ง Set fso=CreateObject("Scripting.FileSystemObject") Set Myfile=fso.openTextfile("testfile.txt",1,True) • บรรทัดแรก เป็นการสร้างออบเจ็กต์ fso ซึ่งเป็นออบเจ็กต์ที่เกิดจากคอมโพเนนต์ File Access จากนั้น ออบเจ็กต์ fso ก็จะเรียกเมธอด OpenTextFile เพื่อเปิดไฟล์ testfile.txt แบบอ่านอย่างเดียว และในกรณีที่ไฟล์นี้ยังไม่ถูกสร้างก็จะทำการสร้างไฟล์นี้ให้เราทันที • บรรทัดที่สอง จะเห็นได้ว่าการเรียกใช้เมธอด OpenTextFile จะทำให้เกิดออบเจ็กต์อีกตัวหนึ่ง ชื่อ MyFile ซึ่งออบเจ็กต์นี้เราจะเรียกว่า Text Stream Object

  8. TextStream Object TextStream Object (ออบเจ็กที่ทำงานกับ Text) เป็นออบเจ็กต์ที่ใช้จัดการข้อความต่างๆภายในไฟล์ เช่น การเขียน / อ่านข้อมูล การปิดไฟล์เป็นต้น ซึ่ง TextStream ก็มีเมธอดที่ใช้ในการจัดการข้อความดังนี้ • Close ปิด TextStream Object • Read อ่านข้อมูลตามจำนวนที่เรากำหนด • ReadAll อ่านข้อมูลทั้งหมด • ReadLine อ่านข้อมูล 1 บรรทัด • Skip กระโดดข้ามตามที่เรากำหนด • SkipLine กระโดดข้าม 1 บรรทัด • Write เขียนข้อมูล • WriteLine เขียนข้อมูล 1 บรรทัด • WriteBlankLines เว้นบรรทัดตามที่เรากำหนด

  9. ตัวอย่าง Sam9-2.asp • <% if request.form("message") = "" then %><html><body><form action="sam9-2.asp" method="post"><font size=+1>ข้อมูลที่ต้องการเขียนลง text</font><br>Name: <input type=text name=message size=30><input type=submit value=ตกลง></form><% else Set FileObject = Server.CreateObject("Scripting.FileSystemObject")MsgFile = Server.MapPath ("Text.txt") Set OutStream= FileObject.CreateTextFile (MsgFile, True) OutStream.WriteLine Request.Form("message") Set OutStream = NothingSet MessageStr =Nothing%>เปิดไฟล์<a href="sam9-3.asp">sam9-3.asp</a>แสดงข้อมูจากไฟล์</body></html><% end if %>

  10. Out Put Out Put • Out Put Sam9-2.asp

  11. <html><body>แสดงไฟล์<br><%Set FileObject = Server.CreateObject("Scripting.FileSystemObject")MsgFile = Server.MapPath ("Text.txt")On Error Resume Next Set InStream= FileObject.OpenTextFile (MSGFile, 1, False, False)Response.Write Instream.ReadALL & "<BR>"Set Instream=Nothing%></body></html> Sam9-3.asp

  12. การสร้างระบบ Counter ตัวนับจำนวนผู้เข้าชมเว็บไซต์ Text Files • สร้าง Counter จาก Text Files ขั้นแรกสร้างไฟล์ counter.txt • copy ไฟล์ ต่อไปนี้ไปไว้ใน folder images เช่น Images โดยไฟล์เป็นนามสกุล .GIF

  13. Sam9-4.asp • <%Set FileObject = Server.CreateObject("Scripting.FileSystemObject")hitsfile = Server.MapPath("counter.txt")Set instream= FileObject.OpenTextFile (hitsfile, 1, False )' เรียกค่าจำนวนผู้เยี่ยมชมจากไฟล์ counter.txtoldhits = instream.ReadLine ' เก็บค่าเข้าตัวแปร oldhitsnewhits = oldhits + 1Instream.close • ' บวกค่าด้วยหนึ่งแล้วเก็บเข้าตัวแปร newhitsSet outstream= FileObject.CreateTextFile (hitsfile, True)OutStream.WriteLine(newhits) ' เก็บค่าจำนวนผู้เยี่ยมชมที่อยู่ในตัวแปร newhits เข้าไปในไฟล์ counter.txt l=Len(newhits)' เก็บจำนวนตัวอักษร(จำนวนหลัก)ของตัวแปร newhits ไว้ในตัวแปร lFor i = 1 to l ' วนการทำงานจากหลักที่ 1 ถึงหลักที่ lnum = Mid(newhits,i,1)' ตัดตัวเลขออกมาที่ละตัวdisplay = display & "<img src=images/" &num & ".gif >” • ' แสดงรูปตามหมายเลขแล้วเก็บเข้าตัวแปร displayNext • Outstream.close%><%=display%>

  14. Counter ด้วย รูปภาพแบบที่ 2 Sam9-5.asp • <%Dim strFilePathDim strObjFileDim strObjStreamDim strTemp • strFilePath = Server.MapPath(“counter.txt") 'กำหนดตำแหน่งของไฟล์ที่เก็บค่าตัวเลข Set strObjFile = CreateObject("Scripting.FileSystemObject") 'สร้าง Object ที่ใช้กับ Text File Set strObjStream= strObjFile.OpenTextFile (strFilePath, 1) 'ทำการเปิดไฟล์ visitors.txt เพื่ออ่านอย่างเดียว strTemp = strObjStream.ReadLine+1 'ใช้เมดถอด Readline เพื่ออ่านค่าและ +เพิ่มไปอีก 1 strObjStream.Close 'ทำการปิดไฟล์ Set strObjStream = strObjFile.OpenTextFile (strFilePath, 2) 'ทำการเปิดไฟล์ visitors.txt เพื่อเขียนอย่างเดียว strObjStream.WriteLine(strTemp) 'เขียนค่าที่อ่านได้จากคำสั่งด้านบนค่าของ strTemp ลงใน visitors.txt strObjStream.Close 'ทำการปิดไฟล์ %> • <HTML><title>ASPThai Free Source Counter</title><META http-equiv="Content-Type" content="text/html; charset=windows-874"><BODY> <font face="ms Sans Serif, Thonburi, DB ThaiTextFixed" color="#000000" size="2">ขณะนี้ เว็บเพจนี้เปิดอ่านแล้ว<hr> แสดง Counter แบบตัวเลข ---- <%=strTemp %> ครั้ง <hr> แสดง Counter แบบรูปภาพ 5 หลัก <%bit=strTemp\10000%><IMG SRC=“images/<%=bit%>.gif"> 'หลักหมื่น<%bit=(strTemp mod 10000)\1000%><IMG SRC="images/<%=bit%>.gif">  'หลักพัน<%bit=(strTemp mod 1000)\100%><IMG SRC="images/<%=bit%>.gif">  'หลักร้อย<%bit=(strTemp mod 100)\10%><IMG SRC="images/<%=bit%>.gif">  'หลักสิบ<%bit=strTemp mod 10%><IMG SRC="images/<%=bit%>.gif">ครั้ง  'หลักหน่วย

  15. แบบฝึกหัด *ให้เขียนเช็คว่าป้อนข้อมูลถูกต้องหรือไม่ โดยให้มี Message Box ขึ้นมาเตือน เมื่อกดปุ่ม Submit - Name ต้องป้อนเป็นข้อความเท่านั้น - Age ต้องป้อนเป็นตัวเลขเท่านั้น แล้วก็ให้มี Counter นับจำนวนผุ้เข้าชม เก็บไว้ที่ไฟล์ Count.txt *โดยถ้าเปิดจากไฟล์บราวเซอร์ตัวเดิม ไม่ให้เพิ่มจำนวนผู้ชม Name: Age: Visitors: 5 Submit

  16. อ้างอิง • www.thaicreate.com • www.nectec.or.th

More Related