วันอังคารที่ 15 กุมภาพันธ์ พ.ศ. 2554

15 Good Programming Habits(คุณลักษณ์ของโปรแกรมเมอร์ที่ดี 15 ประการ)

15 Good Programming Habits



คุณลักษณ์ของโปรแกรมเมอร์ที่ดี 15 ประการ
 
http://ezinearticles.com/?15-Good-Programming-Habits&id=45825


1. Before sitting down for coding, you must have formal or a paper-napkin design of the solution to be coded. Never start coding without any design unless the code is trivial one.
(ก่อนที่จะมานั่งเขียนโปรแกรมคุณจะต้องมีการออกแบบที่เป็นทางการโดยจะต้องทำโค๊ตลงกระดาษไม่มีการเริ่มต้นเขียนโปรแกรมใดที่ไม่มีการออกแบบ ยกเว้น กรณีที่โค๊ตที่ง่ายๆ)

2. Good code documentation is as important as good knowledge of a programming language. Write brief logic for each major block of your code as comments in source code file itself. Its good to mention creation and modification dates of your program along-with why modification was required.

3. Maintaining versions of your program is another important task. Some present-day programming tools already have a built-in version management. Whenever you make any change to your program, they save its copy as.bak file.

My approach is to maintain 3 versions of a program. Say, I have a file program.c which is used by other project team members also. I copy this file as program.c.old as backup and make another copy as program.c.wrk where I do modifications. When modifications are successfully compiled, replace program.c with.wrk file.

You can also append a date or some explanation phrase to your program versions like program260505.c or programReadFnWrking.c.

4. If your project contains multiple source files then maintain a README file stating purpose of each source files, data files, intermediate and log files (if any). You may also mention the compilation and execution steps.

5. Ever wondered why your IF statement is not working as it should do. May be your are using single equal i.e. "=" instead of "==" in the condition check. A good approach is to write condition in reverse order. So, your condition should read something like this:

if ( 10==i).... So, if you put single equal sign by mistake then it will be detected at compilation time only as an error.

6. While using loops and conditional statements, always first put closing braces corresponding opening braces and then write the inner statements i.e.


1) for(int i=0;i<10;i++)


2) {


4) printf("i=%dn",i);


3) }

The numbers at the starting of each line indicate sequence of writing loop code.

7. Avoid using magic numbers. For example, instead of writing

circleArea = 3.14 * pow(radius,2);

use following code:

#define PI 3.14

circleArea = PI * pow(radius,2);

8. Use meaningful variable and function names. For e.g. instead of using 'r' use 'radius' to represent radius of a circle. Similarly, function name 'calculateArea' is better than any cryptic short name. In a hurry, we may use short variable names but the time saved leads to double wastage of time later when you guess for what that short variable name stands for.

9. Using print statements for later debugging is a good habit. But, removing them when final code is ready is, sometimes, a risky task. So, make a function that displays debugging information passed to it. When your final version is ready, simply comment the internals of this function. So, this requires changes only at one place.

10. Once you are done with coding, start optimizing your code. Some of the variables you declared earlier may not be of use at this stage. Similarly, statements which are not loop dependent can be moved out of loop block. Sound knowledge of compiler can also help in optimizing the code further.

11. With good knowledge of your operating system and hardware, you can improve performance of your program in terms of resource requirements etc.

12. Always indent your code for clarity and easy readability.

13. You will also like the idea of organizing project files in into various folders like SOURCE, HEADERS, MAKE, EXES etc.

14. Study the code written by others. This will bring to you new programming techniques and what approach they have followed for the task for which you have also coded.

15. Last but not least important, take backup of your source-code files so that your effort don't go waste if hard-disk crashes or a similar mishappening occurs.

Al-katib has obtained M.Tech. (Comp Sc & Engg) degree from Indian Institute of Technology, Delhi (INDIA). His areas of interests are distributed computing, computer graphics and Internet Technologies. Currently, he is involved in Software Project Planning, Development and Management. His other interests include writing for magazines and contributing utility softwares on Magazine's CDs. He also have flair for teaching computer science with new teaching methodologies. His web-page URL is http://www.computer-science-notes.blogspot.com

