亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? main.c

?? 一個ascii 碼值計算原代碼的例子
?? C
?? 第 1 頁 / 共 4 頁
字號:
	COORD coord = {0};



	// limits
	if ( (x >= 0) && (x <= 78) && (y >= 0) && (y <= 24) )
	{
		coord.X = (short) x;
		coord.Y = (short) y;
		SetConsoleCursorPosition (GetStdHandle (STD_OUTPUT_HANDLE), coord);
	}
	else
	{
		if ( !((x >= 0) && (x <= 78)) )
		{
			ErrorMsg ("Error occured in function GotoXY (file \"main.c\").   Value x is not between 0 and 78 (x = %02d).", x);
		}
		if ( !((y >= 0) && (y <= 24)) )
		{
			ErrorMsg ("Error occured in function GotoXY (file \"main.c\").   Value y is not between 0 and 24 (y = %02d).", y);
		}
	}
}
/*
 * Calculate ASCII table for certain codepage and print it on the screen
 */
void ASCII_Table (unsigned int CodePage)
{
	short i = 0, j = 0, SpaceBetweenNumbers = 0;

	// set codepage for ASCII table
	SetConsoleCP (CodePage);
	SetConsoleOutputCP (CodePage);
	// print it on the screen
	for (i = 0, SpaceBetweenNumbers = 0; i < 256; i++, SpaceBetweenNumbers += 2)
	{
		if (i % 16 == 0) { SpaceBetweenNumbers = 0; j++; }
		Print (hX + SpaceBetweenNumbers, PRINT_ASCII_Y + j, BACK_LIGHTGREY, "%c", i);
	}
}
/* !! DO NOT REMOVE THIS COMMENT !!
 *
 * Function name:    TimeAndDate
 * Function version: 1.0
 * Input parameters: none
 * Return value:     char *
 * Description:      gets current time and date
 * Example:          char *GetTimeAndDate = NULL;
 *                   if ((GetTimeAndDate = (char *) malloc (sizeof (char) * 80)) != NULL
 *                   {
 *						sprintf (GetTimeAndDate, TimeAndDate);
 *                      free (GetTimeAndDate);
 *                      GetTimeAndDate = NULL;
 *                   } else ErrorMsg ("Error occured");
 * Limits:           none
 * Warnings:         none
 *
 * Updates:
 *   - (!! here you write the updates - do not remove this line !!)
 *
 */
char *TimeAndDate ()
{
	char *TD = NULL;
	time_t Now = 0;



	if ((TD = (char *) malloc (sizeof (char) * 80)) != NULL)
	{
		Now = time (NULL);
		// get time and date
		strftime (TD, strlen (TD) + 1, "%x %X", localtime (&Now));
	}
	else
	{
		ErrorMsg ("Error occured while allocating space for TD variable in function TimeAndDate (file \"main.c\").");
	}
	return TD;
}
/* !! DO NOT REMOVE THIS COMMENT !!
 *
 * Function name:    ClrScr
 * Function version: 1.0
 * Input parameters: - x (short)
 *                   - y (short)
 *                   - EraseLength (short)
 *                   - NoOfLines (short)
 *                   - EraseColor (WORD)
 *                   - ErasePattern (char)
 * Return value:     none
 * Description:      clearing the specified region on the screen
 * Example:          ClrScr (0, 0, 80, 25, FRONT_LIGHTGREY, ' ');
 * Limits:           0 <= x <= 79
 *                   0 <= y <= 24
 *                   x+EraseLength <= 80
 *                   y+NoOfLines <= 25
 * Warnings:         Read the GotoXY function, section Warnings, for more details.
 *
 * Updates:
 *   - (!! here you write the updates - do not remove this line !!)
 *
 */
