1 / 18

ASP [# 7]

ASP [# 7]. การสร้าง Random ตัวเลขซ้ำและไม่ซ้ำ การเรียกดูไฟล์ในโฟลเดอร์ Function. การสุ่มแบบซ้ำได้. สร้าง form รับค่า 3 ค่า แต่ต้องรับให้ถูกต้อง เพราะจะนำค่าไปตรวจเงื่อนไข ก่อนนำไปประมวลผลจริง

Download Presentation

ASP [# 7]

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 [# 7] การสร้าง Random ตัวเลขซ้ำและไม่ซ้ำ การเรียกดูไฟล์ในโฟลเดอร์ Function

  2. การสุ่มแบบซ้ำได้ • สร้าง form รับค่า 3 ค่า แต่ต้องรับให้ถูกต้อง เพราะจะนำค่าไปตรวจเงื่อนไข ก่อนนำไปประมวลผลจริง • ประกอบด้วย ค่าสูงสุด ค่าต่ำสุด และจำนวนที่ต้องการโดยฟอร์มนี้อยู่ในแฟ้ม Sam7-1.asp ซึ่งจะไปสั่งให้โปรแกรม Sam7-2.asp ทำงานอีกทีหนึ่ง

  3. <html> <title>สุ่มหลายค่า</title><body bgcolor=#FFFFFF>รับค่าตัวเลข ไปใช้ในการสุ่ม (หลักการนี้ อาจได้ผลลัพธ์ซ้ำกันได้)<br><form action=sam7-2.asp method=post>ค่ามากที่สุด : <input type=text name=nummax size=5 value=999> <br>ค่าน้อยที่สุด : <input type=text name=nummin size=5 value=1> <br>จำนวนเลขที่ต้องการสุ่ม : <input type=text name=numamt size=5 value=15> <br><input type=submit value="Random"><input type=reset value=Reset></form></body></html> Sam7-1.asp

  4. Sam7-2.asp • <html><head><title>ผลลัพธ์จากการสุ่ม (Random result)</title></head><body bgcolor="#FFFFFF"><b>ผลลัพธ์จากการสุ่ม (Random result)</b><br>หลักการนี้อาจได้ผลลัพธ์ที่ซ้ำกันได้<br><% numamt = request.form("numamt")nummax = request.form("nummax")nummin = request.form("nummin")error = 0if (nummax <= nummin) or (numamt <= 0) then response.write( "<hr>ค่าที่ระบุในเงื่อนไขผิดพลาด โปรดกลับไประบุใหม่")error = 1elserandomizefor i = 1 to numamtx = int(nummin + (rnd * ( nummax - nummin + 1 )))response.write( x & "<br>") nextend if%></body></html>

  5. การสุ่มแบบไม่ซ้ำ • สร้าง form รับค่า 3 ค่า แต่ต้องรับให้ถูกต้อง เพราะจะนำค่าไปตรวจเงื่อนไข ก่อนนำไปประมวลผลจริง • ประกอบด้วย ค่าสูงสุด ค่าต่ำสุด และจำนวนที่ต้องการโดยฟอร์มนี้อยู่ในแฟ้ม Sam7-3.asp ซึ่งจะไปสั่งให้โปรแกรม Sam7-4.asp ทำงานอีกทีหนึ่ง

  6. <html><title>สุ่มหลายค่าไม่ซ้ำกัน</title><body bgcolor=#FFFFFF>รับค่าตัวเลข ไปใช้ในการสุ่ม (หลักการนี้ จะได้ผลลัพธ์ไม่ซ้ำกัน)<br><form action=Sam7-4.asp method=post>ค่ามากที่สุด : <input type=text name=nummax size=5 value=999> <br>ค่าน้อยที่สุด : <input type=text name=nummin size=5 value=1> <br>จำนวนเลขที่ต้องการสุ่ม : <input type=text name=numamt size=5 value=15> <br><input type=submit value="Random"><input type=reset value=Reset></form></body></html> Sam7-3.asp

  7. Sam7-4.asp • <html><head><title>ผลลัพธ์จากการสุ่ม (Random result)</title></head><body bgcolor="#FFFFFF"><b>ผลลัพธ์จากการสุ่ม (Random result)</b><br>หลักการนี้ จะได้ผลลัพธ์ที่ไม่ซ้ำกัน<br><%numamt = int(request.form("numamt"))nummax = int(request.form("nummax"))nummin = int(request.form("nummin"))error = 0if (numamt > ( nummax - nummin )) or (numamt = 0) then response.write( "<hr>ค่าที่ระบุในเงื่อนไขผิดพลาด โปรดกลับไประบุใหม่")error = 1elserandomize dim arr(99999)i = 1do while i <= numamt x = int(nummin + (rnd * ( nummax - nummin + 1))) found = 0 for j = 1 to i - 1 if arr(j) = x then found = 1 next if found = 0 then arr(i) = x i = i + 1 end ifloopfor k = 1 to numamt response.write( arr(k) & "<br>") nextend if%></body></html>

  8. การเรียกดูไฟล์ในโฟลเดอร์ • สำหรับหัวข้อนี้จะได้รู้วิธีการแสดงชื่อไฟล์ใน โฟลเดอร์ แบบง่าย ๆ สามารถกำหนดโฟลเดอร์ที่จะนำมาแสดงได้ลองมาดู code

  9. <%Set MyDirectory=Server.CreateObject("Scripting.FileSystemObject")Set MyFiles=MyDirectory.GetFolder(Server.MapPath("/images")) 'แสดงชื่อไฟล์ในโฟลเดอร์ ImagesFor each filefound in MyFiles.files%><% =filefound.Name %><br><%Next%> Sam7-5.asp **ให้ทำ Link ในแต่ละไฟล์

  10. Function Procedures 1. กลุ่มการเก็บข้อมูล IsArray() ตรวจสอบว่าตัวแปรนั้นเป็นอาร์เรย์หรือไม่ IsDate() ตรวจสอบว่าตัวแปรนั้นเป็นชนิดวันที่หรือไม่ IsNumeric() ตรวจสอบว่าตัวแปรนั้นเป็นตัวเลขหรือไม่ IsObject() ตรวจสอบว่าตัวแปรนั้นเป็น OLE AutomationObject หรือไม่ If IsNumeric(x)=true then : End if

  11. 2. กลุ่มจัดการกับสตริง Cstr() แปลงข้อมูลที่เก็บในตัวแปรให้เป็นสตริง Len() จะบอกความยาวของสตริงว่ากี่ตัวอักษร Lcase() แปลงสตริงให้อยู่ในตัวพิมพ์เล็ก StrComp() เป็นการเปรียบเทียบสตริง 2 ตัวว่าเหมือนกันหรือไม่ Val() จะแปลงค่าสตริงให้กลับเป็นตัวเลข Ucase แปลงสตริงนั้นให้อยู่ในตัวอักษรพิมพ์ใหญ่

  12. 3. กลุ่มวันเวลา Date() บอกวันที่ปัจจุบัน Time() บอกเวลาปัจจุบัน Now() บอกวัน เวลา ของเครื่องคอมพิวเตอร์เครื่องนั้น Day() บอก วัน ปัจจุบัน Month() บอกเดือนปัจจุบัน Year() บอกปี ปัจจุบัน Hour() บอกชั่วโมง ปัจจุบัน Minute() บอกนาทีขณะนั้น Weekday บอกว่าเป็นวันไหนของสัปดาห์ (1=อาทิตย์…..7=เสาร์)

  13. 4. กลุ่มคณิตศาสตร์ Rnd() เป็นกลุ่มค่าตั้งแต่ 0 – 1 Sqrt() คำนวณค่ารากที่สอง Sin() คำนวณค่า sin Log() คำนวณค่า Logarithm

  14. 5. กลุ่มทั่วไป MsgBox แสดงข้อมูลในลักษณะไดอะล็อกบ็อกซ์ให้ผู้ใช้ทราบ InputBox เป็นการรับข้อมูลจากผู้ใช้

  15. ฟังก์ชั่นเกี่ยวกับการใช้งาน ฟังก์ชัน ABS แปลงตัวเลขเป็นค่าสัมบูรณ์(absolute) ฟังก์ชัน ASC แปลงตัวอักษร เป็น ตัวเลข ascii ฐาน10 หรือแปลงตัวอักษร เป็น ANSI character codeตัวเลข ascii ฐาน 10 จะอยู่ในช่วง 0 - 255 ฟังก์ชัน CDATE แปลงตัวอักษร ให้มีรูปแบบเป็นวันที่ ฟังก์ชัน CHR แปลงตัวเลข ascii ฐาน 10 เป็น ตัวอักษรตัวเลข ascii ฐาน 10 จะอยู่ในช่วง 0 - 255 ฟังก์ชัน DAY แปลงค่าวันที่ เป็น เลขวันที่ ฟังก์ชัน MONTH แปลงค่าวันที่ เป็น เลขเดือน ฟังก์ชัน YEAR แปลงค่าวันที่ เป็น เลขปี ฟังก์ชัน HOUR แปลงเวลา เป็น เลขชั่วโมง ฟังก์ชัน MINUTE แปลงเวลา เป็น เลขนาที ฟังก์ชัน SECOND แปลงเวลา เป็น เลขวินาที ฟังก์ชัน LCASE แปลงตัวอักษร เป็นตัวอักษรพิมพ์เล็ก ฟังก์ชัน UCASE แปลงตัวอักษร เป็นตัวอักษรพิมพ์ใหญ่ ฟังก์ชัน LEFT ตัดตัวอักษรทางด้านซ้ายมาใช้เท่าที่ต้องการ ฟังก์ชัน RIGHT ตัดตัวอักษรทางด้านขวามาใช้เท่าที่ต้องการ ฟังก์ชัน MID ตัดตัวอักษรโดยเริ่มจากตำแหน่งใด ๆ มาใช้เท่าที่ต้องการ ฟังก์ชัน LEN แปลงตัวอักษร เป็น จำนวนของตัวอักษร ฟังก์ชัน LTRIM ตัดช่องว่างทางด้านซ้าย ทิ้งไป

  16. ฟังก์ชัน RTRIM ตัดช่องว่างทางด้านขวา ทิ้งไป ฟังก์ชัน TRIM ตัดช่องว่างทางด้านขวา และซ้าย ทิ้งไป ฟังก์ชัน REPLACE แทนที่ข้อความ ด้วยจากคำที่ค้นหา ด้วยคำใหม่ ฟังก์ชัน rnd ส่งค่าที่ได้จากการสุ่ม ตั้งแต่ 0 แต่ไม่ถึง 1 ฟังก์ชัน ROUND ปัดเศษเท่าจำนวนหลักที่ต้องการ ฟังก์ชัน TYPENAME แสดงชนิดของข้อมูล ฟังก์ชั่น Atn() หมายถึงอัตราส่วนของด้านตรงข้ามมุมกับด้านประชิด ฟังก์ชั่น Exp() หมายถึงตัวเลขที่ต้องการแสดงเลขฐาน e ฟังก์ชั่น Int(),Fix() หมายถึงตัวเลขที่ต้องการปัดเศษ ฟังก์ชั่น Log ใช้แสดงค่า Logarithm ของตัวเลขที่กำหนด ฟังก์ชั่น Sgn() ใช้สำหรับบอกว่าตัวเลขที่กำหนดเป็นจำนวนเต็ม, จำนวนเต็มลบ, จำนวนเต็มศูนย์ ฟังก์ชั่น Tan() ใช้แสดงค่า Tangent ของมุมที่กำหนด ฟังก์ชั่น Sin() ใช้แสดงค่า Sine ของมุมที่กำหนด ฟังก์ชั่น Cos() ใช้แสดงค่า Cosine ของมุมที่กำหนด ฟังก์ชั่น Sqr() ใช้แสดงค่ารากของตัวเลข ฟังก์ชั่น Oct() ใช้แปลงเลขฐาน 10 ให้อยู่ในรูปของ String ของเลขฐาน 8 ฟังก์ชั่น Hex() ใช้แปลงเลขฐาน 10 ให้อยู่ในรูปของ String ของเลขฐาน 16

  17. <html><body><font face="ms sans serif" size=0>ทดสอบ function พื้นฐานของ ASP<br>สำหรับคำสั่ง <b><%=request.form("cmd") %></b><hr><% cmd = request.form("cmd")xx = request.form("x")yy = request.form("y")zz = request.form("z")select case cmdcase "abs" : result = abs(xx)case "asc" : result = asc(xx)case "cdate" : result = cdate(xx)case "chr" : result = chr(xx)case "date"xx = cdate(request.form("x"))result = date(xx)case "month"xx = cdate(request.form("x"))result = month(xx)case "year"xx = cdate(request.form("x"))result = year(xx)case "hour" : result = hour(xx)case "minute" : result = minute(xx)case "second" : result = second(xx)case "lcase" : result = lcase(xx)case "ucase" : result = ucase(xx)case "left" : result = left(xx,yy)case "right" : result = right(xx,yy)case "mid" : result = mid(xx,yy,zz)case "len" : result = len(xx)case "ltrim" : result = ltrim(xx)case "rtrim" : result = rtrim(xx)case "trim" : result = trim(xx)case "replace" : result = replace(xx,yy,zz)case "rnd"randomizeresult = rnd(xx)case "round" : result = round(xx,yy)case "typename" : result = typename(xx)end selectif len(cmd) > 0 then response.write( "old = " & xx & " New = " & result)%><hr></body></html> Source code ตัวอย่าง FFUNC.ASP ฟังก์ชันสำหรับทดสอบ function ทั้ง 23 ตัว โดยรับค่ามาจาก form ผ่าน request.form("cmd")และ request.form("x") request.form("y") request.form("z") แล้วแสดงผลตามที่ได้ประมวลผล

  18. แบบฝึกหัด กรุณาป้อนชื่อเป็นตัวอักษร ให้ขึ้นข้อความว่า “กรุณาป้อนชื่อ เป็นตัวอักษร” หรือ “กรุณาป้อนอายุ เป็นตัวเลข” หรือ “กรุณาป้อนวันเกิด เป็นวันที่” หรือ 555 Name : Age : Birthday : Submit

More Related