Article Source: http://EzineArticles.com/?expert=Al_Kaatib

วันพฤหัสบดีที่ 3 กุมภาพันธ์ พ.ศ. 2554

ความรู้เกี่ยวกับ การเขียนโปรแกรมภาษาซี เบื้องต้น

Blogger Buzz: Express yourself with the Blogger Template Designer

ปรับแต่ง Blogger Template Designer


ตัวอย่าง โค๊ด ภาษาซี(C) | คำนวณภาษีอย่างง่ายมาก

คำนวณภาษีอย่างง่าย


#include <stdio.h>
void main(){

    float commiss,sales;
    printf("\t\tProgram Total sales.\n");
    printf("\t\tInsert You's Total sales:");
    scanf("%f",&sales);
    printf("\t\t%You's Total sales.: %.2lf\n",sales);
    if(sales>=25000){
        commiss=(sales*10)/100;
        printf("\t\tYou's sales commission.: %.2f",commiss);
    }else if(sales<25000&&sales>=10000){
        commiss=(sales*7)/100;
        printf("\t\tYou's sales commission.: %.2f",commiss);
    }else{
        commiss=0;
        printf("\t\tYou's sales commission.: %.2f",commiss);

    }

}

ตัวอย่าง โค๊ด ภาษาซี(C) | คูณเลขสองตัวแล้วหาตัวที่หารลงตัว

ตัวอย่าง โค๊ด ภาษาซี(C)

#include <stdio.h>
          void main(){
                       int a,b,over,mod;
                                 printf("\t\tProgram Multiply number 2 digit.\n");
                                 printf("\n");
                                 printf("\t\t\tInsert number1:");
                                 scanf("%d",&a);
                                 printf("\t\t\tInsert number2:");
                                 scanf("%d",&b);
                                 over=a/b;
                                 mod=a%b;
                                 if(mod==0){
                                        printf("\t\t\tInput %d and %d\n",a,b);
                                        printf("\t\t\t%d X %d = %d\n",b,over,a);
                                 }else{
  printf("%d Can't multiply's %d . becuase %d Can't multiply with anynumber result is %d .\n",b,a,b,a);
          }
}

ฝึกฝนและพัฒนาการเขียนโปรแกรมภาษาซี C

ฝึกฝนและพัฒนาการเขียนโปรแกรมภาษาซี C 
( Introduction to C Programming)
           การพัฒนาโปรแกรมคอมพิวเตอร์  เขียนโปรแกรมด้วยตัวเอง เพื่อให้มีผู้ที่สนใจนำไปใช้งาน และเพิ่มประสิทธิ์ภาพในการทำงาน และ ความสะดวกสบายๆ ต่างๆมากขึ้น ว่าไปแล้วนักโปรแกรมเมอร์เหล่านี้ ก็ไม่แตกต่างจากผู้ที่ปิดทองหลังพระมากนัก เพราะหลายๆ โปรแกรมที่มีให้ใช้งานกันในปัจจุบัน จะมีใครทราบบ้างไหมว่า ผู้เขียนโปรแกรมเหล่านั้นมีใครกันบ้าง ดังนั้น ผู้ที่คิดจะก้าวมาเป็นนักพัฒนาโปรแกรมมืออาชีพ คงต้องอาศัยใจรักที่จะอยากจะพัฒนา และฝึกฝนฝืมือในการเป็นโปรแกมเมอร์มืออาชีพมาเป็นอันดับหนึ่ง สำหรับบทความนี้จากผู้เขียน Tickcomsci การพัฒนาโปรแกรมในภาษา C ความรู้และความเข้าใจที่จำเป็นต่อการเป็นโปรแกรมเมอร์มืออาชีพในอนาคต เราลองเริ่มมาเรียนรู้กันอย่างคร่าวๆ กันเลยล่ะกัน โดยผู้

