Dos/פקודת color

< Dos

הפקודה

עריכה

הפקודה color נותנת למשתמש לקבוע באילו צבעים יוצג הDOS (או הcmd תלוי איפה אתם עובדים). לפקודה יש שני חלקים, צבע הטקסט וצבע הרקע. יש גם את פוקדת הhelp שמראה את כל הפקודות ומה הן עושות

צבעים ב-DOS

עריכה

אופן הכתיבה

עריכה

עכשיו אחרי שלמדנו לעבוד עם קבצי batch וכבר אנחנו יודעים פקודות, אפשר לעבור לעניין ה"עיצוב" של התוכנית.
בDOS אין באמת עיצוב ברמה גבוהה אבל אפשר לעשות כל מיני דברים נחמדים עם כמה פקודות. הפקודה הראשונה של עיצוב היא: color.
צבעי ברירת המחדל של cmd הם: TEXT: 7
BACKGROUND: 0
הסבר: כשפותחים את הDOS או את ה cmd, הצבע של הטקסט הוא אפור בהיר (המספר 7 הוא הקוד של הצבע האפור) והצבע של הרקע הוא שחור (המספר 0 הוא הקוד של הצבע השחור).
אם נרצה להחליף את צבע הטקסט לאדום בהיר נכתוב: color c DOS קורא את הפקודה ואם הוא מזהה רק תו אחד לאחר הפקודה color הוא יודע שעליו לצבוע את הטקסט. התו שרשמנו לאחר הפקודה הוא הקוד של הצבע. במקרה שלנו, הצבע שבחרנו הוא אדום בהיר והקוד שלו הוא c (רשימה של כל הצבעים בסוף הדף).

צבע הרקע

עריכה

עכשיו נוכל גם להחליף את צבע הרקע.
כשDOS קורא את הפקודה color הוא יכול לקבל 3 מצבים.
מצב ראשון: color מצב שני: color x מצב שלישי: color xy במצב הראשון לא שלחנו שום מספר או אות לDOS אז הפעולה שהוא יבצע תהיה חזרה למצב ברירת המחדל (קוד 07).
במצב השני שלחנו לו מספר או אות (x ו-y הן לא אותיות קבילות אלא רק בשביל דוגמה) המספרים יכול להיות כל אחת מהספרות (0,1,2,3,4,5,6,7,8,9) האותיות יכולות להיות 6 האותיות הראשונות ב-a,b,c,d,e,f) ABC).
המצב השלישי כולל בתוכו 2 תווים שיכולים להיות או ספרה או מספר, לדוגמה: color c3
color 04
color cf
התו הראשון מצביע על צבע הרקע והתו השני מצביע על צבע הטקסט, לדוגמה: color c3 יצבע את הרקע בצבע אדום בהיר (קוד c) ואת הטקסט בצבע תכלת (קוד 3).

צביעות לא קבילות

עריכה

כדי למנוע מצב של טקסט ורקע באותו צבע, DOS לא יכול לקבל 2 פרמטרים אותו דבר. אם נכתוב: color dd DOS לא יצבע את הטקסט ואת הרקע בסגול בהיר אלא ישאיר את התצוגה כמו שהיא ולתוך המשתנה ERRORLEVEL הוא יכניס את הערך 1 (יורחב בהמשך).
כמו כן, אם נכתוב את הפקודה עם פרמטרים שגויים cmd אוטומטית יאמר לנו שהפרמטרים שגויים ויראה לנו אילו פרמטרים קבילים לפקודה. לדוגמה, נכתוב את הקוד הבא: color 2g g הוא לא פרמטר קביל והתוצאה שנקבל תהיה: Sets the default console foreground and background colors.
COLOR [attr]

 attr        Specifies color attribute of console output

Color attributes are specified by TWO hex digits -- the first
corresponds to the background; the second the foreground. Each digit
can be any of the following values:

   0 = Black       8 = Gray
1 = Blue 9 = Light Blue
2 = Green A = Light Green
3 = Aqua B = Light Aqua
4 = Red C = Light Red
5 = Purple D = Light Purple
6 = Yellow E = Light Yellow
7 = White F = Bright White

If no argument is given, this command restores the color to what it was
when CMD.EXE started. This value either comes from the current console
window, the /T command line switch or from the DefaultColor registry
value.
The COLOR command sets ERRORLEVEL to 1 if an attempt is made to execute
the COLOR command with a foreground and background color that are the
same.
Example: "COLOR fc" produces light red on bright white

 

עכשיו תורכם:

כתוב תוכנית המקבל קלט מהמשתמש (2 תווים) ושולחת לDOS את הפקודה COLOR עם תווי המשתמש. לדוגמה: המשתמש הכניס 4F התוכנית תעשה את הרקע בצבע אדום ואת הטקסט בצבע לבן)
echo off
set /p col="Enter color:" %=%
color %col%

נספחים

עריכה

תשובות למשימות בעמוד זה

עריכה

תשובות

טבלת צבעים

עריכה
0 = שחור 8 = אפור
1 = כחול 9 = כחול בהיר
2 = ירוק a = ירוק בהיר
3 = תכלת b = תכלת בהיר
4 = אדום c = אדום בהיר
5 = סגול d = סגול בהיר
6 = צהוב e = צהוב בהיר
7 = אפור בהיר f = לבן
הפרק הקודם: פקודת color הפרק הבא:
פקודת cls תרגילים לולאות