void ClrScr (short x, short y, short EraseLength, short NoOfLines, WORD EraseColor, char ErasePattern)
{
	short i	= 0, j = 0;
	char Erase[26][81] = {0};



	// limits
	if ( (x >= 0) && (x <= 79) && (x+EraseLength <= 80) &&
		 (y >= 0) && (y <= 24) && (y+NoOfLines <= 25) )
	{
		for	(i = 0; i < NoOfLines; i++)
		{
			for	(j = 0; j < EraseLength; j++)
			{
				Erase[i][j] = ErasePattern;
			}
			Erase[i][j] = '\0';
			Print (x, y+i, EraseColor, "%s", Erase);
		}
	}
	else
	{
		if ( !((x >= 0) && (x <= 79)) )
		{
			ErrorMsg ("Error occured in function ClrScr (file \"main.c\").   Value x is not between 0 and 79 (x = %02d)", x);
		}
		if ( !((y >= 0) && (y <= 24)) )
		{
			ErrorMsg ("Error occured in function ClrScr (file \"main.c\").   Value y is not between 0 and 24 (y = %02d)", y);
		}
		if ( !(x+EraseLength <= 80) )
		{
			ErrorMsg ("Error occured in function ClrScr (file \"main.c\").   Value x+EraseLength is greater than 80              (x+EraseLength = %02d)", x+EraseLength);
		}
		if ( !(y+NoOfLines <= 25) )
		{
			ErrorMsg ("Error occured in function ClrScr (file \"main.c\").   Value y+NoOfLines is greater than 25                (y+NoOfLines = %02d)", y+NoOfLines);
		}
	}
}
/* !! DO NOT REMOVE THIS COMMENT !!
 *
 * Function name:    SetColor
 * Function version: 1.0
 * Input parameters: - Color (WORD)
 * Return value:     BOOL
 * Description:      setting the console color
 * Example:          Color (FRONT_WHITE | BACK_LIGHTGREY);
 *                   You'll find color names in the header file color.h
 * Limits:           none
 * Warnings:         none
 *
 * Updates:
 *   - (!! here you write the updates - do not remove this line !!)
 *
 */
BOOL SetColor (WORD Color)
{
	return SetConsoleTextAttribute (GetStdHandle (STD_OUTPUT_HANDLE), Color);
}
/* !! DO NOT REMOVE THIS COMMENT !!
 *
 * Function name:    ConsoleTitle
 * Function version: 1.0
 * Input parameters: - String (char *)
 *                   - ...
 * Return value:     none
 * Description:      setting the console title
 * Example:          ConsoleTitle ("MyTitle");
 * Limits:           none
 * Warnings:         none
 *
 * Updates:
 *   - (!! here you write the updates - do not remove this line !!)
 *
 */
void ConsoleTitle (char *String, ...)
{
	va_list List;
	char FormattedString[80] = {0};


	
    va_start (List, String);
		vsprintf (FormattedString, String, List);
	va_end (List);
	SetConsoleTitle (FormattedString);
}
/* !! DO NOT REMOVE THIS COMMENT !!
 *
 * Function name:    Print
 * Function version: 1.0
 * Input parameters: - x      (short)
 *                   - y      (short)
 *                   - Color  (WORD)
 *                   - String (char *)
 *                   - ...
 * Return value:     none
 * Description:      prints text on the screen
 * Example:          Print (0, 0, FRONT_LIGHTGREY, "MyText");
 * Limits:           none
 * Warnings:         none
 *
 * Updates:
 *   - (!! here you write the updates - do not remove this line !!)
 *
 */