เขียนจะอธิบายเป็นตอนๆ ทั้งหมด 8 ตอนด้วยกันได้แก่
 
1. พื้นฐานโปรแกรมภาษา C (Introduction to C Programming)
2. การเขียนโปรแกรมทางเลือก (Selection Structures)
3. การเขียนโปรแกรมแบบ วนซ้ำ (Repetition & Loop)
4. ฟังก์ชัน และการเขียนโปรแกรมแยกเป็นโมดูล (Functions & Modular Programming)
5. ตารางอาเรย์ (Arrays)
6. ตัวแปรพอยเตอร์ (Pointers)
7. ตัวแปรสตริง (String)
8. โครงสร้างสตักเจอร์ (Structure)



แนะนำสำหรับการเริ่มต้นใช้ Program CODEBLOCKS
 การศึกษาผ่านทางวีดีโอ เป็นอีกวิธีที่ช่วยให้ผู้ศึกษา จดจำและเข้าใจได้ดีอีกวิธีหนึ่งครับ.



วันพุธที่ 19 มกราคม พ.ศ. 2554

คำสั่ง Command Run or Command-line on Windows


รวมคำสั่ง Command Run


รวมคำสั่งลัด Command line ใน Windows Xp
Start > Run หรือกด [windows + R]

การศึกษาผ่านทานวีดีโอ เป็นอีกวิธีที่ช่วยให้ผู้ศึกษา จดจำและเข้าใจได้ดีอีกวิธีหนึ่งครับ








ทำการลองเล่นคำสั่งต่างๆเพื่อให้เกิดทักษะกันได้เลยครับ
คำสั่ง คำอธิบาย
hdwwiz.cpl
appwiz.cpl
control admintools
wuaucpl.cpl
fsquirt
calc
certmgr.msc
charmap
chkdsk
clipbrd
cmd
dcomcnfg
compmgmt.msc
timedate.cpl
ddeshare
devmgmt.msc
directx.cpl
dxdiag
cleanmgr
dfrg.msc
diskmgmt.msc
diskpart
control desktop
desk.cpl
control color
drwtsn32
verifier
eventvwr.msc
sigverif
findfast.cpl
control folders
control fonts
fonts
freecell
joy.cpl
gpedit.msc
mshearts
iexpress
ciadv.msc
inetcpl.cpl
ipconfig /all
ipconfig /displaydns
ipconfig /flushdns
ipconfig /release
ipconfig /renew
ipconfig /registerdns
ipconfig /showclassid
 ipconfig /setclassid
jpicpl32.cpl
javaws
control keyboard
secpol.msc
lusrmgr.msc
logoff
winchat
winmine
control mouse
main.cpl
control netconnections
ncpa.cpl
netsetup.cpl
notepad
nvtuicpl.cpl
packager
odbccp32.cpl
osk
ac3filter.cpl
password.cpl
perfmon.msc
perfmon
telephon.cpl
powercfg.cpl
control printers
printers
eudcedit
QuickTime.cpl
intl.cpl
regedit
regedit32
mstsc
ntmsmgr.msc
ntmsoprq.msc
rsop.msc
sticpl.cpl
control schedtasks
wscui.cpl
services.msc
fsmgmt.msc
shutdown
mmsys.cpl
spider
cliconfg
sysedit
msconfig
sfc /scannow
sfc /scanonce
sfc /scanboot
sfc /revert
sfc /purgecache
sfc /cachesize=x
sysdm.cpl
taskmgr
telnet
nusrmgr.cpl
utilman
firewall.cpl
magnify
wmimgmt.msc
syskey
wupdmgr
tourstart
write

