Tags:

เมื่อวานนี้ เพื่อนผมเมลมาขอร้องให้เขียนโปรแกรมเล็กน้อยๆ เพื่อช่วยงานเค้าหนะครับ ด้วยความที่ผมเขียนโปรแกรมเป็นแค่งานอดิเรก ภาษาที่คล่อง (และมีเครื่องมือ) ก็มีแค่ java เอง โปรแกรมโค๊ดไม่มากนัก เลยเขียนมันใน main class เดียวเลย (ผิดคอนเซปท์ OOP อย่างแรง) ยังไม่ได้ศึกษาวิธีเขียนแบบ GUI เลยเขียนให้โปรแกรมรับคำสั่งแบบ command line ครับ ตอนนี้โปรแกรมเสร็จสมบูรณ์แล้ว สมมติว่าชื่อไฟล์คือ Merge.class มีไฟล์เดียวครับ

แต่ว่าปัญหาคือเพื่อนผมไม่ค่อยเก่งคอมซักเท่าไหร่ แถมมีคนอื่นที่ต้องได้ใช้โปรแกรมนี้อีก ทำให้ผมคิดว่า การมานั่งสอนวิธีใช้ cmd จนเจอไฟล์แล้วพิมพ์ java Merge กับคนเยอะๆ คงไม่เวิร์กแน่

ผมอยากบอกเพื่อนแค่ว่า เอาโปรแกรมนี้ไปวางใน folder ที่มีไฟล์ข้อมูลอยู่ (backup ข้อมูลด้วย) double click ที่โปรแกรม (แม้ว่าโปรแกรมจะดำๆ สั่งงานตามบรรทัด ก็เถอะ) แล้วก็ใช้งานได้เลยครับ

ทำอย่างไรได้บ้างครับ?

Comments

By: mix5003
mix5003's blog
on 06/09/10 15:35 #206948 toggle
mix5003's picture

ถ้าใช้ Netbean จะทำเป็น .jar ได้ ซึ่ง .jar บางเครื่องสามารถดับเบิ้ลคลิกแล้วเปิดได้เลยครับ(ถ้าลง JRE ไว้)

By: neizod
ContributorTraineeUbuntu
neizod's blog
on 06/09/10 17:10 #206963 Reply to:206948 toggle
neizod's picture

.jar นี้ผมลองทำดูแล้ว มัน double click บนเครื่องผมไม่ได้แฮะ เพราะผมลง Nokia PC Suite ไว้อยู่ครับ T^T

งงเลย

By: hisoft
ContributorWindows PhoneWindows
hisoft's blog
on 24/01/11 18:36 #253419 Reply to:206963 toggle
hisoft's picture

ใช่ครับผมเซงมาก ลงเอยด้วยการลง Java ทับลงไปใหม่แทน


 

The Phantom Thief

By: aez
aez's blog
on 06/09/10 16:20 #206954 toggle
aez's picture

คิดว่าต้องทำเป็น .jar ก่อนนะครับ แล้วถึงจะทำเป็น .exe ได้ ส่วนเวปนี้เป็นเครื่องมือทำ .jar เป็น .exe ลองดูแล้วกันครับ http://viralpatel.net/blogs/2009/02/convert-jar-to-exe-executable-jar-file-to-exe-converting.html ไม่เคยลองสักตัวเพราะเขียน .NET ;)

By: adente
SymbianUbuntuWindows
adente's blog
on 06/09/10 17:08 #206956 toggle
adente's picture

ทำเป็นไฟล์สำหรับรัน DOS ขึ้นมา พวก .BAT อะไรพวกนี้... ง่ายๆเลย สร้างไฟล์เท็กซ์ขึ้นมา แล้วก็เอา java Merge ใส่ไว้ในเท็กซ์ แล้วก็เซฟไฟลเทกซ์เป็น .BAT แทน .TXT จากนั้นก็เอาเจ้าไฟล์แบทนี้ไปไว้คู่กับไฟล์Merge.class แบบไปใหนไปด้วย เวลาจะรันโปรแกรม ก็กดที่เจ้าไฟล์แบทแทน เดียวมันไปเรียกกันเองได้

