โปรแกรมภาษาคอมพิวเตอร์

posted on 09 Jul 2011 13:50 by kantawatearth
โปรแกรมภาษา java
 
 จาวาแพลตฟอร์ม และ ภาษาจาวา
 

เนื่องจากชื่อที่เหมือนกัน และการเรียกขานที่มักจะพูดถึงพร้อมกันบ่อยๆ ทำให้คนทั่วไป มักสับสนว่า ภาษาจาวา และ

จาวาแพลตฟอร์ม เป็นสิ่งเดียวกัน

ในความเป็นจริงนั้น ทั้งสองสิ่ง แม้จะทำงานเสริมกัน แต่ก็เป็นสิ่งที่แยกออกจากกัน

โดย ภาษาจาวานั้น คือภาษาสำหรับใช้เขียนโปรแกรมภาษาหนึ่ง ดังที่ได้อธิบายไปข้างต้น ส่วน จาวาแพลตฟอร์มนั้น คือสภาพแวดล้อมสำหรับการใช้งานโปรแกรมจาวา โดยมีองค์ประกอบหลักคือ จาวาเวอร์ชวลแมชีน (Java virtual machine) และ ไลบรารีมาตรฐานจาวา (Java standard library)

โปรแกรมที่ทำงานบนจาวาแพลตฟอร์มนั้น ไม่จำเป็นจะต้องสร้างด้วยภาษาจาวา เช่น อาจจะใช้ ภาษาไพทอน (Python) หรือ ภาษาอื่นๆ ก็ได้

ส่วนภาษาจาวานั้น ก็สามารถนำไปใช้พัฒนาโปรแกรมสำหรับแพลตฟอร์มอื่นได้เช่นเดียวกัน เช่น คอมไพเลอร์ gcj สามารถคอมไพล์โปรแกรมที่เขียนด้วยภาษาจาวา ให้ทำงานได้ โดยไม่ต้องใช้ จาวาเวอร์ชวลแมชีน

 
 1. Download compiler
 