void Print (short x, short y, WORD Color, char *String, ...)
{
	COORD   screenPosition = {0};
    short   i = 0, FormattedStringLength = 0;
    va_list List;
	char    FormattedString[100] = {0};
	HANDLE hOutput;
	DWORD  NoOfCharsWritten = 0, NoOfAttrsWritten = 0;

	

    va_start (List, String);
		vsprintf (FormattedString, String, List);
		FormattedStringLength = (short) strlen (FormattedString);
	va_end (List);
	if ( (x >= 0) && (x <= 79) && (y >= 0) && (x+FormattedStringLength <= 80) && (y <= 25) )
	{
		hOutput = GetStdHandle(STD_OUTPUT_HANDLE);
		for (i = 0; i < FormattedStringLength; i++)
		{
			screenPosition.X = (short) (x + i);
			screenPosition.Y = (short) y;
			WriteConsoleOutputCharacter (hOutput, &FormattedString[i], 1, screenPosition, &NoOfCharsWritten);
			WriteConsoleOutputAttribute (hOutput, &Color, 1, screenPosition, &NoOfAttrsWritten);
		}
		if (NoOfAttrsWritten != NoOfCharsWritten)
		{
			ErrorMsg ("Error occured while writting characters and         attributes on the screen in function Print (file    \"main.c\"). NoOfCharsWritten = %02d ; NoOfAttrsWritten = %02d.", NoOfCharsWritten, NoOfAttrsWritten);
		}
	}
	else
	{
		if ( !(x >= 0 && x <= 79) )
		{
			ErrorMsg ("Error occured in function Print (file \"main.c\").    Value x is not between 0 and 79 (x = %02d).", x);
		}
		if ( !(y >= 0 && y <= 24)  )
		{
			ErrorMsg ("Error occured in function Print (file \"main.c\").    Value y is not between 0 and 24 (y = %02d).", y);
		}
		if ( !(x+FormattedStringLength <= 80) )
		{
			ErrorMsg ("Error occured in function Print (file \"main.c\").    Value x+FormattedStringLength is over 80            (x+FormattedStringLength = %02d).", x+FormattedStringLength);
		}
	}
}
/* !! DO NOT REMOVE THIS COMMENT !!
 *
 * Function name:    ShowScreenCursor
 * Function version: 1.0
 * Input parameters: - Show (BOOL)
 * Return value:     none
 * Description:      setting the console screen cursor
 * Example:          ShowScreenCursor (TRUE); // this will turn on the screen cursor
 * Limits:           none
 * Warnings:         none
 *
 * Updates:
 *   - (!! here you write the updates - do not remove this line !!)
 *
 */
BOOL ShowScreenCursor (BOOL Show)
{
	CONSOLE_CURSOR_INFO cci = {0};
	BOOL StatusCCI = 0;



	if (Show) // show screen cursor
	{
		cci.dwSize   = 30;
		cci.bVisible = 1;
		StatusCCI    = SetConsoleCursorInfo (GetStdHandle (STD_OUTPUT_HANDLE), &cci);		
	}
	else // hide screen cursor
	{
		cci.dwSize   = 100;
		cci.bVisible = 0;
		StatusCCI    = SetConsoleCursorInfo (GetStdHandle (STD_OUTPUT_HANDLE), &cci);
	}
	if (!StatusCCI)
	{
		ErrorMsg ("Error occured in function ShowScreenCursor (file    \"main.c\"). Error code number = %u.", GetLastError ());
	}
	return StatusCCI;
}
/* !! DO NOT REMOVE THIS COMMENT !!
 *
 * Function name:    ErrorMsg
 * Function version: 1.0
 * Input parameters: - Message (char *)
 *                   - ...
 * Return value:     none
 * Description:      displays error message
 * Example:          ErrorMsg ("Error No.: %d", 5);
 * Limits:           dbErrMsg->Height+10+MsgCharY-1 < 25 --> look at the code for more information
 * Warnings:         programmer must properly format the text, otherwise some characters might get lost :(
 *
 * Updates:
 *   - (!! here you write the updates - do not remove this line !!)
 *
 */