Add Hardware Wizard
Add/Remove Programs
Administrative Tools
Automatic Updates
Bluetooth Transfer Wizard
Calculator
Certificate Manager
Character Map
Check Disk Utility
Clipboard Viewer
Command Prompt
Component Services
Computer Management
Date and Time Properties
DDE Shares
Device Manager
Direct X Control Panel (If Installed)*
Direct X Troubleshooter
Disk Cleanup Utility
Disk Defragment
Disk Management
Disk Partition Manager
Display Properties
Display Properties
Display Properties (w/Appearance Tab Preselected)
Dr. Watson System Troubleshooting Utility
Driver Verifier Utility
Event Viewer
File Signature Verification Tool
Findfast
Folders Properties
Fonts
Fonts Folder
Free Cell Card Games
Game Controllers
Group Policy Editor (XP Prof)
Hearts Card Game 
Iexpress Wizard
Indexing Service
Internet Properties
IP Configuration (Display Connection Configuration)
IP Configuration (Display DNS Cache Contents)
IP Configuration (Delete DNS Cache Contents)
IP Configuration (Release All Connections)
IP Configuration (Renew All Connections)
IP Configuration (Refreshes DHCP & Re-Registers DNS)
IP Configuration (Display DHCP Class ID)
IP Configuration (Modifies DHCP Class ID)
Java Control Panel (If Installed)
Java Control Panel (If Installed)
Keyboard Properties
Local Security Settings
Local Users and Groups
Logs You Out Of Windows
Microsoft Chat
Minesweeper Game
Mouse Properties
Mouse Properties
Network Connections
Network Connections
Network Setup Wizard 
Notepad
Nview Desktop Manager (If Installed)
Object Packager
ODBC Data Source Administrator
On Screen Keyboard
Opens AC3 Filter (If Installed)
Password Properties
Performance Monitor
Performance Monitor
Phone and Modem Options
Power Configuration
Printers and Faxes
Printers Folder
Private Character Editor
Quicktime (If Installed)
Regional Settings
Registry Editor
Registry Editor
Remote Desktop
Removable Storage
Removable Storage Operator Requests
Resultant Set of Policy (XP Prof)
Scanners and Cameras
Scheduled Tasks
Security Center
Services
Shared Folders
Shuts Down Windows
Sounds and Audio
Spider Solitare Card Game
SQL Client Configuration
System Configuration Editor
System Configuration Utility
System File Checker Utility (Scan Immediately)
System File Checker Utility (Scan Once At Next Boot)
System File Checker Utility (Scan On Every Boot)
System File Checker Utility (Return to Default Setting)
System File Checker Utility (Purge File Cache)
System File Checker Utility (Set Cache Size to size x)
System Properties
Task Manager
Telnet Client
User Account Management
Utility Manager
Windows Firewall
Windows Magnifier
Windows Management Infrastructure
Windows System Security Tool
Windows Update Launches
Windows XP Tour Wizard
Wordpad

หัดเล่น คำสั่งใน command on windows ครับ ->ขอแนะนำ terminal on linux สนุกกว่าอีกครับ

วันพฤหัสบดีที่ 13 มกราคม พ.ศ. 2554

วิธีการทำ Portable Program Advanced.ขั้นสูง

วิธีทำ Portable Program Advance.



เมื่อท่านได้อ่านบทความของ Tickcomsci แล้วในบทความก่อนแล้วจะมาทำให้ขั้นสูงกว่าเดิมกันครับ*-*

     คราวนี้เราจะมาเรียนรู้ในเรื่อง  เทกนิคของการทำ Portable เพื่อไม่ให้เป็นการเสียเวลาเรามาเริ่มทำกันเลยครับ

