กำหนดสีTextใน DevC
โดยปกติแล้วหากคุณใช้โปรแกรม Turbo C หรือ EditPlus
แล้วเชื่อม Complie ไป Turbo C การใช้่ฟังก์ชั่น textcolor,cprint เป็นเรื่องง่ายและปกติเพียงแต่ส่วน
Header file เรียกว่าไลบรารี conio.h ก็เป็นอันเรียบร้อยแต่ในDevCมิอาจทำเช่นนั้นได้ DevC รันบนวินโดว์
ดังนั้นหากใช้ฟังก์ชัน cprint หรือ textcolor คุณจะ compile ไม่ผ่านครับ
แต่อย่างไรก็ตามเราสามารถสั่งการแสดงผลอักขระ(text)และพิ้นหลังสีใน
DevC ได้
การสั่งแสดงอักขระสีและพื้นหลังสีใน
DevC มี 2 แนวทางครับ คือ
1.สร้าง Header file เพื่อกำหนดสีและการเรียกใช้
2.เขียนคำสั่งเรียกใช้สีไว้ในโปรแกรมที่เขียนเลยครับ
1.สร้าง Header file เพื่อกำหนดสีและการเรียกใช้
2.เขียนคำสั่งเรียกใช้สีไว้ในโปรแกรมที่เขียนเลยครับ
เริ่มกันเลยครับสำหรับ วิธีแรก ที่สร้าง Header file มีหลักการคือสร้าง Header
file ที่มีการกำหนดสีและการใช้และบันทึกเป็นHeader file (นามสกุล .h) แล้วสร้าง/เขียนโปรแกรมโดยเรียกใช้ Header
file ที่ได้สร้างขึ้นทั้งนี้เงื่อนไขสำคัญทั้งHeader file และsource code ที่เขียนโปรแกรมอยู่ใน
โฟลเดอร์เดียวกัน(เดี๋ยวโปรแกรมมองHeader file ไม่เห็นครับ
มาลองทำดูตามตัวอย่างครับ
1.สร้าง Header file ครับ โดยในส่วนHeader file นี้มีคำสั่งตามนี้
1.สร้าง Header file ครับ โดยในส่วนHeader file นี้มีคำสั่งตามนี้
#include <windows.h>
#define BLACK 0
#define DARKBLUE 1
#define DARKGREEN 2
#define AQUA 3
#define DARKRED 4
#define DARKVOILET 5
#define DARKYELLOW 6
#define GRAY 7
#define DARKGRAY 8
#define BLUE 9
#define GREEN 10
#define CYAN 11
#define RED 12
#define VIOLET 13
#define YELLOW 14
#define WHITE 15
#define textcolor(txt,back) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), back*16+txt)
#define resetcolor() SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 15)
#define BLACK 0
#define DARKBLUE 1
#define DARKGREEN 2
#define AQUA 3
#define DARKRED 4
#define DARKVOILET 5
#define DARKYELLOW 6
#define GRAY 7
#define DARKGRAY 8
#define BLUE 9
#define GREEN 10
#define CYAN 11
#define RED 12
#define VIOLET 13
#define YELLOW 14
#define WHITE 15
#define textcolor(txt,back) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), back*16+txt)
#define resetcolor() SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 15)
หลังจากนั้นบันทึก Header file ครับในที่นี้ผมบันทึกชื่อว่า color.h
เสร็จแล้วก็ลองเรียกใช้ครับโดยเขียนโปรแกรมดังตัวอย่างดังนี้
เสร็จแล้วก็ลองเรียกใช้ครับโดยเขียนโปรแกรมดังตัวอย่างดังนี้
#include <stdio.h>
#include "color.h"
int main() {
textcolor(VIOLET,DARKYELLOW );
printf("Chayrug Kaniknant\n");
resetcolor();
printf("Normal\n");
textcolor(BLACK,YELLOW );
printf("Chayrug Kaniknant\n");
resetcolor();
return 0;
#include "color.h"
int main() {
textcolor(VIOLET,DARKYELLOW );
printf("Chayrug Kaniknant\n");
resetcolor();
printf("Normal\n");
textcolor(BLACK,YELLOW );
printf("Chayrug Kaniknant\n");
resetcolor();
return 0;
}
บันทึก source code จะเป็น .c หรือ .cpp ก็ได้ครับเงื่อนไขสำคัญให้อยู่ในโฟลเดอร์เดียวกับ Header file หลังจากนั้น compile และ run ได้เลย
หลักการทำทำงาน โปรแกรมจะเรียกใช้ ฟังก์ชัน textcolor และ resetcolor ที่ได้ทำไว้ในHeader file ส่วนรูปแบบการใช้ textcolor คือ textcolor(สีอักษร,สีพื้น) โดยสีพื้นและสีอักษรจะใช้ตัวแปรที่กำหนดไว้ในHeader file หรือจะใช้ค่าตัวเลขก็ได้ครับ
บันทึก source code จะเป็น .c หรือ .cpp ก็ได้ครับเงื่อนไขสำคัญให้อยู่ในโฟลเดอร์เดียวกับ Header file หลังจากนั้น compile และ run ได้เลย
หลักการทำทำงาน โปรแกรมจะเรียกใช้ ฟังก์ชัน textcolor และ resetcolor ที่ได้ทำไว้ในHeader file ส่วนรูปแบบการใช้ textcolor คือ textcolor(สีอักษร,สีพื้น) โดยสีพื้นและสีอักษรจะใช้ตัวแปรที่กำหนดไว้ในHeader file หรือจะใช้ค่าตัวเลขก็ได้ครับ
วิธีที่ 2 ครับ
คือการแทรกคำสั่งในโปรแกรมที่เขียนเลย
วิธีนี้ไม่ต้องทำ Header file ครับ ลองดูกันเลยครับ
วิธีนี้ไม่ต้องทำ Header file ครับ ลองดูกันเลยครับ
#include
<windows.h>
#include <stdio.h>
#define textcolor(txt,back) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), back*16+txt)
#define resetcolor() SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 15)
int main() {
textcolor(12,10 );
printf("Chayrug Kaniknant\n");
resetcolor();
printf("Normal\n");
textcolor(0,14 );
printf("Chayrug Kaniknant\n");
resetcolor();
return 0;
}
คราวนี้เราไม่ได้สร้าง Header file เมื่อใช้ textcolor เลยต้องอ้างค่าสีครับ (ในกรณีอา้งวเป็นตัวเลขคุณอาจเทียบกับตัวอย่างสี ใน Header file ก็ได้ว่าสีอะไร ในส่วนตัวผมแล้วผมชอบแบบหลังซึ่่งเราสามารถแทนค่าสี(ตัวเลข)ด้วยตัวแปรได้ ซึ่งก็หมายความว่าเราก็จะ control ได้อย่างหลากหลายเช่นกัน
#include <stdio.h>
#define textcolor(txt,back) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), back*16+txt)
#define resetcolor() SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 15)
int main() {
textcolor(12,10 );
printf("Chayrug Kaniknant\n");
resetcolor();
printf("Normal\n");
textcolor(0,14 );
printf("Chayrug Kaniknant\n");
resetcolor();
return 0;
}
คราวนี้เราไม่ได้สร้าง Header file เมื่อใช้ textcolor เลยต้องอ้างค่าสีครับ (ในกรณีอา้งวเป็นตัวเลขคุณอาจเทียบกับตัวอย่างสี ใน Header file ก็ได้ว่าสีอะไร ในส่วนตัวผมแล้วผมชอบแบบหลังซึ่่งเราสามารถแทนค่าสี(ตัวเลข)ด้วยตัวแปรได้ ซึ่งก็หมายความว่าเราก็จะ control ได้อย่างหลากหลายเช่นกัน
แหล่งที่มาข้อมูล
ไม่มีความคิดเห็น:
แสดงความคิดเห็น