การสร้างเว็บรุ่นด้วย clipper
เหตุเกิดเพราะผมสอนวิชาการเขียนโปรแกรมจัดการฐานข้อมูล โดยเลือกใช้ภาษา Clipper ในการสอน และต้องการแสดงให้นักศึกษาเห็นว่า Clipper นั้น ใช้งานได้ง่ายอย่างไร เพราะเขียนโปรแกรมเพียงไม่กี่บรรทัด ก็สามารถนำมาสร้างเว็บรุ่นที่ทำได้แสนยาก โดยง่ายดาย
    ขั้นตอน การทำให้เกิดเว็บรุ่นขึ้น
  1. สั่งให้นักศึกษาเตรียมภาพขนาดไม่เกิน 60 KB ใส่แผ่น diskette เตรียมมาในชั่วโมง lab ครั้งต่อไป
  2. ในชั่วโมงเรียน ได้ share directory ของผู้สอน และให้นักศึกษา copy รูปเข้าไป โดยใช้รหัสนักศึกษาตามด้วย .jpg
  3. อาจารย์ผู้สอน สร้างแฟ้ม std.dbf โดยคัดลอก รหัสนักศึกษา และชื่อลงไปในแฟ้มเตรียมไว้ก่อน
  4. แฟ้ม std.dbf ประกอบด้วย stdid, stdname, stdsurname, addr, url, email, tel, mobile, salary, dream
  5. ให้นักศึกษา map drive ของอาจารย์ เป็น drive U
  6. ให้นักศึกษาเข้าระบบ DOS แล้วสั่ง run program stdupd.exe ใน drive U
  7. เมื่อนักศึกษาป้อนข้อมูลเสร็จทุกคน จากเครื่องของนักศึกษา อาจารย์จะสั่ง run stdhtm.exe
  8. ผลของการ run stdhtm.exe คือ std.htm
  9. ให้นักศึกษา เปิดเว็บชื่อ u:\std.htm จะพบเว็บรุ่นของนักศึกษาเอง
  10. Source code ของโปรแกรม stdupd.prg และ stdhtm.prg อยู่ด้านล่าง ให้คัดลอกแฟ้มทั้งหมดไปไว้ในเครื่องของนักศึกษา
  11. ให้แก้ไขโปรแกรม stdupd.prg และ stdhtm.prg ทำการแปล และสั่งประมวลผลใหม่ ในเครื่องของนักศึกษา
  12. ตัวอย่างแฟ้ม std.htm :: แฟ้มนี้เกิดจากการสั่งประมวลผลโปรแกรม stdhtm.exe ในระบบ dos ของเครื่องผู้สอน
  13. ตัวอย่างแฟ้ม std.dbf :: เก็บข้อมูลนักศึกษา คือเพื่อนร่วมรุ่นทั้งรุ่น
  14. ตัวอย่างแฟ้ม stdupd.exe :: โปรแกรมสำหรับปรับปรุงข้อมูลนักศึกษา
  15. ตัวอย่างแฟ้ม stdhtm.exe :: โปรแกรมสำหรับสร้างแฟ้ม std.htm โดยอ่านข้อมูลจากแฟ้ม std.dbf มาสร้าง
  16. การบ้าน : ให้แก้โปรแกรม เพื่อใช้สร้าง std1.htm สำหรับ 10 ระเบียนแรก และกำนหนดให้ทำ link ของทุก 10 ระเบียนถัดไป
stdupd.prg [source] :: ใช้แก้ไขข้อมูลนักศึกษาแต่ละคน
    cls _stdid = 0 @ 5,5 say "STDID : " get _stdid read if updated() use std locate for _stdid = stdid if found() @ 6,5 say "STDNAME : " get stdname @ 7,5 say "STDSURNAME : " get stdsurname @ 8,5 say "ADDR : " get addr @ 9,5 say "URL : " get url @ 10,5 say "E-Mail : " get email @ 11,5 say "TEL : " get tel @ 12,5 say "MOBILE : " get mobile @ 13,5 say "SALARY : " get salary @ 14,5 say "DREAM : " get dream read if updated() repl stdname with stdname, stdsurname with stdsurname,; addr with addr , url with url,; tel with tel , mobile with mobile,; salary with salary , dream with dream endif @ 15,5 say "Update completely .. bye" else @ 6,5 say "Oh! not found .. bye" endif endif
stdhtm.prg [source] :: ใช้สร้างแฟ้ม std.htm ขึ้นมา
    cls set printer to "std.htm" set device to printer use std @ row(),1 say "<html><head><title>เว็บรุ่นของผม</title></head>" @ row()+1,1 say "<body bgcolor=#ffffdd><center>" i=1 while !eof() if mod(i,2) = 0 @ row()+1,1 say "<table width=95% bgcolor=#dddddd>" else @ row()+1,1 say "<table width=95% bgcolor=#ffffff>" endif @ row(),col() say "<td width=200><a href=" + str(stdid) + ".jpg>" @ row(),col() say "<img src=" + str(stdid) + ".jpg width=200 border=0></td><td>" @ row(),col() say "<font size=4 face='ms sans serif'>" @ row(),col() say "ID : " + str(stdid) + "<br>" @ row(),col() say "Name : " + stdname + "<br>" @ row(),col() say "Surname : " + stdsurname + "<br>" @ row(),col() say "Addr : " + addr + "<br>" @ row(),col() say "Url : <a href=" + url + ">" + url + "</a><br>" @ row(),col() say "E-mail : " + email + "<br>" @ row(),col() say "Tel : " + tel + "<br>" @ row(),col() say "Mobile : " + mobile + "<br>" @ row(),col() say "Salary : " + str(salary) + "<br>" @ row(),col() say "Dream : " + dream + "</td></table><br>" skip i++ end @ row()+1,1 say "</body></html>" set device to screen @ 5,5 say "Complete bye" run explorer std.htm