Java 2 Platform, Standard Edition (J2SE) [http://java.sun.com/j2se/1.4/download.html]
มี ตัวแปรที่หลายบริษัทสร้างขึ้น แต่ตัวที่เป็นมาตรฐานคือของ sun และ java กำลังอยู่ในระหว่างการพัฒนาอย่างต่อเนื่อง ผมขอเลือก J2SE ของ sun เพราะใช้งานใน text mode นำไปใช้ใน linux ก็มีหลักการเหมือนกัน แต่ถ้าเป็นของบริษัทอื่น ส่วนใหญ่ต้องใช้ใน Windows ไม่อย่างยึดติดกับ OS จึงเลือกที่จะใช้ J2SE สอนนักศึกษา
แต่ บริษัทต่าง ๆ พัฒนาตัวแปลเป็นระบบ IDE (Integrated development environment) ซึ่งใช้ง่ายกว่า ส่วน J2SE แม้ไม่มี IDE ในตัว แต่มีโปรแกรมหลายตัวที่นำมาใช้เป็น editor แล้วเรียก J2SE มาแปล และใช้งานได้สะดวกขึ้น เช่น kawa เป็นต้น
 
 

ชุดโปรแกรมพัฒนา java

บริษัท
Java developer Kit(JDK) Java.sun.com(Java soft)
Visual cafe Symantec
JBuilder (tutorial by Michael J. Donahoo) Borland
JDeveloper Oracle
Visual age for java IBM
Visual J++

Microsoft

 

 
 

2. เตรียมสภาพแวดล้อม

 
2.1 วิธีสร้าง short cut
    สร้าง short cut ไว้บน Desk top เพื่อให้เรียกใช้ได้ง่าย
  1. Right click บน Desk top จะมี pop-up menu ขึ้นมา
  2. เลือก New, Short cut
  3. พิมพ์ c:\windows\command.com ในช่องว่างที่อยู่เหนือคำว่า Browse..
  4. เมื่อกดปุ่ม Next จะแสดงคำว่า MS-DOS Prompt ให้เปลี่ยนเป็นคำว่า JAVA จะได้จำง่ายแล้ว กดปุ่ม Finish
  5. ให้ใช้ Mouse วางเหนือ Icon แล้วกดปุ่ม Right click แล้วเลือก Properties จะปรากฏภาพดังด้านล่าง ให้แก้ Working และ Batch file

2.2 การสร้าง short cut ชื่อ java เรียก c:\windows\command.com บน desktop

    หน้าที่ ของ short cut นี้คือการเข้าสู่ DOS ทำให้นักพัฒนาสามารถเขียนโปรแกรมภาษา JAVA ได้โดยง่าย แบบไม่ใช้โปรแกรมช่วยอื่น แต่ใช้โปรแกรมของ Windows ที่เตรียมมาให้เท่านั้น ส่วนนี้ต้องทำหลังจาก install ตัวแปลภาษา J2SDK เรียบร้อยแล้ว
    ทุก ครั้งที่จะเขียนโปรแกรมให้เรียก short cut นี้ ทำให้มีการ set path ผ่าน setclass.bat อัตโนมัติ และเข้าไปในห้องชื่อ c:\thaiall.com\class ซึ่งกำหนดเป็น working directory สำหรับห้องนี้เป็นห้องที่ผมกำหนดไว้เก็บ .java .class หรือ .htm ทั้งหมดที่เตรียมสำหรับการพัฒนา java สำหรับท่านก็ต้องเปลี่ยนเป็นชื่อห้องที่ท่านคิดจะเก็บ source code ทั้งหมด

2.3 Code ในแฟ้ม setclass.bat (version ของ java ให้เปลี่ยนตามรุ่นที่ท่านมี)

c:\thaiall.com\class>edit setclass.bat
    doskey
    path=%path%;c:\j2sdk1.4.0_03\bin
    

 


 

3. เขียนโปรแกรมด้วย editor

หลัก จากเรียก short cut ชื่อ java จะเข้าสู่ DOS mode ให้เรียกโปรแกรมชื่อ edit ซึ่งเป็นโปรแกรมของ dos แล้วตามด้วยชื่อโปรแกรมพร้อมนามสกุลดังตัวอย่าง จากนั้นก็พิมพ์ตัวอย่างโปรแกรมตามด้านล่างนี้เลย ตัวพิมพ์ใหญ่ พิมพ์เล็กต้องเหมือนผมนะครับ
 
 
c:\thaiall.com\class>edit prthello.java
    class prthello {
      public static void main(String args[]) {
        System.out.println("hello");
      }
    }
    

หลัง พิมพ์โปรแกรมแล้วให้จัดเก็บด้วยการกด Alt-F-S เพื่อจัดเก็บ แล้วออกจากโปรแกรมด้วย Alt-F-X แต่โดยปกติผมจะกดปุ่ม Alt-F-X แล้วโปรแกรมจะถามว่าจัดเก็บหรือไม่ ก็จะตอบว่า Yes ไม่ต้องเรียกเมนู 2 รอบ จากนั้นก็จะออกมาที่ DOS prompt
 
 4. แปลโปรแกรมใน DOS mode
การ แปลโปรแกรมจะพิมพ์คำสั่งง่าย ๆ ดังตัวอย่างข้างล่าง หากการแปลเสร็จสิ้นจะไม่แสดงผลอะไรบนจอภาพ นอกจากขึ้น DOS prompt บรรทัดใหม่ ข้อย้ำอีกครั้งว่า ถ้าแปลผ่านจะไม่แสดงข้อความใด ๆ ให้เห็นนอกจากขึ้น DOS prompt บรรทัดใหม่
ตัวอย่าง ข้างล่างนี้ แสดงข้อพิดพลาดที่ตัวแปลภาษาพบ โดยปกติคำว่า System.out.println("hello"); คำว่า S จะเป็นพิมพ์ใหญ่ หากมีใครเขียน พิมพ์เล็กก็จะแปลโปรแกรมไม่ผ่าน ตัวอย่างข้างล่างแสดงให้เห็นว่าเขียนโปรแกรมมาไม่ถูก จึงแปลไม่ผ่าน และพบข้อผิดพลาด 1 error
 
 
c:\thaiall.com\class>javac prthello.java
    prthello.java:5: package system does not exist
        system.out.println("hello");
              ^
    1 error
    
c:\thaiall.com\class>

 
 

5. สั่งประมวลผล JAVA application

เมื่อ แปลโปรแกรมแล้ว ก็ต้องสั่งประมวลผลโปรแกรมที่ได้มาจากการแปล แฟ้มที่ได้มาจากการแปลคือ prthello.class แต่การสั่งให้โปรแกรมทำงานต้องอาศัยโปรแกรม java.exe เรียก ดังนั้นทุกครั้งที่จะสั่งให้ .class ทำงานต้องเขียนดังข้างล่างนี้ จึงจะเห็นผลลัพธ์ที่ต้องการ
 
 
c:\thaiall.com\class>java prthello
    hello
    
c:\thaiall.com\class>

 
 

6. การใช้ editplus ช่วยในการเขียน แปล และประมวลผล

 
โปรแกรม editplus เป็นเพียง editor มิใช่ compiler แต่เป็นโปรแกรมที่ช่วยเรียก compiler มาแปลโปรแกรมที่กำลังเขียนอยู่ พร้อมกับ run โดยเพิ่มเข้าไปในส่วนของ Tools, Configure User Tools ... ทำให้สามารถเรียกโปรแกรมอื่น มาทำงาน โดยแสดงผลในส่วนของ Output windows ว่าผลการ run หรือ compile เป็นอย่างไร โดยเรียก program ด้วยการกดปุ่ม CTRL+1 หรือ CTRL+2 เป็นต้น... มีตัวอย่างการสร้างปุ่มดังภาพด้านล่าง
# ตัวอย่างนี้ใช้ชื่อห้องเก็บ compiler เป็น c:\java แต่ถ้าเป็นของท่านจะเป็น c:\j2sdk.. พร้อมชื่อเวอร์ชั่น นะครับ
ถ้า ต้องการให้ compile หรือ run ในห้องใดก็ได้ต้องแก้ค่า path โดยเพิ่มห้อง c:\j2sdk\bin เช่น c:\>path = %path%;c:\j2sdk\bin หากต้องการแก้ใน Windows XP ต้องเข้า Control Panel, System, Advanced, Environment Variables และเพิ่มคำว่า ;c:\j2sdk\bin ต่อท้ายค่าเดิมของตัวแปร path
 
 
ตัวอย่างการเรียก applet ผ่าน DOS mode  
 
 
 
 

ตัวอย่าง code ใน x.htm

ถ้าเรียก applet ผ่าน editplus ต้องเพิ่มบรรทีดแรก
//
 
 


 

7. โปรแกรมแรกบนมือถือ ด้วย KToolbar และ Jar

โปรแกรมนี้ download burin1.jar ไปใช้กับมือถือได้เลย
 โปรแกรม java บนมือถือโ ปรแกรมแรกของผม ทดสอบในคอมพิวเตอร์
   1. ติดตั้ง J2ME ให้ได้หลังติดตั้ง J2SDK แล้ว
   2. เปิด KToolbar
   3. เลือก New project..
   4. กรอก burin1 ในช่อง ProjectName 
   5. กรอก burin1.TextHelloDemo ในช่อง MIDIet Class Name แล้วกดปุ่ม OK
   6. Copy source code ด้านล่างไปไว้ใน notepad
   7. Save โปรแกรมนี้ชื่อ TextHelloDemo.java ไว้ใน C:\WTK21\apps\burin1\src
   8. กดปุ่ม Build
   9. กดปุ่ม Run จะเห็นรูปโทรศัพท์มือถือ และคำว่า burin1 ในโทรศัพท์มือถือ สร้าง jar อ่านจาก C:\WTK21\docs\UserGuide.pdf
 พิมพ์ C:\WTK21\apps\burin1\bin>jar cfm burin1.jar manifest.mf -C ..\classes .
 ลองคำสั่ง dir ก็จะเห็น burin1.jar เพื่อดูขนาดแฟ้ม พบขนาดเป็น 1656 Byte จำเลขนี้ไว้
      10. ใช้ KToolbar open project burin1 ขึ้นมา แล้วเลือก Settings..
   11. เลือก Tab ชื่อ Required แล้ว Click ชื่อ MIDlet-Jar-Size เปลี่ยนขนาด 100 เป็น 1656
   12. กดปุ่ม Build เพื่อสร้างแฟ้ม burin1.jad ใหม่ นำ .jar และ .jad เข้ามือถือ
      13. ต่อสาย datalink กับคอมพิวเตอร์ผ่าน com1
   14. เปิด Start, Program, Siemens Data Suite, Mobile
   15. เข้าห้อง Mobile\Java\Jam แล้วสร้างห้องชื่อ burin1
   16. คัดลอก burin1.jad และ burin1.jar จาก C:\WTK21\apps\burin1\bin\ ไว้ห้อง burin1 ในมือถือ
      17. ทดสอบ run โปรแกรมชื่อ burin1 ก็เหมือนกับที่ run ใน KToolbar 
// C:\WTK21\apps\burin1\src\TextHelloDemo.java
package burin1;
import javax.microedition.midlet.MIDlet;
import javax.microedition.lcdui.*;
public class TextHelloDemo extends MIDlet implements CommandListener {
  private Command exitCommand = new Command("Exit", Command.EXIT, 1);   
  private boolean firstTime;   
  private Form mainForm;   
  public TextHelloDemo() {
    firstTime = true;
    mainForm = new Form("rujjanapan");
  }   
  protected void startApp() {
    if(firstTime) {
      mainForm.append("This demo display hello" + "and wait your text.");   
      mainForm.append(new TextField("Hello1", "", 5, TextField.NUMERIC));
      mainForm.append(new TextField("Hello2", "", 15, TextField.NUMERIC));
      mainForm.addCommand(exitCommand);
      mainForm.setCommandListener(this);
      firstTime = false;
    }
    Display.getDisplay(this).setCurrent(mainForm);
  }   
  public void commandAction(Command c, Displayable s) {
if(c == exitCommand) {
  destroyApp(false);
  notifyDestroyed();
}
  }   
  protected void destroyApp(boolean unconditional) { }   
  protected void pauseApp() { }
}


8. ข้อมูลสำหรับ Windows XP ที่มีปัญหาการใช้ JAVA


1. http://www.saigoninfo.com/mjv_help.htm
2. ข่าวเรื่อง XP ไม่รับ JAVA หรือ JVM เข้ามาในระบบ
โปรแกรมสำหรับ Upgrade WindowsXP ให้ใช้ JAVA (5.4 MB)
+ http://www.saigoninfo.com/msjavx86.exe
+ http://downloads.downseek.com/18598/msjavx86.exe
+ ftp://sqr.myftp.biz/XP/XP Service Packs/msjavx86.exe
+ http://visiteinteractive.free.fr/VM_java/msjavx86.exe
+ http://www.onlinemg.com/download/msjavx86.exe
+ http://www.bunden.dk/download/msjavx86.exe
+ https://www.alibre.com/alibrelibraries/ftp/JavaVM/9xNT4/msjavx86.exe
+ http://download.windowsupdate.com/.../MSJavWU.exe
+ http://www.download.windowsupdate.com/.../MSJavWU.exe
 
import java.lang.*;
import java.applet.*;
import java.awt.Graphics;
public class j1101 extends java.applet.Applet {

public void paint(Graphics g) {


g.drawString("test",10,20);

}
 
C:\j2sdk1.4.1_01\bin>appletviewer x.htm
C:\j2sdk1.4.1_01\bin>explorer x.htm
 

Comment

Comment:

Tweet

An accountancy practice <a href=" http://www.eminpasha.com ">duloxetine 60 mg price</a> o Check for duplicate therapy, med interactions

#12 By rRIQIClMCol (103.7.57.18|188.143.232.31) on 2013-03-17 00:54

We'll need to take up references <a href=" http://www.eminpasha.com ">duloxetine vs fluoxetine</a> For the purpose of this Part, the Director-General may regard as married any man and woman who,

#11 By rRIQIClMCol (103.7.57.18|188.143.232.31) on 2013-03-17 00:54

Punk not dead <a href=" http://leonedesignstudio.com ">kamagra fast uk</a> evaluate health care services.

#10 By rRIQIClMCol (103.7.57.18|188.143.232.31) on 2013-03-17 00:52

A few months <a href=" http://www.docuvitae.com ">duloxetine tablets india</a> 11. Is concerned about the quality of his/her teaching Enter 1 ± 5 Score - - - - >

#9 By rRIQIClMCol (103.7.57.18|188.143.232.31) on 2013-03-17 00:52

Insert your card <a href=" http://laurielambrecht.com ">effexor xr 37 5mg weight gain</a> Exceptional Circumstances budget for medication to be used in the community, in

#8 By rRIQIClMCol (103.7.57.18|188.143.232.31) on 2013-03-17 00:52

sAGjbg <a href="http://kgpshskjfmei.com/">kgpshskjfmei</a>, zdgmcoamcrdw, [link=http://qkkanxscjccp.com/]qkkanxscjccp[/link], http://mhmtszqjfeva.com/

#7 By knuFDPdXvC (103.7.57.18|46.200.216.16) on 2013-02-28 02:13

KEZV3Y <a href="http://ppefysobszub.com/">ppefysobszub</a>, gvvrsgwkynvm, [link=http://lgersibdccwh.com/]lgersibdccwh[/link], http://xolspzvydpxn.com/

#6 By GoTQdicXTiQKtRmdvJr (103.7.57.18|197.255.32.5) on 2013-02-27 18:24

N7RTOO <a href="http://njiadulhxicl.com/">njiadulhxicl</a>, eesndwlkymos, [link=http://nzdhyejptydi.com/]nzdhyejptydi[/link], http://xnbbzizmedbu.com/

#5 By dyOZFFjFqqoq (103.7.57.18|46.98.138.178) on 2013-02-27 07:09

C5grQI <a href="http://bhxxebyfmsdd.com/">bhxxebyfmsdd</a>, cbopzugmuyco, [link=http://yquntnljwmra.com/]yquntnljwmra[/link], http://ojrdkrbtkidb.com/

#4 By ByabzyFD (103.7.57.18|31.43.139.247) on 2013-02-27 01:16

4xI4EE <a href="http://omqpulgwauus.com/">omqpulgwauus</a>, wlwjrbmxzrve, [link=http://jmcamdrfzito.com/]jmcamdrfzito[/link], http://iixbuewqdgll.com/

#3 By WXtXpODNCztbi (103.7.57.18|113.160.244.109) on 2012-10-10 18:04

ZHwKZM <a href="http://keccektqyibp.com/">keccektqyibp</a>, ydwrqpmeruhf, [link=http://knhodfhlhhmt.com/]knhodfhlhhmt[/link], http://grctiuteftne.com/

#2 By fTIpiwrIxWaF (103.7.57.18|192.168.100.222, 177.43.62.162) on 2012-10-10 13:08

MQos3M <a href="http://wyouilyokzgk.com/">wyouilyokzgk</a>, [url=http://mmwtjmrdgipg.com/]mmwtjmrdgipg[/url], [link=http://psssvqhzwhao.com/]psssvqhzwhao[/link], http://bxdhgujuqbyt.com/

#1 By uMAysamJ (24.18.152.176) on 2012-03-09 16:48