ที่นี้จะแบ่งออกเป็น 3 ตอนเหมือนเดิมครับ
  • การค้นหาไฟล์เพื่อสร้างตัวSetupพร้อมกับสร้างไอคอนโปรแกรมในรูปแบบที่ชอบ
  • การใช้คำสั่งควบคุมโปรแกรมไม่ให้ถามหาคีย์เมื่อถอนโปรแกรมออกไปแล้ว
  • การสร้างเมนูให้กับโปรแกรมสามารถเลือกได้ว่าต้องการใช้งานตัวใหน

     เมื่อเราได้ทำการติดตั้งโปรแกรมแล้วการที่เราจะค้นหาก็ต้องมีผู้ช่วยนะครับเพราะบางโปรแกรม มันดันไปทิ้งใว้ที่  โฟลเดอร์   Windows/System32  หรือที่อื่นๆก็ได้(แต่ยังไม่เคยเจอครับ)
      ตามที่บอกใว้แต่ภาคแรกนะครับ(คนที่เคยติดตามผลงานของผมจะรู้ดี)ก็โปรแกรมบันทึกหน้าจอทั้งหลายนั้นแหละที่สามารถเอามาเปิดดูย้อนหลังได้เพื่อดูว่ามีไฟล์ใหนมั่งที่โปรแกรมเอาไปทิ้งใว้เมื่อรู้แล้วว่าไฟล์ใหนอยู่ที่ไดก็ตามไปเก็บเอามา

       มีบางคนที่ไม่เข้าใจครับที่ว่าเวลาเอาไฟล์ครบแล้ว แต่จะรู้ได้ยังใงว่าไฟล์ตัวใหนที่ต้องเอามาใช้ อันนี้ผมแนะนำคร่าวๆ
นะครับเมื่อได้ไฟล์มาครบแล้วก็จัดการลบ ไฟล์นามสกุลต่างๆดังนี้ออกไปก่อน

.txt  .dat    .cht   .html   .xml Uninstall.exe

ไฟล์เหล่านี้สามารถลบทิ้งไปได้เลยเพราะไม่มีความจำเป็นต่อโปรแกรม
ส่วนที่เหลือใว้คือ ตัวโปรแกรม.exe
กับไฟล์  .dll   และโฟลเดอร์    ที่โปรแกรมเก็บข้อมูลบางอย่างเอาใว้    แต่ก็สามารถลบทิ้งได้ถ้าไม่มีผลต่อการ
ทำงานของโปรแกรม    เมื่อเราตัดที่ไม่จำเป็นออกไปแล้ว    คราวนี้เราจะทำการลบทิ้งทีละตัวครับ    ลบไฟล์ตัวนึง
รันโปรแกรมทีนึง     ลบไฟล์ไปพักใว้ที่ถังขยะก่อนนะครับ       ถ้าตัวใหนลบแล้วโปรแกรมรันขึ้นมาได้ก็ให้ลบทิ้ง
ออกจากถังขยะไปได้เลย     ส่วนตัวใหนลบแล้วโปรแกรมไม่ทำงานแสดงว่าไฟล์ตัวนั้นจำเป็นต่อการรันของโปรแกรม
เราก็เก็บใว้   ที่ต้องทำอย่างนี้เพราะว่าเราไม่สามารถรู้ได้ว่าไฟล์ตัวใหน   ใช้หรือไม่ใช้   ครับ อันนี้เป็นเทกนิคการ
หาไฟล์ของผมครับ       ออกจะยุ่งยากไปนิดนึง   แต่ถ้าไม่ทำอย่างนี้เวลารวมไฟล์แล้วขนาดมันจะใหญ่
สู้ตัดทิ้งไปเอาแต่ที่จำเป็นดีกว่า มันก็จะได้ไฟล์ที่เล็กลง   แต่ประสิทธิภาพการใช้งานเท่ากัน

อย่างผมเวลาจะทำ Portable ซักตัวผมก็ติดตั้งปกติแต่เวลาช่วงที่โปรแกรม
กำลังคัดลอกไฟล์ลงเครื่องผมก็จะดูว่ามีตัวใหนที่อยู่ที่โฟลเดอร์ Windowsมั่งหรือเปล่า ถ้าดูทัน จำได้ก็ไม่ต้อง
ใช้โปรแกรมจับภาพ ถ้าดูไม่ทันหรือมีหลายตัวก็ลงใหม่ใช้โปรแกรมจับภาพแล้วตามไปเก็บมา อันนี้คร่าวๆ หรือใคร
จะพิศดารกว่านี้ก็ไม่ว่าครับ 55