void ErrorMsg (char *Message, ...)
{
	// input variables
	HANDLE Stdin = 0;
	INPUT_RECORD ir = {0};
	DWORD Read = 0;
	// component variables
	DIALOGBOX_COMPONENT *dbErrMsg = NULL;
	// common variables
	short i = 0, j = 0; // counters
	short MsgCharY = 0, MsgCharX2 = 0, MsgCharX1 = 0, MsgCharCount = 0; // variables used for formatting the text
	short HelpIsDisplayed = 0; // flag which becomes true if help text is displayed in the status line
	short xItemNameLength = 0, MsgLength = 0;
	va_list List;
	char FormattedMessage[1000] = {0};
	// variables for menu buttons (Close, Save To File and Exit)
	short ErrMsgDialogLoop = 0, xStartMenu[ERRMSG_MENU_NO_OF_ITEMS] = {0}, ErrMsgMenuValue = ERRMSG_MENU_DEFAULT_SELECTED;
	short xEndMenu[ERRMSG_MENU_NO_OF_ITEMS] = {0}, yStartMenu[ERRMSG_MENU_NO_OF_ITEMS] = {0};
	short WriteMenu = 0, MarkMenu = 0, MenuIndex = 0, MenuClicked = 0;
	short MenuTempIndex = ERRMSG_MENU_DEFAULT_SELECTED, MenuSelected = 0;
	char *ErrMsgMenuItems[ERRMSG_MENU_NO_OF_ITEMS] = {0}, *ErrMsgMenuHelp[ERRMSG_MENU_NO_OF_ITEMS] = {0};
	// options
	WORD ItemColor = 0, ItemHighLightColor = 0, DisabledItemColor = 0, DisabledItemHighLightColor = 0;
	WORD HelpColor = 0;
	short DisabledItem[3] = {0}, ShowHelp = 0;
	// Save To File variables
	FILE *FileSave = NULL;
	// time and date
	char *DateAndTime = NULL;



	// reload menu item colors
	ItemColor                  = FRONT_LIGHTGREY;
	ItemHighLightColor         = FRONT_WHITE;
	DisabledItemColor          = FRONT_DARKGREEN;
	DisabledItemHighLightColor = FRONT_LIGHTGREEN;
	HelpColor                  = FRONT_WHITE | BACK_LIGHTGREY;
	// enable button Close and Save To File
	DisabledItem[0] = FALSE;
	DisabledItem[1] = FALSE;
	DisabledItem[2] = FALSE;
	ShowHelp        = TRUE;
	Stdin           = GetStdHandle (STD_INPUT_HANDLE);
	va_start (List, Message);
		vsprintf (FormattedMessage, Message, List);
	va_end (List);
	// initialize ErrMsg dialog
	if ((dbErrMsg = (DIALOGBOX_COMPONENT *) malloc (sizeof (DIALOGBOX_COMPONENT))) != NULL)
	{
		MsgLength = (short) strlen (FormattedMessage);
		dbErrMsg->Length = 65;
		dbErrMsg->x = ((CONSOLE_LENGTH - 1 - dbErrMsg->Length) / 2);
		dbErrMsg->y = 6;
		dbErrMsg->Height = 0;
		// analyzing text
		MsgCharY = 0;
		for (i = 0; i < MsgLength; i++)
		{
			if (MsgCharCount + dbErrMsg->x + 8 >= dbErrMsg->Length - dbErrMsg->x + 8)
			{
				MsgCharX1++;
				MsgCharY++;
				MsgCharX2 = -1;
				MsgCharCount = -1;
			}
			MsgCharX2++;
			MsgCharCount++;
		}
		if (dbErrMsg->Height+10+MsgCharY-1 < 25) dbErrMsg->Height = 10+MsgCharY-1;
		else
		{
			Print (0, 0, FRONT_LIGHTGREY, "Error message is too long!");
			Print (0, 2, FRONT_LIGHTGREY, "Press any key to exit to the system ...");
			
		}
		i = MsgCharY = MsgCharX2 = MsgCharX1 = MsgCharCount = 0;
		dbErrMsg->BorderColor        = FRONT_WHITE;
		dbErrMsg->IconColor          = FRONT_LIGHTGREY;
		dbErrMsg->IconHighLightColor = FRONT_WHITE;
		dbErrMsg->TitleColor         = FRONT_WHITE | BACK_DARKBLUE;
		dbErrMsg->ShadowColor        = BACK_DARKGREY;
		dbErrMsg->Active             = TRUE;
		dbErrMsg->EnableExitIcon     = TRUE;
		dbErrMsg->EnableHelpIcon     = FALSE;
		dbErrMsg->DoubleLineBorder   = FALSE;
		dbErrMsg->ExitIconClicked    = FALSE;
		dbErrMsg->HelpIconClicked    = FALSE;
		dbErrMsg->IsInitialized      = FALSE;
		dbErrMsg->Pattern            = ' ';
		dbErrMsg->TitlePattern       = ' ';
		dbErrMsg->ShadowPattern      = ' ';
		dbErrMsg->LeftAlignedTitle   = TRUE;
		dbErrMsg->CenterAlignedTitle = FALSE;
		dbErrMsg->RightAlignedTitle  = FALSE;
		dbErrMsg->EnableShadow       = TRUE;
		dbErrMsg->InputCodePage      = 1250;
		dbErrMsg->OutputCodePage     = 1250;
		sprintf (dbErrMsg->Title, "Error message");
		dbErrMsg = DialogBoxComponent (dbErrMsg, ir, TRUE);
	}
	else
	{
		Print (0, 0, FRONT_LIGHTGREY, "Error occured while allocating space for dbErrMsg variable");
		Print (0, 1, FRONT_LIGHTGREY, "in function ErrorMsg (file \"main.c\").");
		Print (0, 3, FRONT_LIGHTGREY, "Press any key to exit to the system ...");

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产香蕉久久精品综合网| 国产精品嫩草影院av蜜臀| 国产精品一品二品| 亚洲美女免费视频| 久久精品夜夜夜夜久久| 欧美色综合天天久久综合精品| 精品一区二区三区免费播放| 一区二区三区四区av| 国产丝袜美腿一区二区三区| 欧美精品第1页| 91看片淫黄大片一级在线观看| 国内精品伊人久久久久av一坑| 夜夜揉揉日日人人青青一国产精品 | 亚洲蜜臀av乱码久久精品| 久久伊人中文字幕| 日韩一区二区三区视频| 精品视频在线看| 91热门视频在线观看| 成人精品国产免费网站| 国产一区二区三区免费播放| 日日夜夜免费精品| 亚洲1区2区3区4区| 亚洲图片你懂的| 国产精品沙发午睡系列990531| 精品久久一区二区三区| 日韩欧美中文字幕公布| 在线播放中文字幕一区| 欧美色视频一区| 欧美性大战xxxxx久久久| 91视频www| 日本精品视频一区二区三区| av一区二区三区黑人| 成人在线视频一区二区| 国产精品99久久久久久宅男| 国产在线一区观看| 国产在线播放一区| 国产激情一区二区三区| 国产成人h网站| 成人黄色在线视频| 99视频超级精品| 91亚洲精华国产精华精华液| 色悠悠久久综合| 欧美影院一区二区三区| 91久久香蕉国产日韩欧美9色| www.亚洲精品| 日本精品视频一区二区| 欧美三级电影在线观看| 7777精品伊人久久久大香线蕉完整版| 欧美日韩dvd在线观看| 91精品国产91久久久久久最新毛片| 欧美精品丝袜中出| 日韩欧美区一区二| 国产日韩欧美精品一区| 亚洲欧美一区二区三区极速播放| 亚洲特黄一级片| 亚洲一区二区三区四区不卡| 天天操天天色综合| 国模套图日韩精品一区二区| 国产91清纯白嫩初高中在线观看| 成人综合婷婷国产精品久久蜜臀| 91在线视频观看| 在线综合+亚洲+欧美中文字幕| 欧美xxxx老人做受| 国产精品免费观看视频| 亚洲国产日韩综合久久精品| 蜜臀久久99精品久久久久久9| 国产成人av一区| 色综合天天综合色综合av| 欧美日韩情趣电影| 久久夜色精品一区| 国产精品久99| 日韩在线观看一区二区| 国产在线播放一区| 在线精品视频小说1| 欧美久久久久久蜜桃| 久久老女人爱爱| 洋洋成人永久网站入口| 麻豆精品在线播放| 91免费版在线| 精品国产一区久久| 亚洲免费在线播放| 久久99久久久欧美国产| 91亚洲精品乱码久久久久久蜜桃 | 91小视频在线免费看| 欧美久久一区二区| 中文字幕一区日韩精品欧美| 日韩经典中文字幕一区| www.欧美.com| 久久综合色一综合色88| 亚洲一区二区三区免费视频| 国产精品亚洲综合一区在线观看| 99国产欧美久久久精品| 欧美精品一区二区三区蜜桃视频| 亚洲欧美另类图片小说| 国产一区免费电影| 欧美日韩一级片在线观看| 中文字幕第一页久久| 蜜乳av一区二区三区| 欧美优质美女网站| 国产精品麻豆网站| 狠狠色伊人亚洲综合成人| 精品视频在线看| 中文字幕一区二区三区不卡在线| 激情伊人五月天久久综合| 欧美日韩精品一区二区三区| 亚洲三级理论片| 国产精品一区二区不卡| 欧美一级久久久久久久大片| 亚洲图片自拍偷拍| 色综合色狠狠天天综合色| 国产亚洲欧美色| 精品一区二区三区在线播放| 9191精品国产综合久久久久久| 亚洲视频在线一区二区| 国产99久久久精品| 日韩美女视频在线| 日本不卡免费在线视频| 欧美少妇bbb| 亚洲一区二区中文在线| 色噜噜狠狠色综合中国| 中文字幕一区二区三区在线观看| 国产99久久久久| 国产丝袜在线精品| 国产经典欧美精品| 国产拍欧美日韩视频二区| 国产精品2024| 久久综合九色综合欧美98| 激情偷乱视频一区二区三区| 日韩一级二级三级精品视频| 日本vs亚洲vs韩国一区三区| 8x8x8国产精品| 首页国产丝袜综合| 91精品麻豆日日躁夜夜躁| 丝袜脚交一区二区| 欧美一级一级性生活免费录像| 人人狠狠综合久久亚洲| 欧美一区二区三区婷婷月色| 免费xxxx性欧美18vr| 日韩三级免费观看| 国精产品一区一区三区mba视频| 2020国产精品自拍| 丰满白嫩尤物一区二区| 国产精品国产三级国产a| 99久久精品国产网站| 一区二区三区在线观看国产| 欧美亚洲自拍偷拍| 人禽交欧美网站| 久久久久久9999| 99久久国产免费看| 亚洲综合自拍偷拍| 欧美一区二区三区性视频| 久久精品国产网站| 久久久99精品免费观看不卡| 成人免费视频播放| 亚洲综合网站在线观看| 欧美精品久久99久久在免费线| 蜜桃一区二区三区在线| 久久综合九色综合久久久精品综合| 丁香另类激情小说| 洋洋av久久久久久久一区| 51午夜精品国产| 国产一区二区三区蝌蚪| 国产精品久久久久久久蜜臀| 色菇凉天天综合网| 蜜桃av噜噜一区| 国产精品久线观看视频| 欧美视频在线一区二区三区| 免费看精品久久片| 日本一区二区视频在线| 欧美视频一区二区三区四区| 韩国女主播一区| 亚洲美女免费在线| 亚洲精品一区二区三区在线观看| 成人黄色av网站在线| 天天av天天翘天天综合网| 久久精品人人做| 欧美无砖砖区免费| 国产寡妇亲子伦一区二区| 亚洲一区二区五区| 久久久影院官网| 欧美男同性恋视频网站| 国产经典欧美精品| 婷婷综合久久一区二区三区| 国产午夜精品久久久久久久| 欧美日韩视频不卡| 成人av片在线观看| 另类综合日韩欧美亚洲| 亚洲免费毛片网站| 欧美xingq一区二区| 色视频欧美一区二区三区| 久久66热re国产| 亚洲成人中文在线| 国产精品短视频| 久久久欧美精品sm网站 | 国产欧美一区二区精品久导航| 欧美视频在线观看一区| 国产v综合v亚洲欧| 免费成人av在线播放| 亚洲自拍欧美精品| 国产精品美女久久久久av爽李琼|