ประโยคการควบคมุ อื่นๆเพ่ิมเติม (other control statements) ประโยคในการควบคุมทิศทางกําหนดใหโปรแกรมทํางานของผูเขียนโปรแกรม นอกเหนือจากวธิ ีในการกาํ หนดผา นทางเงื่อนไข ผา นทางการวนลูป เปนหลักแลวยังมีประโยคท่ี นาสนใจเพ่ิมเติม ที่สามารถนํามาชวยในการแกปญหาในการเขียนโปรแกรมท่ีไมปกติได เม่ือ ตองการกระโดด (jump) ออกจากบล็อกของลูปการทํางานปกติ ไปยังจุดการทํางานจุดอ่ืนได ประโยคดงั กลาวประกอบดว ย ประกอบดว ย break, continue และ return อปุ กรณ 1. เครื่องคอมพิวเตอร 2. ระบบอนิ เทอรเ นต็ สาํ หรับการคนควา 3. ตวั โปรแกรม Edit Plus 4. ตวั โปรแกรมภาษาจาวา 5. หนว ยความจําเคลอ่ื นท่ี (Handy Drive หรือ External Hard disk) วธิ ที ดลอง 1. เปดโปรแกรมภาษาจาวา โปรแกรม Edit Plus บนเครือ่ งคอมพิวเตอรข องนักศึกษา 2. ตรวจสอบทีอ่ ยูของคําสั่งตา งในโปรแกรม Edit Plus กอนใชง าน 3. เขียนโปรแกรมตาม ตัวอยาง 4.1 เปนตัวอยางโปรแกรมการกําหนดแสดงขอความ GoodMorning เมื่อรับคา 0-11 แสดงขอความ GoodAfterNoon เมื่อรับคา 12-18 และ แสดงขอ ความ GoodEverning เม่อื รบั คา 19-24 4. เม่ือพิมพโปรแกรมแลวใหนักศึกษาทําการส่ังใหโปรแกรมภาษาจาวาทําการแปลภาษา สั่ง run และเขียนผลการทํางานของโปรแกรม ต้งั แตเร่มิ ทําการรบั คาจากคียบอรด และผลการ ประมวลผลโปรแกรม 5. เขียนโปรแกรมตาม ตัวอยาง 4.2 โปรแกรมการใช for loop ใหนักศึกษาทําการวิเคราะห โปรแกรม วาสามารถนาํ ไปใชงานไดหรือไม ใหนกั ศกึ ษาทําการปรับปรงุ โคดใหสามารถ run ได ตามท่นี ักศกึ ษาตอ งการ 6. ทําการแปลภาษาโปรแกรม สั่งใหโปรแกรมทํางาน และใหนักศึกษาเขียนผลการทํางาน โปรแกรม 7. ใหนักศึกษาทําการเขียนโปรแกรมตัวอยาง 4.3 โปรแกรมการใช do…while loop ให นักศึกษาทําการวิเคราะหโปรแกรม วาสามารถนําไปใชงานไดดานใด ใหนักศึกษาทําการ ปรบั ปรงุ โคดใหส ามารถ run ได ตามทีน่ ักศกึ ษาตองการ 8. จงเขียนโปรแกรม Java ใหรับคาช่ือของผูเขียนโปรแกรม ทําการพิมพ 5 คร้ัง เพ่ือทําการ คํานวณ การบวกจาก 1 ถึง 100 โดยทบี่ วกเฉพาะเลขค่ี (1, 3, 5, . . . ) -------------------------------------
การทดลองท่ี 5 คลาสและออ็ บเจกต วัตถุประสงค 1. เพ่ือใหสามารถเขยี นโปรแกรมในงานดว ยการใชโครงสรางคลาส 2. เพ่ือใหสามารถสรางอ็อบเจกตป ระกอบการเขียนโปรแกรมได 3. เพือ่ ใหสามารถมคี วามสามารถในการวิเคราะหแยกแยะการทํางานของแตละอ็บเจกต และ สังเคราะหโปรแกรมใหส ามารถนําคลาสที่สรางข้นึ หรือคลาสจากไลบรารีมาใชง านได 4. เพ่อื ใหเ กิดทกั ษะในการแกปญหาโปรแกรมภาษาจาวาได ความรพู ื้นฐาน การเขยี นโปรแกรมเชิงวัตถุ จงึ เปน การเขยี นโปรแกรมท่ีสามารถเขาถึงในการแกปญหาได โดยมี แนวคดิ จากธรรมชาติมากําหนดเปนหลกั ในการเขียนโปรแกรม มีองคประกอบสําคัญคือ คลาส แพ็กเกจ และ อ็อบเจกต มรี ายละเอยี ดดงั นี้ คลาส เปนเปรียบเสมือนกับภาชนะที่รวบรวมวัตถุ(object) โดยในแตละวัตถุประกอบดวย ตัว แปร และสองเมธอด ความหมายของคลาส คือเปนที่รวบรวมอ็อบเจกตหนึ่งอ็อบเจกต หรือมากกวา หนงึ่ อ็อบเจกต หรือเรยี กคลาสวา เปนพมิ พเ ขียวในการสรางอ็อบเจกต โดยขอมูลท่ีอยูในคลาสในแตละ คลาส สามารถเรยี ก หรอื นาํ มาใชม าใชง านภายนอกคลาสได แพ็กเกจ การเขียนโปรแกรมภาษาเชิงวัตถุ ดวยภาษาจาวามีการเรียกใชงานคลาสท่ีเปน แพ็กเกจอยางสมํ่าเสมอ เพ่ืออํานวยความสะดวกแกผูพัฒนาโปรแกรมไดอยางตอเนื่อง แพ็กเกจที่เปน สวนสําคัญสําหรับผูเร่ิมตนในการพัฒนาโปรแกรมภาษาจาวา ควรรูและนํามาใชงานบางสวนดังน้ี java.applet เปน แพ็กเกจทีเ่ กบ็ คลาสดา น Applet สว น java.awtเปนแพ็กเกจที่เก็บคลาส ดาน GUI(Graphic User Interface) แยกจาก swing และ java.beans เปนแพ็กเกจท่ีเก็บคลาส ดา น beans เปนตน อ็อบเจกต มีรปู แบบในการสราง ประกอบดว ย 3 แบบ คอื ที่ 1. ประกาศ instance class ดวย class_name Object_ identifier ; โดยการเตรียมพืน้ ทีบ่ นหนว ยความจาํ สาํ หรับ instance class ทส่ี รา งขึ้นดวย Object_ identifier = new class_name ([class_parameter]); 2. ประกาศ instance พรอ มเตรียมพนื้ ท่บี นหนวยความจําสําหรบั instance ท่ีสรางใหม class name Object_ identifier = new class_name(); 3. สรา งออ็ บเจกตโดยไมประกาศตวั แปรอ็อบเจกตเพ่ือใชอ างอิงอ็อบเจกตได new class_name();
สวนคอนสตรัคเตอร เปนการสรางอ็อบเจกตพรอมกับการกําหนดคาเริ่มตนใหกับแอทตริบิวต ตาง ๆ ของออ็ บเจกตท ีไ่ ดสรา งข้ึนดวยคียเ วรด new โดยคอนสตรัคเตอรจะถูกเรียกใชใหทํางาน อตั โนมตั ิ เมอื่ ทําการสรา งออบเจ็คข้ึน ในขณะที่สรางแตละอินสแตนซข้ึนมาที่มีช่ือเดียวกันกับ คลาส ซึ่งสามารถกําหนดเปน public ไวหนา modify ไดเทา นั้น อุปกรณ 1. เคร่อื งคอมพิวเตอร 2. ระบบอินเทอรเ น็ต สําหรับการคน ควา 3. ตัวโปรแกรม Edit Plus 4. ตัวโปรแกรมภาษาจาวา 5. หนว ยความจําเคล่ือนที่ (Handy Drive หรือ External Hard disk) วิธีทดลอง 1. เปดโปรแกรมภาษาจาวา โปรแกรม Edit Plus บนเคร่ืองคอมพวิ เตอรของนักศึกษา 2. ตรวจสอบที่อยูของคําสัง่ ตา งในโปรแกรม Edit Plus กอ นใชง าน 3. เขียนโปรแกรมตาม ตัวอยาง 5.1 เปนตัวอยางโปรแกรมการสรางคลาสลักษณะคอนสตรัค เตอร และการสงคาเมื่อมีการสรางอ็อบเจกต ทําการบันทึกคลาสเปน Lab5_1 ทําการ ทดสอบโปรแกรม 4. เม่ือพิมพโปรแกรมแลวใหนักศึกษาทําการส่ังใหโปรแกรมภาษาจาวาทําการแปลภาษา สั่ง run และเขียนผลการทํางานของโปรแกรม ตั้งแตเรม่ิ ทําการรบั คาจากคียบอรด และผลการ ประมวลผลโปรแกรม 5. เขียนโปรแกรมตาม ตัวอยาง 5.2 โปรแกรมการใชคลาส ใหนักศึกษาทําการวิเคราะห โปรแกรม วาสามารถนําไปใชงานไดหรือไม ใหนักศึกษาทําการปรับปรุงโคดใหไดผลตามท่ี นักศกึ ษาตองการ 6. ใหนกั ศึกษาทําการศึกษาแพ็กเกจของโปรแกรมภาษาจาวา เพ่ิมเติมจาก ตัวอยางโปรแกรม 5.3 7. ทําการแปลภาษาโปรแกรม ส่ังใหโปรแกรมทํางาน และใหนักศึกษาเขียนผลการทํางาน โปรแกรม 8. ใหน ักศึกษาทําการเขยี นโปรแกรมตามตัวอยางโปรแกรมท่ี 5.4 ใหส ามารถทาํ งานรบั จาก ผใู ชง าน จํานวน 2 คา แลวนํามาคาํ นวณ พรอมแสดงผลการคํานวณดวย Dialog ของ Packet -------------------------------------
การทดลองท่ี 6 การใชงานแอพเพ็ต วัตถุประสงค 1. เพอ่ื ใหสามารถเขียนโปรแกรมจาวาดวยเทคโนโลยแี อพเพ็ตได 2. เพือ่ ใหส ามารถนําโคดแอพเพ็ตมาทํางานรว มกับเวบ็ เพจได 3. เพ่ือใหสามารถมคี วามสามารถในการวิเคราะหแยกแยะการทาํ งานของแตล ะเทรดได 4. เพอ่ื ใหเ กิดทกั ษะในการแกปญหาโปรแกรมภาษาจาวาได ความรูพื้นฐาน ในการสรางโคดจาวาแอพเพ็ตตองการสรางอ็อบเจกตท่ีไดทําการขยายมาจากคลาส ตน แบบชื่อ java.applet.Applet ดวยคยี เวิรด extends ดงั ตัวอยางการสรางออ็ บเจกต ดังนี้ public class FirstApplet extends java.applet.Applet { public void paint (Graphics g) { ตัวโคดของสง่ิ ที่ตองการใหแ สดงสูหนาจอภาพ } } เม่ือ FirstApplet.java ถูกคอมไพลแลวจะได FirstApplet.java.class จากน้ันจะตองมี HTML page ท่ีมี APPLET tag ท่ีเรียก FirstApplet.java.class ใหทํางานอยูใน ไฟล JavaApplet.html และทําการเรียก Applet มาใชง านดวย appletviewer (ภาพดา นลาง)
ภาพแสดงการ APPLET tag อยใู นไฟล JavaApplet.html ในการทํางานรวมกันระหวางแท็กแอพเพ็ต กับ HTML สามารถทําการสงพารามิเตอรที่อยู ภายใตแ ท็ก <APPLET> กับ </APPLET> โดยมรี ูปแบบ <APPLET CODE = \"AppletFile.class\" width = 300 height =100> <PARAM NAME = “ชอ่ื ของพารามิเตอร 1” VALUE = “คา ขอ มูลของพารามเิ ตอร 1”> … <PARAM NAME = “ชือ่ ของพารามิเตอร N” VALUE = “คาขอมลู ของพารามเิ ตอร N”> </APPLET> โดยพารามิเตอร เปนลักษณะ Case-Sensitive กลาวคือ ถาเปนช่ือเดียวกันแตคนละลักษณะ ตวั พิมพ ถือวาเปนช่อื พารามิเตอร คนละตวั กนั จงึ สามารถใช ในการเก็บคา ขอมูลคนพารามเิ ตอรละตวั การสรางกราฟกแสดงผลสูหนาจอภาพ สามารถทําไดโดยใชเมธอด ท่ีอยูในแพ็คเก็ต java.awt เชน setColor() และ setFont() สวนเมธอดที่ทําการสรางลักษณะรูปรางตางๆ ไดแกเมธอด drawString(), drawLine(), drawRect(), fillRect(), drawRoundRect(), fillRoundRect(), drawOval(), fillOval(), drawArc(), fillArc(), drawPolygon(), fillPolygon() และเมธอด drawPolyline() ดังตัวอยาง การกําหนดสีใหไปใชกับอ็อบเจกตที่ตองการแสดงกราฟก มีรูปแบบการ โคด setColor(Object ส)ี ; การกาํ หนดเสียงของแอพเพต็ ทําไดโ ดยการเรียกเมธอดสาํ หรับใชงานการนําเสียงมาเก็บไว ที่ตัวแปรไดดวยเมธอด getAudioClip() และเมธอดส่ังการควบคุมเสียง เมธอดสั่งใหเปดเสียง AudioClip.play() เมธอดสั่งวนรอบเสียง AudioClip.loop() และเมธอดปดเสียง AudioClip.stop()
เปนตน ซงึ่ ไฟลเสยี งท่นี าํ มาใชง านควรอยูทโ่ี ฟลเดอรเดยี วกับโคด จาวา และชนิดของไฟลเสียงท่ีสนับสนุน ไดแก .wav .au และ .midi เปนตน การกําหนดภาพของแอพเพ็ตสามารถเรียกใชงานไดอยางสะดวก ไดดวยถาตองการนํา ภาพมาเก็บไวที่ตัวแปรไดดวยเมธอด getImage() และเมธอดสั่งแสดงภาพไดดวยเมธอด g.drawImage(“ไฟลภาพ”, 0, 0, null) ซึ่งไฟลภาพท่ีนํามาใชงานควรอยูท่ีโฟลเดอรเดียวกับโคดจาวา และชนดิ ของไฟลภาพท่ีแอพเพ็ตสนบั สนนุ ไดแก .gif และ .jpg เปน ตน แอพเพต็ กับเทรดสําหรบั ภาพเคลอื่ นไหว ภาพเคลื่อนไหวสามารถสรางขึ้นได โดยการนํา ภาพน่ิงหลายๆ ภาพมาฉายตอเนื่องกันดวยความเร็วสูง ทําใหเกิดภาพลวงตาของการเคลื่อนไหว ซึ่งใน การดําเนินการตองอาศัยการทํางานของ เทรด ซึ่งเทรด ก็คือ สวนประกอบยอยของการโปรเซส (ประมวลผล) ดังนั้น เทรด จึงเปนงานยอยๆ ของการประมวลผลในขบวนการทํางานของโปรเซสเซอร ถาในการทํางานของซีพียู 1 โปรเซส ที่มีการทํางานหลายๆ เทรด (งานยอย) การสรางเทรดในแพ็กเกจ ของแอพเพ็ต เปนการเรียกเมธอด run() ซึ่งระบบก็ตองมีสวนประกอบการทํางานเทรดของเมธอด paint() ประกอบทุกครงั้ อยางนอ ย 1 เทรด ตัวอยาง การสรางคลาสท่ีมีการอินเตอรเฟส (interface) เท รดเปนสวนยอยนั่นเอง เชน public class ClassName implements Runnable {…} หรือสรางคลาส ดวย public class ClassName extends Thread {…} ในการสรางภาพเคล่ือนไหว กอนทําการสราง ตองเตรียมภาพท่ีตองการนํามาแสดง และพื้นหลังที่ตองการใหภาพน่ิง จํานวนตามท่ีตองการสราง ภาพเคลือ่ นไหวในท่ีน้ีตอ งทาํ การเตรยี มแฟมขอมลู ที่เปนนามสกลุ .gif มารวมใชงานการสรางเปน ตน อปุ กรณ 1. เครื่องคอมพวิ เตอร 2. ระบบอนิ เทอรเนต็ สําหรับการคนควา 3. ตัวโปรแกรม Edit Plus 4. ตวั โปรแกรมภาษาจาวา 5. หนวยความจาํ เคลือ่ นท่ี (Handy Drive หรอื External Hard disk) วธิ ีทดลอง 1. เปดโปรแกรมภาษาจาวา โปรแกรม Edit Plus บนเคร่อื งคอมพิวเตอรของนักศึกษา 2. ตรวจสอบที่อยูของคาํ สง่ั ตา งในโปรแกรม Edit Plus กอนใชงาน 3. เขยี นโปรแกรมตามตัวอยาง 6.1 โปรแกรมในการกําหนดสี สรางรูปส่ีเหล่ียม และ เติมสีใน รูปเหล่ียม ที่ในการใชเมธอดการสรางกราฟกดวยเมธอด setColor()และเมธอด drawRect() ซึ่งมีรูปแบบการโคด คือ drawRect(x, y, w, h) โดย x, y เปนจุดเริ่มตนของ รูปสี่เหล่ียม สวน w เปน ความกวางของรูปส่ีเหล่ียม และ h เปนความสูงของรูปสี่เหลี่ยม และการเติมสลี งในรปู เหลี่ยม 4. ใหนักศึกษาเขียนอธิบาย โดยทําการวิเคราะหการทํางานของแตคําส่ัง ในแตละบรรทัดวา ทาํ งานอยา งไรโดยนําผลการทดลองมาประกอบการอธิบาย
5. ใหนักศึกษาเขียนโปรแกรม ตามตัวอยางท่ีในการใชเมธอดการสรางกราฟกดวยเมธอด setColor()และเมธอด drawRoundRect(20,10,100,100,50,50) ซ่ึงมีรูปแบบการโคด คือ drawRoundRect(x, y, w1, h1, w2, h2) โดย x, y เปนจุดเริ่มตนของรูปสี่เหลี่ยม สวน w1 เปนความกวางของรูปสี่เหล่ียม และ h1 เปนความสูงของรูปสี่เหลี่ยม สวน w2 เปนความกวางของรูปส่ีเหลี่ยมของท่ีใชกําหนดความโคงของมุมสี่เหล่ียม และ h2 เปน ความสูงของรูปสี่เหลี่ยมของท่ีใชกําหนดความโคงของมุมส่ีเหลี่ยม แสดงภาพท่ี 6.17 และ การเตมิ สีลงในรูปเหลย่ี มเมธอด fillRoundRect() 6. ใหนักศึกษาเขียนโปรแกรมตาม ตัวอยาง 6.2 โปรแกรมในการแสดงคาของเมธอด drawRoundRect() กบั เมธอด fillRoundRect() 7. ทําการแปลภาษาโปรแกรม สงั่ ใหโ ปรแกรมทาํ งาน ใหผ ลการทํางานแสดงภาพที่ 6.18 8. ใหน ักศกึ ษาเขียนใหนักศึกษาเขียนอธิบาย โดยทําการวิเคราะหการทํางานของแตคําสั่ง ใน แตล ะบรรทดั วา ทํางานอยา งไรโดยนาํ ผลการทดลองมาประกอบการอธบิ าย 9. เขียนโปรแกรมตาม ตัวอยาง ตัวอยาง 6.3 โปรแกรมในการแสดงคาของเมธอด drawOval() กับเมธอด fillOval() 10. ใหนักศึกษาเขียนอธิบาย โดยทําการวิเคราะหการทํางานของแตคําสั่ง ในแตละบรรทัดวา ทาํ งานอยางไร และใหเขยี นผลการทาํ งานของโปรแกรม 11. ใหนักศึกษาทําการคนควาในการเขียนโคด โดยใช g .setColor(), drawRect(), fillRect(), fillOval() ใหสามารถ แสดงผลการทาํ งานโปรแกรม (ภาพที่ 6.19) 12. ใหนกั ศึกษาทําการคน ควาในการเขยี นเมธอด drawArc(), fillArc(), drawPolygon(), fillPolygon() และเมธอด drawPolyline() 13. จงเขยี นโคดใหม ภี าพเคลื่อนไหวของแอพเพ็ตอยางนอย 2 ภาพ และเขียนเหตุผลการแสดง คา ของโคดวาไดผ ลทีแ่ สดงการทาํ งานเปน เพาะเหตใุ ด 14. จากโคดดา นลางพรอมเขียนเหตผุ ลการแสดงคาของโคดวา ไดผลทแ่ี สดงเพราะเหตุใด import java.awt.*; import java.applet.*; public class ImageExApplet extends java.applet.Applet { Image imgEx; public void init() { } imgEx = getImage(getCodeBase(), \"bravo.gif\"); public void paint(Graphics g) { g.drawImage(imgEx, 100, 100, null); } } -------------------------------------
การทดลองท่ี 7 สว นตดิ ตอ กบั ผูใชแ บบกราฟก วัตถปุ ระสงค 1. เพอื่ ใหสามารถเขียนโปรแกรมจาวาสรางสว นตดิ ตอ กับผใู ชแบบกราฟกได 2. เพ่ือใหส ามารถนาํ สว นตดิ ตอกบั ผใู ชแ บบกราฟกมาทํางานรว มกบั เสยี งและภาพได 3. เพ่ือใหสามารถมีความสามารถในการวิเคราะหแยกแยะการทํางานของสวนติดตอกับผูใช แบบกราฟก ได 4. เพ่ือใหเ กดิ ทักษะในการแกปญหาโปรแกรมภาษาจาวาได ความรพู ้ืนฐาน GUI มีสวนประกอบหลกั ดงั น้ี Containers เปนสวนท่ีทําหนาท่ีในเก็บ Components ตางๆ ท่ีตองแสดงหนาเว็บ ตามที่ กําหนด ซ่ึงอาจเปนโครงรางในการออกแบบการวาง layout (เชน flow หรือ grid) และสวนของ container สามารถเกบ็ สวนทีเ่ ปน sub-containers ไดก ารโปรแกรม GUI ใน Container จะตอง มี frame, Dialog และ Applet (Top-Level Containers) ซึ่งในสวนของ frame ได จัดเตรียมสว นที่เปน main window Components เปนสวนประกอบเปนสวนท่ีแสดงขอมูล บนหนาจอเว็บ เชน Button, Label, and TextField เปนตน ในการโปรแกรม GUI ทุก component ตองถูกวางใน container โดยทุก component สามารถวางดวยเมธอด add (Component c) มีผลทําให Container สามารถเขามาทํางานได การโปรแกรม GUI ดว ย Swing และ AWT ข้นั ตอนท่ี 1 สรา ง JFrame ดวย JFrame fName = new JFrame(\"Title\"); ขน้ั ตอนที่ 2 สราง JPanel ซึง่ เปน component และตองนํา JPanel ไปวางบนในสวนของ container ในทนี่ ี้ ก็คือ JFrame ซึง่ มีรูปแบบของการสราง JPanel คือ JPanel pName = new JPanel(manager);
ข้นั ตอนที่ 3 สรา งคลาสทเ่ี ปน Component 3.1 สว นท่เี ปน ปุม (Button) สามารถสรา งโดยมรี ูปแบบการสราง ดงั นี้ JButton bName = new JButton(text, icon); 3.2 ปา ยแสดงขอ ความ (Label) มีรูปแบบการสราง ดงั น้ี JLabel lName = new JLabel(text, icon, alignment); 3.3 ชองรับขอ ความ (TextField) มีรปู แบบการสรา ง ดังน้ี JTextField tName = new JTextField (text, length); 3.4 ชอ งรับรหัสผา น (PasswordField) มรี ูปแบบการสรา ง ดงั น้ี JPasswordField pwName = new JPasswordField (text, length); 3.5 ตวั เลอื กหนงึ่ รายการ (RadioButton) มรี ูปแบบการสราง ดังนี้ JRadioButton rbName = new JRadioButton (text, icon, boolValue); 3.6 รายการขอ มูล (List) มรี ูปแบบการสรางรายการขอ มูล ดงั น้ี JList ltName = new JList (item); 3.7 ตวั เลือกรายการมากกวาหน่ึงตวั เลือก (CheckBox) มรี ปู แบบการสรางรายการขอมูล ดงั นี้ JCheckBox ckName = new JCheckBox (text, icon); 3.8 ตัวเลอื กรายการหนงึ่ ตัวเลือก (ComboBox) มรี ปู แบบการสรา งรายการขอมูล ดังนี้ JComboBox cbName = new JComboBox (item); 3.9 เมนู (Menu) มรี ปู แบบและขั้นตอนในการสรา งเมนู ดังน้ี 3.9.1 สรา งเมนบู ารดว ย JMenuBar MyMenuBar = new JMenuBar(); 3.9.2 สรา งเมนดู วย JMenu MyMenu = new JMenu(StringName); 3.9.3 รายการเมนูยอยJMenuItem MyMenuItem = new JMenuItem(iTemName); 3.9.4 การเพมิ่ รายการเมนยู อ ยลงในเมนูดวย MyMenu.add(MyMenuItem); 3.9.5 การเพ่ิมเมนูลงในเมนูบารด วย MyMenuBar.add(MyMenu); 3.9.6 การสั่งใหเมนบู ารลงในเฟรมดว ย FrameName.setJMenuBar(MyMenuBar);
ข้ันตอนท่ี 4 การจัดวางองคป ระกอบ (Layout Manager) FlowLayout เปนการจัดวางองคประกอบใหทําการแสดงท่ีเรียงลําดับตามบรรทัดแรกใหเต็ม บรรทัดกอนจึงทําการใหแสดงในบรรทัดถัดไป จนครบองคประกอบท่ีถูกสั่งใหทําการแสดง ซึ่งมีรูปแบบ ดังนี้ JPanel flName = new JPanel(); flName.setLayout(new FlowLayout()); BorderLayout เปนการจัดวางองคประกอบใหแสดงตามทิศทั้ง 5 ตําแหนง คือทิศเหนือ (North) ทิศใต (South) ทิศตะวันออก (East) ทิศตะวันตก (West) และจัดใหอยูก่ึงกลาง ซึ่งมีรูปแบบ ดังนี้ JPanel bflName = new JPanel(); flName.setLayout(new BorderLayout()); GridLayout เปนการจัดวางองคป ระกอบใหท าํ การแสดงในชอง (grid) เปนลักษณะตารางซึ่งมี รูปแบบดงั น้ี JPanel glName = new JPanel(); glName.setLayout(new GridLayout(Row, Column)); สราง Basic Event Handling โดยมลี ะข้ันตอนในการสราง ดังน้ี 1. สรางออบเจกต JRadioButton ดว ย JRadioButton rB = new JRadioButton (\"Single Choice\"); 2. กําหนด Event ใหกบั ออบเจกต JRadioButton และ addActionListener ( listener ) เปนคาํ สัง่ ที่ใชใ นการดักฟงเหตกุ ารณเม่ือมีการคลิกท่คี อมโพเนนต ดวย rB.addActionListener ( new ActionListener ( ) 3. การคนื คาคอมโพเนนต เมื่อมกี ารเกดิ เหตุการณ (Event) ข้นึ ดว ย JRadioButton rB = ( JRadioButton ) event.getSource ( ); 4. การตรวจสอบสถานะของ RadioButton วา ถกู เลอื กอยูหรือไมถกู เลือกอยู ดว ย boolean isSelected = radioButton.isSelected ( ); 5. การแสดง Message Dialog ดว ย JOptionPane.showMessageDialog ( null, \"Click to selected.\" );
อุปกรณ 1. เครือ่ งคอมพวิ เตอร 2. ระบบอนิ เทอรเนต็ สาํ หรบั การคนควา 3. ตัวโปรแกรม Edit Plus 4. ตัวโปรแกรมภาษาจาวา 5. หนวยความจําเคล่ือนท่ี (Handy Drive หรอื External Hard disk) วิธที ดลอง 1. เปดโปรแกรมภาษาจาวา โปรแกรม Edit Plus บนเครื่องคอมพิวเตอรข องนักศึกษา 2. ตรวจสอบทอี่ ยูของคําสงั่ ตางในโปรแกรม Edit Plus กอ นใชงาน 3. ใหนักศึกษาเขียนโปรแกรม ตามตัวอยางท่ี 7.1 ในการใช Frame และ Panel พรอมการ กาํ หนดสี 4. ใหนักศึกษาเขียนอธิบาย โดยทําการวิเคราะหการทํางานของแตคําส่ัง ในแตละบรรทัดวา ทํางานอยางไรโดยนําผลการทดลองมาประกอบการอธิบาย 5. ใหนกั ศกึ ษาเขียนโปรแกรม โดยใชเครื่องมือ ComboBox ใหไดผลการทํางานโปรแกรม ดัง ภาพท่ี 7.19 6. ใหนักศึกษาเขียนโปรแกรมตาม ตัวอยาง 7.3 โปรแกรมในการแสดงคาของเมธอด drawOval() กบั เมธอด fillOval() 7. ทําการแปลภาษาโปรแกรม ส่งั ใหโปรแกรมทาํ งาน ใหผ ลการทาํ งาน 8. ใหนักศึกษาทําการคนควาทําการเขียน ActionListener รองรับการคลิกเมาส และการรัน ขอ ความลงใน TextBox จาํ นวน 20 ตัวอกั ษร 9. ใหนักศึกษาเขียน GUI ใหสามารถรับคามาทําการคํานวณคณิตศาสตรอยางมีระบบ 1 โปรแกรม -------------------------------------
การทดลองท่ี 8 การตดิ ตอกบั กับแฟม ขอ มลู วัตถปุ ระสงค 1. เพอื่ ใหส ามารถเขยี นโปรแกรมจาวาสรา งการตดิ ตอ กับแฟมขอมลู ได 2. เพือ่ ใหส ามารถนาํ สวนการตรวจจับดว ย การใชค ําสั่ง try … catch / finally 3. เพ่ือใหสามารถเขยี นโปรแกรมจาวาสรา งการติดตอ ดว ยคารแ ร็คเตอรส ตรมี ได 4. เพอื่ ใหส ามารถมคี วามสามารถในการวิเคราะหแยกแยะการทาํ งานแฟม ขอมลู ได 5. เพ่ือใหเกดิ ทักษะในการแกปญหาโปรแกรมภาษาจาวาได ความรพู ้ืนฐาน ในการสงขอมูลระหวางตัวโปรแกรม กับแหลงท่ีเก็บขอมูลจะเปนกระบวนการท่ีเกิดข้ึนได 2 ลักษณะคอื การอา น (Read) กบั การเขยี น (Write) การอานไฟลสตรีม (File Stream Reading) ตองมีการตรวจสอบความถูกตองหรือ การดัก จับ เออเรอร (Error) ท้ังดานอินพุตและเอาตพุต (IOException) วาแฟมขอมูลท่ีไดทําการติดตอน้ันมี อยูจริง หรือมีขอมูลอยูหรือไม ถาไมมีการทํางานของ IOException จะทําการฟองชนิดของการ Error ใหผใู ชโ ปรแกรมทราบขอผิดพลาด มีรปู แบบดังนี้ public static void main(String[] args) throws IOException สามารถสง่ั งาน ดงั น้ี File filename = new File(“path”); FileInputStream fInput = new FileInputStream(filename); fInput.read(); การเขยี นไฟลส ตรมี (File Stream Writing) มีรูปแบบการสั่งงาน ดังนี้ File filename = new File(“path”); FileOutputStream fOutput = new FileOutputStream(filename, append); fOutput.write(data);
การใชคําส่ัง try … catch / finally เปนการจัดการ Exception มีโครงสรางการทํางาน คลา ยกบั กลุม คําสง่ั if / else กลา วคอื ถา มกี ารตรวจสอบเงื่อนไข ในท่ีน้ีคือ Exception ท่ีอยูหลัง try วา มีเหตุการณเกิดขึ้น ถือวาถูกตอง ก็จะใหโปรแกรมมาประมวลผลหลังคําสั่ง catch สวน finally เปน ชดุ คาํ สั่งใหทําทกุ เหตกุ ารณกอนออกจาก try คารแรค็ เตอรส ตรีม เปนสตรมี ทีม่ กี ารจัดการขอมูลท่ีไดท ําการติดตอกับแฟมขอมูล เมื่อทําการ เรยี กใชแ ฟม ขอมูลทไี่ มมอี ยใู นหนวยความจํา ก็จะทําการสรางแฟมขอมูลขึ้นมาตอบสนองการติดตอของ Stream ไดท ันที การอานขอ มลู คารแ รค็ เตอรส ตรีม มรี ูปแบบดงั น้ี File filename = new File(“path”); FileReader fInput = new FileReader(filename); data = fInput.write(); การเขียนขอมลู คารแ รค็ เตอรส ตรมี มรี ปู แบบดังน้ี File filename = new File(“path”); FileWriter fOutput = new FileWriter(filename [, append]); fOutput.write(data); อปุ กรณ 1. เคร่ืองคอมพิวเตอร 2. ระบบอนิ เทอรเ นต็ สาํ หรบั การคน ควา 3. ตวั โปรแกรม Edit Plus 4. ตวั โปรแกรมภาษาจาวา 5. หนวยความจาํ เคล่อื นที่ (Handy Drive หรอื External Hard disk)
วธิ ที ดลอง 1. เปดโปรแกรมภาษาจาวา โปรแกรม Edit Plus บนเคร่อื งคอมพิวเตอรข องนักศึกษา 2. ตรวจสอบท่ีอยูของคาํ สงั่ ตางในโปรแกรม Edit Plus กอนใชง าน 3. ใหนกั ศึกษาเขียนโปรแกรม ตามตัวอยา งที่ 8.1 การใช Byte Stream และทําการจัดเตรียม แฟมขอมูลท่ีใชในการติดตอกับโปรแกรมแกม ช่ือ D:/Java/DataForLaB8.txt และ LaB8Out.txt 4. ใหไดผลการทํางาน ขอมูลในแฟม D:/Java/DataForLaB8.txt แสดงภาพที่ 8.13ม 8.14 และ 8.15 5. ใหนักศึกษาเขียนอธิบาย โดยทําการวิเคราะหการทํางานของแตคําส่ัง ในแตละบรรทัดวา ทาํ งานอยางไรโดยนาํ ผลการทดลองมาประกอบการอธบิ าย 6. ใหน กั ศกึ ษาเขยี นโปรแกรม เรื่อง try… catch ใหไดผลการทาํ งานโปรแกรม (ภาพที่ 8.16) 7. ใหนักศึกษาเขียนโปรแกรมตาม ตัวอยาง 8.3 โปรแกรมในการแสดง character stream โดยใช try… catch รวมกับการใชคําสั่งการติดตอแฟมขอมูลระดับไฟล ดวยคําส่ัง FileReader และ FileWriter 8. ใหน กั ศึกษาเขยี นผลการทดลองของโปรแกรมและอธบิ าย การทํางานมาพอเขา ใจ 9. ใหนักศึกษาทําการคนควาทําการเขียน ใหนักศึกษาทําการคนควาทําการเขียน Buffer Stream รองรับการปอ นขอมลู จาํ นวน 10 ตัวอักษร 10. ใหน กั ศกึ ษาทาํ การคน ควาทําการเขียนขอ มูลดวยคลาส PrinterWriter -------------------------------------
การทดลองท่ี 9 การประยุกตการติดตอฐานขอ มลู กับเครอื ขาย วัตถปุ ระสงค 1. เพ่อื ใหสามารถเขยี นโปรแกรมจาวาบนเนต็ บนี สไ ด 2. เพือ่ ใหส ามารถเช่ือมตอเน็ตบนี สกับมายเอ็สคิวแอลได 3. มที ักษะการโปรแกรมใชมายเอ็สควิ แอลบนเครือขา ยได ความรูพื้นฐาน การติดต้งั เนต็ บนี ส สามารถดาวนโ หลดไดท ่ี https://netbeans.org/downloads/ การใชง านเน็ตบีนส เรียกโปรแกรมเน็ตบนี ส จาก Start->All Programs ->NetBeans->NetBeans IDE 8.0 สรา งโปรเจค็ (Project ) ดว ยการเลอื กรายการเมนู File->New Project สั่งใหทํางาน ส่ังใหทาํ การทดสอบและการทํางานของโคด ดว ยการคลิกปุม Play การติดตงั้ AppServ การติดตั้งระบบเครือขายคอมพิวเตอร สําหรับการเขียนการควบคุมหนาเว็บไซต โปรแกรมฐานขอมูลมายเอ็สคิวแอล (MySQL) และ phpMyAdmin ซึ่งชุดพัฒนาสามารถ ดาวนโ หลด ไดท่ี http://sourceforge.net/projects/appserv/files/
การเชอ่ื มตอ เน็ตบนี สกับมายเอส็ คิวแอล เปดโปรแกรม NetBeans เพ่ือทําการเปด Services ของ Database ผานทาง Driver ใหส ามารถเช่อื มตอ MySQL ทําการเปด Services ก็สามารถนํา NetBeans ทําการเชื่อมตอกับ MySQL ผานทาง Localhost ทําการกําหนด Configuration ใหกับ Host ที่เปน localhost คือ User Name : คือ root สว น Password : คอื อยา งนอย 4 ตวั อกั ษร การเพ่ิม Library ของ NetBeans กบั MySQL jdbc Driver การกําหนดใหมกี ารทํางานรว มกนั ระหวาง NetBeans กับ MySQL มีความจําเปนตอง อาศัย Driver ของฐานขอมูล MySQL อยางตอเน่ือง ในการแปลงขอมูลระหวางกัน สามารถ การเพ่ิม Library ของ NetBeans กบั MySQL jdbc Driver โดยการคลิกขวาท่ี Libraries แลว ทําการเลือก Add Library ทําการเลอื ก MySQL JDBC Driver การกาํ หนดคุณลกั ษณะมายเอ็สคิวแอล การกําหนดสามารถทําไดโดยการคลิกขวาท่ี Databases->MySQL Server at localalhost: 3306 [root] (disconnection) แลวทําการเลือก Properties ทําการกําหนด Administration Password เปน 1234 (สามารถเวนวางไวได) ตามที่ กําหนดขณะทําการติดตั้ง และเม่ือตองการใหมีการจํารหัส สามารถทําไดโดยการทํา เคร่ืองหมายในบล็อก Remember Password แลว คลกิ OK ทําการกําหนดคุณสมบัติของผูบริหารระบบไดโดยการคลิกแท็บ Admin Properties โดยทําการกําหนดในสวนของ Path/URL to admin tool: สวนของ Path to start command: และสวนของ Path to stop command: ซึง่ มปี ุม Browse อปุ กรณ 1. เคร่ืองคอมพวิ เตอร 2. ระบบอินเทอรเ น็ต สําหรับการคน ควา 3. ตัวโปรแกรม NetBeans 4. ตวั โปรแกรม Appserv 5. ตวั โปรแกรม MySQL 6. หนว ยความจําเคลอ่ื นที่ (Handy Drive หรือ External Hard disk)
วธิ ที ดลอง 1. ใหนกั ศึกษาทําการติดตัง้ NetBeans ไวที่ Dive D: 2. ใหนกั ศึกษาทําการสราง Project ช่อื HelloBeans ไวท่ี D:\\Breans 3. ใหโคดใหแสดง ชือ่ รหสั นักศึกษา และสาขาวชิ าของนกั ศกึ ษา 4. ใหท าํ การทดสอบการทาํ งานของโคด และใหบันทึกผลการทํางานโปรแกรม 5. ใหนกั ศึกษาทําการติดตั้ง MySQL ดวย Appserv ลงในไวท่ี Drive D: 6. ใหนักศึกษาทําการทดสอบการทํางานของ NetBeans กับ MySQL ใหสมบูรณ -------------------------------------
การทดลองท่ี 10 การประยุกตการติดตอ ฐานขอมลู กับเครอื ขาย วตั ถปุ ระสงค 1. เพอ่ื ใหสามารถใหเ นต็ บีนสเช่อื มตอ กบั MySQL ได 2. เพอื่ ใหสามารถสรางฐานขอ มลู ดวยเน็ตบีนส บนมายเอส็ คิวแอลได 3. มที ักษะการสรา งตารางบนมายเอ็สคิวแอลของเครือขา ยได ความรูพ ้ืนฐาน สรางและทาํ การเชอ่ื มตอ ฐานขอ มูลใหพรอ มใชงาน การติดตอกับฐานขอมูลสามารถกระทําไดโดยการกระทําผานทางตัวอิดิเตอรของมายเอ็สคิว แอล (SQL editor) ซ่ึงตวั NetBeans IDE ไดต ิดต้ัง SQL Editor สามารถทาํ การสรา งฐานขอมูลใหมท่ีใช ในการงานได ดวยทําการสรางฐานขอมูลโดยการคลิกขวาที่โนด MySQL Server at locationhost: 3306 [root] และเลือกรายการเมนูยอย Create Database ระบบจะมีกลองขอความ Create MySQL Database ใหท าํ การกรอกชื่อฐานขอ มูลลงในชอ ง New Database Name: แลวทําการคลกิ OK สรางตารางใหกับฐานขอมูล (Creating Database Tables) การสรางตารางฐานขอมูลสามารถทําไดสองวิธีคือ สรางตารางไดจากกลองขอความ (Dialog) กบั การสรางตารางโดยใชต ัว SQL Editor ดังน้ี การสรางตารางดวย SQL Editor (Using the SQL Editor) การสรางตารางจาก SQL Editor ของ NetBeans IDE มขี ั้นตอนดังน้ี • จากตัว Explorer ของ Database เมื่อทําการขยายแลวใหทําการเชื่อมตอโนด จะมี โฟลเดอรยอยตอจาก jbdc:mysql://localhost:3306/mynewdatabase… จาํ นวน 3 โฟลเดอรย อย Tables Views และ Procedures • จากนัน้ ใหท ําการคลกิ ขวาท่ีโฟลเดอร Tables แลวทําการเลือก Execute Command จะไดพ้นื ทีว่ า งของ main window ที่ใชใ นการสรางโคดของ SQL Editor • ทาํ ใหม พี นื้ ทขี่ อง SQL editor สามารถทาํ การสรางตารางไดต ามตองการ
การสรา งตารางดวย Table Dialog (Using the Create Table Dialog) สรางตารางไดดว ยการทํางานของทลี่ ะ Dialog ซ่งึ ในตวั อยา งนจ้ี ะทาํ การสรางตารางชื่อ Subject มขี ัน้ ตอน ดังนี้ • ตัว Explorer เม่ือทําการขยายแลวตัวExploreของDatabaseจะมีโฟลเดอร ยอยตอจาก ก jbdc:mysql://localhost:3306/mynewdatabase… มี โฟลเดอรยอย Tables ทําการคลิกขวาที่โฟลเดอร Tables แลวทําการเลือก Create Table ตัวกลองขอความท่ีใชสรางตาราง (Create Table Dialog) ถูกเปดข้ึน ใหทําการพิมพชื่อตารางลงในชอง Table Name: Subject และ ทาํ การคลกิ ปุม Add column • เมื่อไดทําการกําหนดช่ือตารางเปน Subject เพ่ือทําการสรางขอมูล ดวยการ พมิ พขอมลู ลงใน Dialog • ทําการเพิ่มคอลัมนใหกับตาราง Subject ดวยการคลิกปุม Add column ทํา การพิมพข อ มูล เปนตัวกาํ หนดตารางโดยทําการสรา งใหค รบทั้ง 3 รายการ • เม่ือทําการสรางตารางครบตามท่ีไดออกแบบขอมูลในตารางที่ 10.1 แลว สามารถทําการตรวจขอมูลได การส่ังงานตารางขอมลู (Working with Table Data) ในการส่ังใหการทํางานรวมกันระหวางตารางขอมูลบน SQL Editor ของ NetBeans สามารถ ใหทํางานในรูปแบบของ SQL queries บนฐานขอมูลไดหลากหลาย การปรับปรุงแกไขโครงสรางของ ฐานขอมูล การเพิ่ม(add) การแกไข(modify) และการลบ(delete) รวมทั้งเพิ่มรายการขอมูล (record หรือ row) ลงในตารางขอมูล Counselor การสงั่ การงานฐานขอ มูลดวย Script (Running an SQL Script) ในการจดั การเรื่องตารางขอมูลของ NetBeans สามารถสงั่ ใหท าํ งานไดโ ดยตรงดวยการดาวน โหลดท่ี https://netbeans.org/project_downloads/samples/Samples/Java%20Web/ifpwafcad.sql แลว ทําการบนั ทึกไวในตาํ แหนงเดียวกับโปแกรม NetBeans IDE อยู ในท่เี ปน C:\\Program Files (x86)\\NetBeans 8.0\\bin สครปิ ตจ ะทําการสรา งตาราง 2 ตารางที่คลายกับการสรางตาราง Counselor และ Subject โดยสคริปตไดทําการเปลย่ี นชอ่ื ตารางเปน Counselor2 และ Subject2 ตามลําดบั ในการสง่ั สครปิ ตท ํางานสามารถดําเนนิ การได
แนะนําการโปรแกรมบนเครือขา ยดว ยจาวา การนําโคดที่ไดทําการบันทึกไวที่ C:\\AppServ\\www ไปทําการเก็บไวบนเครือขาย คอมพิวเตอรจริง หรือ IP Address จริง เปนการทํางานจริงของการเขียนโปแกรมบนเครือขาย คอมพิวเตอรไ ด ซ่ึงเปนการสรา งเว็บไซตบน MySQL database server ซง่ึ MySQL เปนฐานขอมูล ท่ีใชในการจัดการกับขอมูลที่ใชในการประยุกตใชบนเว็บ ดวยอาจเปนเพราะ MySQL มีความโดดเดน ดา นความเรว็ (speed) ดา นการยดื หยุน (flexibility) และดานความเปนธรรมชาติ (reliability) MySQL ใชภาษา SQL ในการเขียนซึ่งมีโครงสรางของภาษาเปน Query Language สําหรับการเขาถึง และการ ประมวลผลขอมลู ท่อี ยูใ นฐานขอมลู จึงทําให MySQL เปน ระบบมีความนยิ มมากท่ีสุดในปจจุบัน อุปกรณ 1. เคร่ืองคอมพวิ เตอร 2. ระบบอนิ เทอรเนต็ สําหรบั การคนควา 3. เครื่องคอมพิวเตอรควรมีซอฟตแ วร NetBeans IDE เวอรช ่ัน 7.2, 7.3, 7.4, 8.0 4. เครือ่ งคอมพวิ เตอรควรมีซอฟตแ วร Java Development Kit (JDK) เวอรช ่ัน 7 หรือ 8 5. เครื่องคอมพวิ เตอรค วรมซี อฟตแ วร MySQL database server เวอรชน่ั 5.x 6. หนว ยความจาํ เคล่อื นที่ (Handy Drive หรือ External Hard disk) วธิ ที ดลอง 1. ใหนักศึกษาทําการทดสอบการทาํ งานของ NetBeans กับ MySQL ใหสมบรู ณ 2. ใหนกั ศึกษาทําการสรางฐานขอมลู ทนี่ ักศกึ ษาตองการ 1 ฐานขอ มูล 3. ใหนักศึกษาสรางตารางท่ีใชในการเกบ็ รายชื่อเพื่อนในหองเรียนอยางนอย 20 รายช่ือ 4. เมอ่ื สรางตารางสาํ เรจ็ ตามตองการแลว a. ฐานขอ มูลตองสามารถเพ่ิมช่ือเพือ่ นได b. ฐานขอมูลตองสามารถลบชื่อเพือ่ นได c. ฐานขอ มลู ตองสามารถแทรกชอื่ เพื่อนได 5. ใหนกั ศึกษานาํ ฐานขอ มลู วางทเี่ ครอื ขายจําลองหรือ IP จรงิ ตามความเหมาะสม -------------------------------------
Search
Read the Text Version
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 77
- 78
- 79
- 80
- 81
- 82
- 83
- 84
- 85
- 86
- 87
- 88
- 89
- 90
- 91
- 92
- 93
- 94
- 95
- 96
- 97
- 98
- 99
- 100
- 101
- 102
- 103
- 104
- 105
- 106
- 107
- 108
- 109
- 110
- 111
- 112
- 113
- 114
- 115
- 116
- 117
- 118
- 119
- 120
- 121
- 122
- 123
- 124
- 125
- 126
- 127
- 128
- 129
- 130
- 131
- 132
- 133
- 134
- 135
- 136
- 137
- 138
- 139
- 140
- 141
- 142
- 143
- 144
- 145
- 146
- 147
- 148
- 149
- 150
- 151
- 152
- 153
- 154
- 155
- 156
- 157
- 158
- 159
- 160
- 161
- 162
- 163
- 164
- 165
- 166
- 167
- 168
- 169
- 170
- 171
- 172
- 173
- 174
- 175
- 176
- 177
- 178
- 179
- 180
- 181
- 182
- 183
- 184
- 185
- 186
- 187
- 188
- 189
- 190
- 191
- 192
- 193
- 194
- 195
- 196
- 197
- 198
- 199
- 200
- 201
- 202
- 203
- 204
- 205
- 206
- 207
- 208
- 209
- 210
- 211
- 212
- 213
- 214
- 215
- 216
- 217
- 218
- 219
- 220
- 221
- 222
- 223
- 224
- 225
- 226
- 227
- 228
- 229
- 230
- 231
- 232
- 233
- 234
- 235
- 236
- 237
- 238
- 239
- 240
- 241
- 242
- 243
- 244
- 245
- 246
- 247
- 248
- 249
- 250
- 251
- 252
- 253
- 254
- 255
- 256
- 257
- 258
- 259
- 260
- 261
- 262
- 263
- 264
- 265
- 266
- 267
- 268
- 269
- 270
- 271
- 272
- 273
- 274
- 275
- 276
- 277
- 278
- 279
- 280
- 281
- 282
- 283
- 284
- 285
- 286
- 287
- 288
- 289
- 290
- 291
- 292
- 293
- 294
- 295
- 296
- 297
- 298
- 299
- 300
- 301
- 302
- 303
- 304
- 305
- 306
- 307
- 308
- 309
- 310
- 311
- 312
- 313
- 314
- 315
- 316
- 317
- 318
- 319
- 320
- 321
- 322
- 323
- 324
- 325
- 326
- 327
- 328
- 329
- 330
- 331
- 332
- 333
- 334
- 335
- 336
- 337
- 338
- 339
- 340
- 341
- 342
- 343
- 344
- 345
- 346
- 347
- 348
- 349
- 350
- 351
- 352
- 353
- 354
- 355
- 356
- 357
- 358
- 359
- 360
- 361
- 362
- 363
- 364
- 365
- 366
- 367
- 368
- 369
- 370