asp [# 7]

18
1 ASP [# 7] ASP [# 7] กกกกกกกก Random กกกกกก กกกกกกกกกกกกกก กกกกกกกกกกกกกกกก กกกกกกกก Function

Upload: darryl-hopkins

Post on 01-Jan-2016

41 views

Category:

Documents


0 download

DESCRIPTION

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

TRANSCRIPT

Page 1: ASP [# 7]

1

ASP [# 7]ASP [# 7] การสร�าง Random ตั�วเลขซ้ำ��าและไม่�

ซ้ำ��าการเร�ยกดู�ไฟล�ในโฟลเดูอร�

Function

Page 2: ASP [# 7]

2

การสุ่��มแบบซ้ำ��าได้� การสุ่��มแบบซ้ำ��าได้� สร�าง form ร�บค่�า 3 ค่�า แตั�ตั�องร�บให้�ถู�ก

ตั�อง เพราะจะน�าค่�าไปตัรวจเง&'อนไข ก�อน น�าไปประม่วลผลจร)ง

ประกอบดู�วย ค่�าส�งส*ดู ค่�าตั�'าส*ดู และ จ�านวนที่�'ตั�องการโดูยฟอร�ม่น��อย��ในแฟ,ม่

Sam7-1.asp ซ้ำ-'งจะไปส�'งให้�โปรแกรม่Sam7-2.asp ที่�างานอ�กที่�ห้น-'ง

Page 3: ASP [# 7]

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

Page 4: ASP [# 7]

4

<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>

Sam7-2.asp

Page 5: ASP [# 7]

5

การสุ่��มแบบไม�ซ้ำ��า การสุ่��มแบบไม�ซ้ำ��า สร�าง form ร�บค่�า 3 ค่�า แตั�ตั�องร�บให้�ถู�ก

ตั�อง เพราะจะน�าค่�าไปตัรวจเง&'อนไข ก�อน น�าไปประม่วลผลจร)ง

ประกอบดู�วย ค่�าส�งส*ดู ค่�าตั�'าส*ดู และ จ�านวนที่�'ตั�องการโดูยฟอร�ม่น��อย��ในแฟ,ม่

Sam7-3.asp ซ้ำ-'งจะไปส�'งให้�โปรแกรม่Sam7-4.asp ที่�างานอ�กที่�ห้น-'ง

Page 6: ASP [# 7]

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

Page 7: ASP [# 7]

7

<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>

Sam7-4.asp

Page 8: ASP [# 7]

8

การเร�ยกด้�ไฟล์�ในโฟล์เด้อร� การเร�ยกด้�ไฟล์�ในโฟล์เด้อร� ส�าห้ร�บห้�วข�อน��จะไดู�ร� �ว)ธ์�การแสดูงช้&'อไฟล�ใน โฟลเดูอร�

แบบง�าย ๆ สาม่ารถูก�าห้นดูโฟลเดูอร�ที่�'จะน�าม่า แสดูงไดู�ลองม่าดู� code

Page 9: ASP [# 7]

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 ในแต่�ล์ะไฟล์�

Page 10: ASP [# 7]

10

Function Procedures

1. กล์��มการเก บข้�อม�ล์IsArray() ตัรวจสอบว�าตั�วแปรน��นเป1นอาร�เรย�ห้ร&อไม่�

IsDate() ตัรวจสอบว�าตั�วแปรน��นเป1นช้น)ดูว�นที่�'ห้ร&อไม่�

IsNumeric() ตัรวจสอบว�าตั�วแปรน��นเป1นตั�วเลขห้ร&อไม่�

IsObject() ตัรวจสอบว�าตั�วแปรน��นเป1น OLE AutomationObject ห้ร&อไม่�If IsNumeric(x)=true then:End if

Page 11: ASP [# 7]

11

2. กล์��มจั#ด้การก#บสุ่ต่ร$งCstr() แปลงข�อม่�ลที่�'เก2บในตั�วแปรให้�เป1นสตัร)งLen() จะบอกค่วาม่ยาวของสตัร)งว�าก�'ตั�วอ�กษรLcase() แปลงสตัร)งให้�อย��ในตั�วพ)ม่พ�เล2กStrComp() เป1นการเปร�ยบเที่�ยบสตัร)ง 2 ตั�วว�าเห้ม่&อนก�นห้ร&อไม่�

Val() จะแปลงค่�าสตัร)งให้�กล�บเป1นตั�วเลขUcase แปลงสตัร)งน��นให้�อย��ในตั�วอ�กษรพ)ม่พ�ให้ญ่�

Page 12: ASP [# 7]

12

3. กล์��มวั#นเวัล์าDate() บอกว�นที่�'ป5จจ*บ�นTime() บอกเวลาป5จจ*บ�นNow() บอกว�น เวลา ของเค่ร&'องค่อม่พ)วเตัอร�เค่ร&'องน��นDay() บอก ว�น ป5จจ*บ�นMonth() บอกเดู&อนป5จจ*บ�นYear() บอกป6 ป5จจ*บ�นHour() บอกช้�'วโม่ง ป5จจ*บ�นMinute() บอกนาที่�ขณะน��นWeekday บอกว�าเป1นว�นไห้นของส�ปดูาห้�

(1= …อาที่)ตัย� ..7=เสาร�)

Page 13: ASP [# 7]

13

4. กล์��มคณิ$ต่ศาสุ่ต่ร�Rnd() เป1นกล*�ม่ค่�าตั��งแตั� 0 – 1

Sqrt() ค่�านวณค่�ารากที่�'สองSin() ค่�านวณค่�า sin

Log() ค่�านวณค่�า Logarithm

Page 14: ASP [# 7]

14

5. กล์��มทำ#*วัไปMsgBox แสดูงข�อม่�ลในล�กษณะไดูอะล2อกบ2อกซ้ำ�ให้�ผ��ใช้�ที่ราบ

InputBox เป1นการร�บข�อม่�ลจากผ��ใช้�

Page 15: ASP [# 7]

15

ฟ,งก�ชั่#*นเก�*ยวัก#บการใชั่�งาน ฟ5งก�ช้�น ABS แปลงตั�วเลขเป1นค่�าส�ม่บ�รณ�(absolute) ฟ5งก�ช้�น ASC แปลงตั�วอ�กษร เป1น ตั�วเลข ascii ฐาน10 ห้ร&อแปลงตั�วอ�กษร เป1น ANSI

character code ตั�วเลข ascii ฐาน 10 จะอย��ในช้�วง 0 - 255 ฟ5งก�ช้�น CDATE แปลงตั�วอ�กษร ให้�ม่�ร�ปแบบเป1นว�นที่�' ฟ5งก�ช้�น CHR แปลงตั�วเลข ascii ฐาน 10 เป1น ตั�วอ�กษรตั�วเลข ascii ฐาน 10 จะอย��ใน ช้�วง 0 - 255 ฟ5งก�ช้�น DAY แปลงค่�าว�นที่�' เป1น เลขว�นที่�' ฟ5งก�ช้�น MONTH แปลงค่�าว�นที่�' เป1น เลขเดู&อน ฟ5งก�ช้�น YEAR แปลงค่�าว�นที่�' เป1น เลขป6 ฟ5งก�ช้�น HOUR แปลงเวลา เป1น เลขช้�'วโม่ง ฟ5งก�ช้�น MINUTE แปลงเวลา เป1น เลขนาที่� ฟ5งก�ช้�น SECOND แปลงเวลา เป1น เลขว)นาที่� ฟ5งก�ช้�น LCASE แปลงตั�วอ�กษร เป1นตั�วอ�กษรพ)ม่พ�เล2ก ฟ5งก�ช้�น UCASE แปลงตั�วอ�กษร เป1นตั�วอ�กษรพ)ม่พ�ให้ญ่� ฟ5งก�ช้�น LEFT ตั�ดูตั�วอ�กษรที่างดู�านซ้ำ�ายม่าใช้�เที่�าที่�'ตั�องการ ฟ5งก�ช้�น RIGHT ตั�ดูตั�วอ�กษรที่างดู�านขวาม่าใช้�เที่�าที่�'ตั�องการ ฟ5งก�ช้�น MID ตั�ดูตั�วอ�กษรโดูยเร)'ม่จากตั�าแห้น�งใดู ๆ ม่าใช้�เที่�าที่�'ตั�องการ ฟ5งก�ช้�น LEN แปลงตั�วอ�กษร เป1น จ�านวนของตั�วอ�กษร ฟ5งก�ช้�น LTRIM ตั�ดูช้�องว�างที่างดู�านซ้ำ�าย ที่)�งไป

Page 16: ASP [# 7]

16

ฟ5งก�ช้�น RTRIM ตั�ดูช้�องว�างที่างดู�านขวา ที่)�งไป ฟ5งก�ช้�น TRIM ตั�ดูช้�องว�างที่างดู�านขวา และซ้ำ�าย ที่)�งไป ฟ5งก�ช้�น REPLACE แที่นที่�'ข�อค่วาม่ ดู�วยจากค่�าที่�'ค่�นห้า ดู�วยค่�าให้ม่� ฟ5งก�ช้�น rnd ส�งค่�าที่�'ไดู�จากการส*�ม่ ตั��งแตั� 0 แตั�ไม่�ถู-ง 1 ฟ5งก�ช้�น ROUND ป5ดูเศษเที่�าจ�านวนห้ล�กที่�'ตั�องการ ฟ5งก�ช้�น TYPENAME แสดูงช้น)ดูของข�อม่�ล ฟ5งก�ช้� 'น Atn() ห้ม่ายถู-งอ�ตัราส�วนของดู�านตัรงข�าม่ม่*ม่ก�บดู�านประช้)ดู ฟ5งก�ช้� 'น Exp() ห้ม่ายถู-งตั�วเลขที่�'ตั�องการแสดูงเลขฐาน e ฟ5งก�ช้� 'น Int(),Fix() ห้ม่ายถู-งตั�วเลขที่�'ตั�องการป5ดูเศษ ฟ5งก�ช้� 'น Log ใช้�แสดูงค่�า Logarithm ของตั�วเลขที่�'ก�าห้นดู ฟ5งก�ช้� 'น Sgn() ใช้�ส�าห้ร�บบอกว�าตั�วเลขที่�'ก�าห้นดูเป1นจ�านวนเตั2ม่, จ�านวนเตั2ม่ลบ,

จ�านวนเตั2ม่ศ�นย� ฟ5งก�ช้� 'น Tan() ใช้�แสดูงค่�า Tangent ของม่*ม่ที่�'ก�าห้นดู ฟ5งก�ช้� 'น Sin() ใช้�แสดูงค่�า Sine ของม่*ม่ที่�'ก�าห้นดู ฟ5งก�ช้� 'น Cos() ใช้�แสดูงค่�า Cosine ของม่*ม่ที่�'ก�าห้นดู ฟ5งก�ช้� 'น Sqr() ใช้�แสดูงค่�ารากของตั�วเลข ฟ5งก�ช้� 'น Oct() ใช้�แปลงเลขฐาน 10 ให้�อย��ในร�ปของ String ของเลขฐาน 8 ฟ5งก�ช้� 'น Hex() ใช้�แปลงเลขฐาน 10 ให้�อย��ในร�ปของ String ของเลขฐาน 16

Page 17: ASP [# 7]

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

ฟ5งก�ช้�นส�าห้ร�บที่ดูสอบfunction ที่��ง 23 ตั�ว โดูยร�บค่�า

ม่าจาก form ผ�านrequest.form("cmd")

และ request.form("x") request.form("y") request.form("z") แล�วแสดูง

ผลตัาม่ที่�'ไดู�ประม่วลผล

Page 18: ASP [# 7]

18

แบบฝึ/กห้#ด้

555Name :

Age :

Birthday :

Submit

กร�ณิาป0อนชั่1*อเป2นต่#วัอ#กษรให้�ข้4�นข้�อควัามวั�า

“ กร�ณิาป0อนชั่1*อ เป2นต่#วั” อ#กษร ห้ร1อ

“ กร�ณิาป0อนอาย� เป2น” ต่#วัเล์ข้ ห้ร1อ

“ กร�ณิาป0อนวั#นเก$ด้ เป2นวั#น” ทำ�* ห้ร1อ