ปล.วิธีนี้จะใช้กับเครื่องที่ลง Java runtimeไว้เท่านั้น อันนี้ไม่แน่ใจว่าแค่ java runtime เฉยๆหรือ ต้องเป็น JDK ด้วย เอาเป็นว่าถ้าเครื่องใหนรันไฟล์ .classนั้นผ่านdosได้ก็ใช้วิธีนี้ได้ ถึงอย่างไงสู้ทำเป็นEXE ไม่ได้แน่นอน ลำบากคนทำนิดหน่อย แต่คนใช้ง่าย


ในที่สุดวันนี้ก็มาถึง...

By: neizod
ContributorTraineeUbuntu
neizod's blog
on 06/09/10 17:11 #206964 Reply to:206956 toggle
neizod's picture

แจ่มมากครับ ^^ ขอบคุณครับ

ปล.แล้วทำเป็น exe ทำยังไง (โดยไม่ใช้ 3rd party) ครับ เพราะลองไปโหลดโปรแกรมแปลง .jar -> .exe แล้ว ยังไม่ค่อยประทับใจเท่าไหร่ครับ

By: adente
SymbianUbuntuWindows
adente's blog
on 06/09/10 17:24 #206968 Reply to:206964 toggle
adente's picture

ผมขอแนะนำ วิธีของ คุณ gab จะดีกว่าครับ อันนี้เหนือชั้นมากเพราะใส่ runtimeไว้เลย ถึงจะรวมตัว jre เข้าไปแล้วใหญ่ แต่นั้นเท่ากับว่าเราสามารถรันโปรแกรมได้เลย โดยไม่ต้องหา java runtime มาติดตั้งอีก แต่ถ้าต้องรันหลายๆ โปรแกรมจาวาในเครื่องเดียวกัน เอาเป็นว่าติดตั้ง java runtime ไว้เลยดีกว่า


ในที่สุดวันนี้ก็มาถึง...

By: gab
AndroidSymbianWindows
gab's blog
on 06/09/10 16:50 #206957 toggle
gab's picture

ในเมื่อเรียกมันด้วย cmd ได้อยู่แล้ว ก็เขียนลง batch file แล้วเรียกเอาก็ได้นะ จะเล่าในแบบที่ผมเคยทำ ผมตั้งใจให้มันทำงานในเครื่องอื่นได้โดยแค่ก็อปลง และไม่ต้องติดตั้ง jre (..ขี้เกียจสอนติดตั้ง) ผู้รู้อาจจะแอบฮาในวิธีผม ก็ทำประมานนี้ -- ผมโค้ด Myclass และคอมไพล์มันไว้ใน folder test -- ใน folder test ผมทำการคัดลอก jre6\bin\ จาก java runtime ที่ติดตั้งในเครื่องผมมาไว้ในนี้ด้วยกัน -- สร้าง batch file run.bat โดยใส่คำสั่งไปสองบันทัด jre6\bin\java Myclass pause --ตอนใช้ก็ก็อปลงเครื่องอื่น แล้วดับเบิลคลิกที่ run.bat โลด ก็ใช้ได้ละ ..แต่ สุดท้ายแล้วมันจะใหญ่เอาการจากการรวม jre ลงไป(20 กว่าเมก) แต่ถ้าเครื่องนั้นติดตั้ง java runtime ไปแล้วก็เปลี่ยนคำสั่งใน run.bat เป็น java Myclass

By: adente
SymbianUbuntuWindows
adente's blog
on 06/09/10 17:13 #206965 Reply to:206957 toggle
adente's picture

+1


ในที่สุดวันนี้ก็มาถึง...