และเมื่อท่านได้สร้างเป็นตัวSetupแล้วคราวนี้เราก็จะเพิ่มเติมด้วยการเปลี่ยนไอคอนตัวSetupให้มันเท่ห์หน่อย
ดูเหมือนมืออาชีพเขาทำกันนั้นเอง เอาละพร่ำมาเยอะแล้วลงมือทำกันดีกว่า
ในที่นี้ผมจะใช้โปรแกรม   ResHacker ในการเปลี่ยนรูปไอคอนของโปรแกรม
เปิดโปรแกรมขึ้นมาหน้าตาของโปรแกรมออกจะเรียบๆง่ายๆดูไม่ค่อยมีลูกเล่นเท่าใหร่

ทำการหาไฟล์ที่ต้องการเปลี่ยน

ตามรูปเลยนะครับในที่นี้ ผมจะทำการเปลี่ยนไอคอนเก่าของตัว   Msn ที่ผมทำใว้ครับ
ในรูปที่สองนี้ให้เลือกที่โฟลเดอร์ที่ 4 นะครับเพื่อเปลี่ยนไอคอน



ตามรูปเลยครับ



ตามรูปนะครับเมื่อเราเลือกแล้วจะปรากฎหน้าต่างที่ 1ขึ้นมาก่อนให้เราเลือกที่  Open File with new icon ก่อน
ก็จะมีหน้าต่างที่ 2 ขึ้นมาเพื่อให้เราทำการเลือกไอคอนที่เราต้องการ



ในที่นี้ผมจะเลือกที่ C:\Program Files\MSN Messenger ก็จะเจอตัวโปรแกรม MSNที่ผมได้ทำการติดตั้งเอาใว้
สังเกตุดูนะครับที่ผมทำเครื่องหมายเอาใว้  ว่าโปรแกรมสามารถเลือกใช้ไฟล์นามสกุลดังนี้เพื่อมาทำไอคอนได้
นี่แหละคือความสามารถของโปรแกรมตัวนี้ที่ผมชอบใช้ เฮอะๆๆ



จากในรูปนี้ที่ผมต้องการจะเปลี่ยนจะเห็นว่ามีหมายเลขต่างๆ ซึ่งก็คือไอคอนที่โปรแกรมสามารถเปลี่ยนให้ได้นั้นเอง ผมเลือกหมาย
เลข1ก็แล้วกัน สื่อความหมายได้เข้าใจง่ายกว่า



เมื่อได้ตามที่ต้องการแล้ว ก็เซฟ ครับ โปรแกรมจะทำการสำรองโปรแกรมตัวจริงใว้ให้ ไม่ต้องกลัวว่าไฟล์ต้นฉบับจะเสียหาย



คราวนี้เราก็จะได้ตัว Portable Setup หน้าตาอย่างที่เราต้องการแล้วครับ




ตอนที่ 2.การใช้คำสั่งควบคุมโปรแกรมไม่ให้ถามหาคีย์เมื่อถอนโปรแกรมออกไปแล้ว

อันนี้ก็จำเป็นนะครับ เพราะการทำ Portableกับพวกแชร์แวร์ สำหรับผมนั้นไม่ใช่เรื่องง่าย เรียกว่ายากเอาการ
กว่าจะจัดการได้อยู่หมัด (อันนี้คิดว่าหลายคนคงรอคำตอบอย่างใจจดใจจ่อ  ว่าผมจะมีวิธีการจัดการยังใง กับพวกแชร์แวร์)

ในที่นี้ ผมสาธิตด้วยโปรแกรม     CloneDVD
เมื่อได้ทำการติดตั้งโปรแกรมแล้วตามรูปจะเห็นได้ว่า มีบางไฟล์ที่โปรแกรมเอาไปทิ้งใว้  คุณก็แค่ตามไปหามาให้ครบ



และเมื่อคุณได้ทำการลงทะเบียนให้กับโปรแกรมเรียบร้อย คุณก็ทำการก็อบโฟลเดอร์ของโปรแกรมออกมา
ตามรูปนะครับ  เป็นการค้นหาไฟล์ของโปรแกรมเรียบร้อยแล้ว ( ย้ำ.......ให้ลงทะเบียนให้เรียบร้อย !!! )



จากในรูปนะครับผมได้ทำการตัดไฟล์ที่ไม่จำเป็นออกไปแล้ว (ถ้าไม่เข้าใจกลับไปอ่านของท่าน TANA)
ก็จะเหลือแต่เฉพาะที่จำเป็นต้องใช้งานจริงๆเท่านั้น



เมื่อคุณได้ทำการตัดไฟล์กันจนเรียนร้อยแล้วคราวนี้เราจะเข้าไปหาค่าที่ถูกบันทึกใว้ใน  regedit
ให้คุณไป เมนู Start+Run+พิมม์ regedit
เมื่อหน้าต่างเปิดข้นมา  ให้ไปที่

HKEY_LOCAL_MACHINE\SOFTWARE\Elaborate Bytes\CloneDVD\CDKey

แล้วคลิกขวาเลือกที่ Export จากนั้นจะมีหน้าต่างขึ้นมาเพื่อให้เราทำการ Save ค่าที่เราได้ทำการลงทะเบียนใว้



ผมเลือกไปที่โฟลเดอร์ของโปรแกรมที่ผมได้ทำการคัดลอกมา ตั้งชื่อว่า CloneDVDก็แล้วกันเพราะทำหลายตัว
จะได้ไม่งง



ก็จะได้ตามรูปครับ

จากนั้นให้คุณเปิด โน้ดเพดขึ้นมา แล้วพิมตามนี้ครับ

cmdow.exe @ /hid

regedit /s CloneDVD.reg

CloneDVD.exe

เสร็จแล้ว Save ให้เป็นนามสกุล .cmd ผมจะตั้งชื่อว่า Installก็แล้วกัน
ก็จะได้ตามรูปครับ



หลังจากนั้นก็ทำการรวมไฟล์ทำตัว Setup ด้วย  winrar ถ้าใครไม่รู้ทำยังใงก็ไปอ่านบทความอันเก่าของผมก่อนจะได้ไม่งง
เมื่อเรารวมไฟล์เรียบร้อยแล้วเราก็จะใส่โค้ดดังนี้ครับ

;The comment below contains SFX script commands

Setup=Install.cmd /SFX  แก้ใขตรงนี้นะครับ
TempMode
Silent=2
Overwrite=1


เสร็จแล้วครับการใช้คำสั่งในการควบคุมโปรแกรม  เลร็จแล้วก็ใช้โปรแกรมResHackerในการเปลี่ยนรูปไอคอน
เวลาเราจะใช้งานก็แค่ รันตัว Install.cmd มันก็จะลงทะเบียนให้เลยไม่ต้องมานั่งใส่คีย์อีก   วิธีนี้ผมชอบใช้ครับ
มันง่ายดี     คิดว่าหลายคนคงเห็นด้วยนะครับกับความคิดนี้



ขั้นตอนนี้สามารถเอาไปประยุกต์ใช้กับการลงโปรแกรมแบบอัตโนมัต



ตอนที่ 3การสร้างเมนูให้กับโปรแกรมสามารถเลือกได้ว่าต้องการใช้งานตัวใหน

ตามหัวข้อเลยครับ ในที่นี้เราจะใช้โปรแกรม   PStart ในการทำเมนู
เมื่อได้โปรแกรมมาแล้วก็เปิดขึ้นมาหน้าตามันเป็นแบบนี้ครับ



การใช้งานโปรแกรมตัวนี้ไม่ยากครับ ก่อนอื่นเราสร้างโฟลเดอร์ขึ้นมาก่อนเพื่อเอา Portable ทั้งหลายที่เราทำเสร็จแล้ว
มาวางในโฟลเดอร์นี้ ผมตั้งชื่อว่า All Portable ก็แล้วกัน
จากรูปจะเห็นว่ามีโปรแกรม Portable ทั้งหลายที่ทำเอาใว้มารวมกันเปิดที่ตัว Pstart ขึ้นมาแล้วคลิกขวาในช่องว่าง
เพื่อเลือกเอารายชื่อโปรแกรมมาใส่



ผมจะใส่ Clone DVD เข้าไปก่อน



เมื่อกด OK แล้วจะมีหน้าต่างถามก็กดที่ OK



ก็จะได้รายชื่อในเมนูครับ  ทำไปเรื่อยๆจนกว่าจะครบ ที่เราทำใว้



เมื่อได้รายชื่อโปรแกรมจนพอใจแล้วก็สร้างตัวSetupด้วย winrarครับ



เสร็จแล้วเราก็จะใช้คำสั่งให้รันที่ตัว PStart.exe แทนครับเพราะตอนนี้มันเป็นเมนูแล้ว



การใช้งานของเมนูก็จะอยู่ที่นี่ครับ



หรืออยากจะเปลี่ยนหน้าตาของตัวเมนูsetup ก็ได้ครับจะได้ไม่จำเจ ก็ใช้ ResHackerเปลี่ยนเอา
หรือถ้าท่านเบื่อเห็นหน้าเวลาโปรแกรมรันขึ้นเราก็ใช้โหมดซ่อนตัวครับ 



ส่วนการสร้างแบบเป็นกลุ่ม  แยกประเภท ให้ท่านสร้างโฟลเดอร์เป็นประเภทต่างๆขึ้นมาก่อน
ผมทำการสร้างเป็นประเภทดังนี้ก็แล้วกัน   จากรูปจะเห็นว่าผมสร้างโฟลเดอร์ video กับ download
ในโฟลเดอร์ video ผมใส่โปรแกรมเอาใว้



ตามรูปเลยครับเปิดโปรแกรมขึ้นมา



ตั้งชื่อตามหมวดแล้วกด OK



เมื่อได้โฟลเดอร์ที่เราต้องการแล้วก็เอารายชื่อโปรแกรมใส่ลงไป คลิกขวาเลือกที่ add file



ถ้าต้องการเพิ่มโฟลเดอร์ในหมวดอื่นๆก็ทำซ้ำไปเรื่อยๆครับ

โปรแกรม ResHacker
http://www.angusj.com/resourcehacker/

โปรแกรม PStart
http://www.pegtop.de/start/

     จากที่ทดลองการทำมาหลายครั้งหลายหนมีข้อน่าสังเกตุอย่างนึงครับ
การเปลี่ยนไอคอนต่างๆเมื่อเราสร้างตัวPortableแล้วบางตัวไม่สามารถเปลี่ยนไอคอนได้
แต่บางตัวสามารถเปลี่ยนได้     ผมจึงหาวิธีแก้ใขอยู่นานจนวันนึงโก้สเครื่องแล้วลง
winrar3.51เวอร์ชั่นภาษาไทย(ของเก่าผมใช้winrar3.20ภาษาอังกฤษ)แล้วลอง
สร้างโปรแกรมPortableตัวอื่นดู    โอ้พระเจ้าจอร์ช.......ใหงมันเปลี่ยนได้ฟะ
ผมจึงลองสร้างจากPortableตัวเก่าที่มีทั้งหมด โอ้วววววว.....มันยอดมากเลยซาร่า
เปลี่ยนไอคอนได้หมดทุกตัวเลย จึงสรุปว่าท่านต้องต้องเปลี่ยนไปใช้เวอร์ชั่นภาษาไทยครับ
ถึงจะทำการเปลี่ยนไอคอนได้ ไม่งั้นบางตัวเปลี่ยนได้บางตัวเปลี่ยนไม่ได้ครับ