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

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

?? main.c

?? 一個ascii 碼值計算原代碼的例子
?? C
?? 第 1 頁 / 共 4 頁
字號:
/* !! DO NOT REMOVE THIS COMMENT !!
 *
 * Author: Ga歱er Raj歟k
 * E-mail, updates & bugs report: gape.korn@volja.net
 *
 * Created: 03.08.2003 at 12.00
 *
 * Description: main menu nad main functions for this program
 *
 */

# include "main.h"
# include "help.h"
# include "author.h"



int main ()
{
	short ASCII = 0, Line = 0, Row = 0, Result = 0, SpaceBetweenNumbers = 0;
	long CodePage = 0;
	SHAPE_COMPONENT *ASCIIFrame = NULL, *MainFrame = NULL, *lcLine = NULL;
	GROUPBOX_COMPONENT *gbCodePage = NULL;
	// input variables
	INPUT_RECORD ir = {0};
	DWORD Read = 0;
	// common variables
	short i = 0, j = 0; // counters
	short HelpIsDisplayed = 0; // flag which becomes true if help text is displayed in the status line
	// variables for menu buttons (Show ASCII Table, Help, Author, Exit)
	short MainMenuLoop = 0, xStartMenu[MAIN_MENU_NO_OF_ITEMS] = {0}, MainMenuValue = MAIN_MENU_DEFAULT_SELECTED;
	short xEndMenu[MAIN_MENU_NO_OF_ITEMS] = {0}, yStartMenu[MAIN_MENU_NO_OF_ITEMS] = {0}, ReDrawMainMenu = 0;
	short yItemNameLength = 0, xItemNameLength = 0, MenuTempIndex = 0, MenuSelected = 1;
	short WriteMenu = 0, MarkMenu = 0, MenuIndex = 0, MenuClicked = 0;
	char *MainMenuItems[MAIN_MENU_NO_OF_ITEMS] = {0}, *MainMenuHelp[MAIN_MENU_NO_OF_ITEMS] = {0};
	// edit box variables
	short ebX[CODEPAGE_EB_WHOLE_NO] = {0}, ebY[CODEPAGE_EB_WHOLE_NO] = {0}, ebLength[CODEPAGE_EB_WHOLE_NO] = {0};
	short ebSelected[CODEPAGE_EB_WHOLE_NO] = {0}, x[CODEPAGE_EB_WHOLE_NO] = {0}, ebIndex[CODEPAGE_EB_WHOLE_NO] = {0};
	WORD ebColor[CODEPAGE_EB_WHOLE_NO] = {0};
	char ebCodePage[11] = {0};
	// options
	HANDLE Stdin = GetStdHandle (STD_INPUT_HANDLE);
	WORD ItemColor = 0, ItemHighLightColor = 0, DisabledItemColor = 0, DisabledItemHighLightColor = 0;
	WORD HelpColor = 0;
	short DisabledItem[MAIN_MENU_NO_OF_ITEMS] = {0}, ShowHelp = 0;



	// initialization
	ShowScreenCursor (0);
	SetConsoleCP (1250);
	SetConsoleOutputCP (1250);
	ClrScr (0, 0, 80, 25, BACK_LIGHTGREY, ' ');
	Print (29, 1, BACK_LIGHTGREY, "A S C I I   T A B L E");
	// reload menu item colors
	ItemColor                  = BACK_LIGHTGREY;
	ItemHighLightColor         = FRONT_WHITE | BACK_LIGHTGREY;
	DisabledItemColor          = FRONT_DARKGREEN;
	DisabledItemHighLightColor = FRONT_LIGHTGREEN;
	HelpColor                  = FRONT_WHITE | BACK_LIGHTGREY;
	// enable buttons
	DisabledItem[0] = FALSE;
	DisabledItem[1] = FALSE;
	DisabledItem[2] = FALSE;
	DisabledItem[3] = FALSE;
	ShowHelp        = TRUE;
	// set console title
	ConsoleTitle (PROGRAM_TITLE);
	// group box component for code page
	if ((gbCodePage = (GROUPBOX_COMPONENT *) malloc (sizeof (GROUPBOX_COMPONENT))) != NULL)
	{
		gbCodePage->x          = 39;
		gbCodePage->y          = 9;
		gbCodePage->Color      = FRONT_DARKBLUE | BACK_LIGHTGREY;
		gbCodePage->DoubleLine = TRUE;
		gbCodePage->Height     = 13;
		gbCodePage->Length     = 39;
		gbCodePage->Pattern     = ' ';
		strncpy (gbCodePage->Title, "Codepage & ASCII code", strlen ("Codepage & ASCII code") + 1);
		gbCodePage->TitleColor = FRONT_LIGHTBLUE | BACK_LIGHTGREY;
		GroupBoxComponent (gbCodePage);
	}
	else
	{
		ErrorMsg ("Error occured while allocating space for gbCodePage variable in function main (file \"main.c\").");
	}
	// straight line
	if ((lcLine = (SHAPE_COMPONENT *) malloc (sizeof (SHAPE_COMPONENT))) != NULL)
	{
		lcLine->LINE.x          = gbCodePage->x + 2;
		lcLine->LINE.y          = gbCodePage->y + 9;
		lcLine->LINE.Height     = 1;
		lcLine->LINE.Length     = 33;
		lcLine->LINE.DoubleLine = FALSE;
		lcLine->LINE.Horizontal = TRUE;
		lcLine->LINE.Color      = FRONT_DARKBLUE | BACK_LIGHTGREY;
		LineComponent (lcLine);
		free (lcLine);
		lcLine = NULL;
	}
	else
	{
		ErrorMsg ("Error occured while allocating space for lcLine     variable in function main (file \"main.c\").");
	}
	// enter title for the edit box
	Print (gbCodePage->x + 2, gbCodePage->y + 1, BACK_LIGHTGREY, "Enter code page:");
	// text in the ASCII & codepage groupbox
	Print (gbCodePage->x + 2, gbCodePage->y + 10, BACK_LIGHTGREY, "Formula = 16 * Line + Row");
	// draws a main frame
	if ((MainFrame = (SHAPE_COMPONENT *) malloc (sizeof (SHAPE_COMPONENT))) != NULL)
	{
		MainFrame->InputCodePage        = 1250;
		MainFrame->OutputCodePage       = 1250;
		MainFrame->FRAME.x              = 0;
		MainFrame->FRAME.y              = 0;
		MainFrame->FRAME.Length         = 79;
		MainFrame->FRAME.Height         = 24;
		MainFrame->FRAME.DoubleLine     = TRUE;
		MainFrame->FRAME.WithStatusLine = TRUE;
		MainFrame->FRAME.Color          = FRONT_WHITE | BACK_LIGHTGREY;
		FrameComponent (MainFrame);
		// free memory
		free (MainFrame);
		MainFrame = NULL;
	}
	else
	{
		ErrorMsg ("Error occured while allocating space for variable   MainFrame in function main (file \"main.c\").");
	}
	// draws a frame for ASCII Table
	if ((ASCIIFrame = (SHAPE_COMPONENT *) malloc (sizeof (SHAPE_COMPONENT))) != NULL)
	{
		ASCIIFrame->FRAME.x              = vX - 1;
		ASCIIFrame->FRAME.y              = hY - 1;
		ASCIIFrame->FRAME.Color          = FRONT_DARKBLUE | BACK_LIGHTGREY;
		ASCIIFrame->FRAME.DoubleLine     = TRUE;
		ASCIIFrame->FRAME.Height         = 19;
		ASCIIFrame->FRAME.Length         = 35;
		ASCIIFrame->FRAME.WithStatusLine = FALSE;
		ASCIIFrame->InputCodePage        = 1250;
		ASCIIFrame->OutputCodePage       = 1250;
		FrameComponent (ASCIIFrame);
		free (ASCIIFrame);
		ASCIIFrame = NULL;
	}
	else
	{
		ErrorMsg ("Error occured while allocating space for ASCIIFrame variable in function DrawASCIIFramework (file       \"main.c\").");
	}
	// print numbers 0 - 15
	for (i = 0, SpaceBetweenNumbers = 0; i < 16; i++, SpaceBetweenNumbers += 2)
	{
		if      (i == 10) { Print (hX+SpaceBetweenNumbers, hY, BACK_LIGHTGREY, "A"); Print (vX, vY+i, BACK_LIGHTGREY, "A"); }
		else if (i == 11) { Print (hX+SpaceBetweenNumbers, hY, BACK_LIGHTGREY, "B"); Print (vX, vY+i, BACK_LIGHTGREY, "B"); }
		else if (i == 12) { Print (hX+SpaceBetweenNumbers, hY, BACK_LIGHTGREY, "C"); Print (vX, vY+i, BACK_LIGHTGREY, "C"); }
		else if (i == 13) { Print (hX+SpaceBetweenNumbers, hY, BACK_LIGHTGREY, "D"); Print (vX, vY+i, BACK_LIGHTGREY, "D"); }
		else if (i == 14) { Print (hX+SpaceBetweenNumbers, hY, BACK_LIGHTGREY, "E"); Print (vX, vY+i, BACK_LIGHTGREY, "E"); }
		else if (i == 15) { Print (hX+SpaceBetweenNumbers, hY, BACK_LIGHTGREY, "F"); Print (vX, vY+i, BACK_LIGHTGREY, "F"); }
		else { Print (hX+SpaceBetweenNumbers, hY, BACK_LIGHTGREY, "%d", i); Print (vX, vY+i, BACK_LIGHTGREY, "%d", i); }
	}
	// text: Show ASCII Table
	if ((MainMenuItems[0] = (char *) malloc (sizeof (char) * (strlen ("Show ASCII Table") + 1))) != NULL)
	{
		strncpy (MainMenuItems[0], "Show ASCII Table", strlen ("Show ASCII Table") + 1);
	}
	else
	{
		ErrorMsg ("Error occured while allocationg space for variable  MainMenuItems[0] in function MainMenu (file         \"menu.c\").");
	}
	// text: Help
	if ((MainMenuItems[1] = (char *) malloc (sizeof (char) * (strlen ("Help") + 1))) != NULL)
	{
		strncpy (MainMenuItems[1], "Help", strlen ("Help") + 1);
	}
	else
	{
		ErrorMsg ("Error occured while allocationg space for variable  MainMenuItems[1] in function MainMenu (file         \"menu.c\").");
	}
	// text: Author
	if ((MainMenuItems[2] = (char *) malloc (sizeof (char) * (strlen ("Author") + 1))) != NULL)
	{
		strncpy (MainMenuItems[2], "Author", strlen ("Author") + 1);
	}
	else
	{
		ErrorMsg ("Error occured while allocationg space for variable  MainMenuItems[2] in function MainMenu (file         \"menu.c\").");
	}
	// text: Exit
	if ((MainMenuItems[3] = (char *) malloc (sizeof (char) * (strlen ("Exit") + 1))) != NULL)
	{
		strncpy (MainMenuItems[3], "Exit", strlen ("Exit") + 1);
	}
	else
	{
		ErrorMsg ("Error occured while allocationg space for variable  MainMenuItems[3] in function MainMenu (file         \"menu.c\").");
	}
	// help for "Show ASCII Table"
	if ((MainMenuHelp[0] = (char *) malloc (sizeof (char) * (strlen ("Shows ASCII Table for selected code page.") + 1 + HELP_ERASE_LENGTH))) != NULL)
	{
		strncpy (MainMenuHelp[0], "Shows ASCII Table for selected code page.", strlen ("Shows ASCII Table for selected code page.") + 1 + HELP_ERASE_LENGTH);
	}
	else
	{
		ErrorMsg ("Error occured while allocationg space for variable  MainMenuHelp[0] in function MainMenu (file          \"menu.c\").");
	}
	// help for "Help"
	if ((MainMenuHelp[1] = (char *) malloc (sizeof (char) * (strlen ("Shows help about this program.") + 1 + HELP_ERASE_LENGTH))) != NULL)
	{
		strncpy (MainMenuHelp[1], "Shows help about this program.", strlen ("Shows help about this program.") + 1 + HELP_ERASE_LENGTH);
	}
	else
	{
		ErrorMsg ("Error occured while allocationg space for variable  MainMenuHelp[1] in function MainMenu (file          \"menu.c\").");
	}
	// help for "Author"
	if ((MainMenuHelp[2] = (char *) malloc (sizeof (char) * (strlen ("Shows information about the author.") + 1 + HELP_ERASE_LENGTH))) != NULL)
	{
		strncpy (MainMenuHelp[2], "Shows information about the author.", strlen ("Shows information about the author.") + 1 + HELP_ERASE_LENGTH);
	}
	else
	{
		ErrorMsg ("Error occured while allocationg space for variable  MainMenuHelp[2] in function MainMenu (file          \"menu.c\").");
	}
	// help for "Author"
	if ((MainMenuHelp[3] = (char *) malloc (sizeof (char) * (strlen ("Exit the program.") + 1 + HELP_ERASE_LENGTH))) != NULL)
	{
		strncpy (MainMenuHelp[3], "Exit the program.", strlen ("Exit the program.") + 1 + HELP_ERASE_LENGTH);
	}
	else
	{
		ErrorMsg ("Error occured while allocationg space for variable  MainMenuHelp[3] in function MainMenu (file          \"menu.c\").");
	}
	// with this, before the help gets printed, I can avoid to delete the previous text - very useful
	// I don't have to use ClrScr function
	for (i = 0; i < MAIN_MENU_NO_OF_ITEMS; i++)
	{
		for (j = 0; j < HELP_ERASE_LENGTH; j++)
		{
			if (MainMenuHelp[i][j] == '\0')
			{
				MainMenuHelp[i][j]   = ' ';
				MainMenuHelp[i][j+1] = '\0';
			}
		}
	}
	// calculate main menu coordinates
	for (i = 0, xItemNameLength = 0, yItemNameLength = 0; i < MAIN_MENU_NO_OF_ITEMS; i++)
	{
		xStartMenu[i] = MAIN_MENU_X;
		xEndMenu[i] = MAIN_MENU_X + (short) strlen (MainMenuItems[i]) - 1;
		// checking which text is the longest
		if (xEndMenu[i] - MAIN_MENU_X + 1 > xItemNameLength) xItemNameLength = xEndMenu[i] - MAIN_MENU_X + 1;
		yStartMenu[i] = MAIN_MENU_Y + yItemNameLength;
		// count the length of menu button names -> that is 1 + space between items
		yItemNameLength += 1;
		if (i != MAIN_MENU_NO_OF_ITEMS-1) yItemNameLength += 0 + MAIN_MENU_SPACE_BETWEEN_ITEMS;
	}
	// print main menu
	for (i = 0; i < MAIN_MENU_NO_OF_ITEMS; i++)
	{
		if (MAIN_MENU_DEFAULT_SELECTED == i)
		{
			// checking if the menu item is disabled. If it is then color it diferently
			if (DisabledItem[i]) Print (xStartMenu[i], yStartMenu[i], DisabledItemHighLightColor, "%s", MainMenuItems[i]);
			else Print (xStartMenu[i], yStartMenu[i], ItemHighLightColor, "%s", MainMenuItems[i]);
			MarkMenu = MenuSelected = 1;
			MenuTempIndex = i;
			// print help in the status line
			if (ShowHelp)
			{
				Print (HELP_X, HELP_Y, HelpColor, "%s", MainMenuHelp[i]);
				HelpIsDisplayed = 1;
			}
		}
		else
		{
			if (DisabledItem[i]) Print (xStartMenu[i], yStartMenu[i], DisabledItemColor, "%s", MainMenuItems[i]);
			else Print (xStartMenu[i], yStartMenu[i], ItemColor, "%s", MainMenuItems[i]);
		}
	}
	// file name edit box initialization
	ebX[CODEPAGE_EB_CODEPAGE]      = 41;
	ebY[CODEPAGE_EB_CODEPAGE]      = 11;
	ebLength[CODEPAGE_EB_CODEPAGE] = 10;
	ebColor[CODEPAGE_EB_CODEPAGE]  = BACK_WHITE;
	for (i = 0; i < ebLength[CODEPAGE_EB_CODEPAGE]; i++)
	{
		Print (ebX[CODEPAGE_EB_CODEPAGE]+i, ebY[CODEPAGE_EB_CODEPAGE], ebColor[CODEPAGE_EB_CODEPAGE], " ");
	}
	// main menu loop
	MainMenuLoop = 1;
	while (MainMenuLoop)
	{
		if (ReDrawMainMenu)
		{
			// reload menu item colors
			ItemColor                  = BACK_LIGHTGREY;
			ItemHighLightColor         = FRONT_WHITE | BACK_LIGHTGREY;
			DisabledItemColor          = FRONT_DARKGREEN;
			DisabledItemHighLightColor = FRONT_LIGHTGREEN;
			HelpColor                  = FRONT_WHITE | BACK_LIGHTGREY;
			// enable buttons
			DisabledItem[0] = FALSE;
			DisabledItem[1] = FALSE;
			DisabledItem[2] = FALSE;
			DisabledItem[3] = FALSE;
			// text: Show ASCII Table
			if ((MainMenuItems[0] = (char *) malloc (sizeof (char) * (strlen ("Show ASCII Table") + 1))) != NULL)
			{
				strncpy (MainMenuItems[0], "Show ASCII Table", strlen ("Show ASCII Table") + 1);
			}
			else
			{
				ErrorMsg ("Error occured while allocationg space for variable  MainMenuItems[0] in function MainMenu (file         \"menu.c\").");
			}
			// text: Help
			if ((MainMenuItems[1] = (char *) malloc (sizeof (char) * (strlen ("Help") + 1))) != NULL)
			{
				strncpy (MainMenuItems[1], "Help", strlen ("Help") + 1);
			}
			else
			{
				ErrorMsg ("Error occured while allocationg space for variable  MainMenuItems[1] in function MainMenu (file         \"menu.c\").");
			}
			// text: Author
			if ((MainMenuItems[2] = (char *) malloc (sizeof (char) * (strlen ("Author") + 1))) != NULL)
			{
				strncpy (MainMenuItems[2], "Author", strlen ("Author") + 1);
			}
			else
			{
				ErrorMsg ("Error occured while allocationg space for variable  MainMenuItems[2] in function MainMenu (file         \"menu.c\").");
			}
			// text: Exit
			if ((MainMenuItems[3] = (char *) malloc (sizeof (char) * (strlen ("Exit") + 1))) != NULL)
			{
				strncpy (MainMenuItems[3], "Exit", strlen ("Exit") + 1);
			}
			else
			{
				ErrorMsg ("Error occured while allocationg space for variable  MainMenuItems[3] in function MainMenu (file         \"menu.c\").");
			}
			// help for "Show ASCII Table"
			if ((MainMenuHelp[0] = (char *) malloc (sizeof (char) * (strlen ("Shows ASCII Table for selected code page.") + 1 + HELP_ERASE_LENGTH))) != NULL)
			{
				strncpy (MainMenuHelp[0], "Shows ASCII Table for selected code page.", strlen ("Shows ASCII Table for selected code page.") + 1 + HELP_ERASE_LENGTH);
			}
			else
			{
				ErrorMsg ("Error occured while allocationg space for variable  MainMenuHelp[0] in function MainMenu (file          \"menu.c\").");
			}
			// help for "Help"
			if ((MainMenuHelp[1] = (char *) malloc (sizeof (char) * (strlen ("Shows help about this program.") + 1 + HELP_ERASE_LENGTH))) != NULL)
			{
				strncpy (MainMenuHelp[1], "Shows help about this program.", strlen ("Shows help about this program.") + 1 + HELP_ERASE_LENGTH);
			}
			else
			{
				ErrorMsg ("Error occured while allocationg space for variable  MainMenuHelp[1] in function MainMenu (file          \"menu.c\").");
			}
			// help for "Author"
			if ((MainMenuHelp[2] = (char *) malloc (sizeof (char) * (strlen ("Shows information about the author.") + 1 + HELP_ERASE_LENGTH))) != NULL)
			{
				strncpy (MainMenuHelp[2], "Shows information about the author.", strlen ("Shows information about the author.") + 1 + HELP_ERASE_LENGTH);
			}
			else
			{
				ErrorMsg ("Error occured while allocationg space for variable  MainMenuHelp[2] in function MainMenu (file          \"menu.c\").");
			}
			// help for "Author"
			if ((MainMenuHelp[3] = (char *) malloc (sizeof (char) * (strlen ("Exit the program.") + 1 + HELP_ERASE_LENGTH))) != NULL)
			{
				strncpy (MainMenuHelp[3], "Exit the program.", strlen ("Exit the program.") + 1 + HELP_ERASE_LENGTH);
			}
			else
			{
				ErrorMsg ("Error occured while allocationg space for variable  MainMenuHelp[3] in function MainMenu (file          \"menu.c\").");
			}
			// with this, before the help gets printed, I can avoid to delete the previous text - very useful
			// I don't have to use ClrScr function
			for (i = 0; i < MAIN_MENU_NO_OF_ITEMS; i++)
			{
				for (j = 0; j < HELP_ERASE_LENGTH; j++)
				{
					if (MainMenuHelp[i][j] == '\0')
					{
						MainMenuHelp[i][j]   = ' ';
						MainMenuHelp[i][j+1] = '\0';
					}
				}
			}
			// calculate main menu coordinates
			for (i = 0, xItemNameLength = 0, yItemNameLength = 0; i < MAIN_MENU_NO_OF_ITEMS; i++)
			{
				xStartMenu[i] = MAIN_MENU_X;
				xEndMenu[i] = MAIN_MENU_X + (short) strlen (MainMenuItems[i]) - 1;
				// checking which text is the longest
				if (xEndMenu[i] - MAIN_MENU_X + 1 > xItemNameLength) xItemNameLength = xEndMenu[i] - MAIN_MENU_X + 1;
				yStartMenu[i] = MAIN_MENU_Y + yItemNameLength;
				// count the length of menu button names -> that is 1 + space between items
				yItemNameLength += 1;
				if (i != MAIN_MENU_NO_OF_ITEMS-1) yItemNameLength += 0 + MAIN_MENU_SPACE_BETWEEN_ITEMS;
			}
			// flags and values
			MainMenuValue = MAIN_MENU_DEFAULT_SELECTED;
			WriteMenu     = 1;
			MarkMenu      = 1;
			MenuSelected  = 1;
			MenuClicked   = 0;
			ReDrawMainMenu = FALSE;
		} // end if ReDrawMainMenu
		ReadConsoleInput (Stdin, &ir, 1, &Read);
		// mouse
		if (ir.EventType == MOUSE_EVENT)
		{
			if (ir.Event.MouseEvent.dwEventFlags == MOUSE_MOVED)
			{
				// within the range of a main menu items
				if ( (ir.Event.MouseEvent.dwMousePosition.X >= xStartMenu[MenuIndex]) &&

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲黄色尤物视频| 久久99九九99精品| 亚洲欧美激情一区二区| 亚洲欧美国产高清| 亚洲成年人影院| 国产在线不卡一卡二卡三卡四卡| 日本欧美加勒比视频| 国产在线一区二区| 波多野结衣中文字幕一区二区三区| 色婷婷精品久久二区二区蜜臀av| 51午夜精品国产| 日本一区二区三区四区| 一区二区三区在线播放| 蜜臀久久久99精品久久久久久| 风间由美一区二区三区在线观看 | 欧美一区二区三区四区视频| 欧美日韩国产精品自在自线| 欧美日韩成人综合天天影院| 国产欧美日韩在线| 一区二区三区欧美激情| 国产麻豆一精品一av一免费 | 国内精品伊人久久久久av一坑| aaa国产一区| 精品少妇一区二区三区在线视频 | 国产一区二区影院| 亚洲精品一区二区三区蜜桃下载 | 久久成人av少妇免费| 99久久er热在这里只有精品66| 日韩一级黄色大片| 一区二区三区中文字幕| 成人激情视频网站| 久久中文娱乐网| 日本系列欧美系列| 欧美午夜精品久久久久久超碰| 国产亚洲综合在线| 久久成人免费网站| 欧美日韩国产一级二级| 久久久久久久久久久黄色| 男人的天堂亚洲一区| 91在线porny国产在线看| 国产欧美日本一区二区三区| 激情图区综合网| 欧美电影免费观看高清完整版在线观看| 亚洲精品视频观看| 91农村精品一区二区在线| 国产欧美日韩综合| 国产成人在线免费| 久久综合色之久久综合| 精品一区二区三区欧美| 91麻豆精品国产91久久久更新时间| 亚洲人成亚洲人成在线观看图片| 成人黄色网址在线观看| 国产亲近乱来精品视频| 国产成人久久精品77777最新版本 国产成人鲁色资源国产91色综 | 亚洲自拍偷拍欧美| 色先锋aa成人| 亚洲午夜久久久久久久久电影网| 色综合天天综合网天天狠天天| 国产精品天干天干在线综合| 国产福利91精品一区| 欧美国产精品久久| 国产精品一区二区三区乱码| 国产三区在线成人av| 高清国产一区二区| 中文字幕视频一区二区三区久| 成人久久视频在线观看| 亚洲三级理论片| 日本高清不卡视频| 亚洲国产中文字幕在线视频综合 | 日本一区二区久久| 99麻豆久久久国产精品免费| 国产精品午夜久久| 97精品国产露脸对白| 亚洲综合精品久久| 日韩欧美一区二区久久婷婷| 韩国在线一区二区| 中文字幕一区av| 精品婷婷伊人一区三区三| 强制捆绑调教一区二区| 在线播放亚洲一区| 国产乱人伦偷精品视频免下载 | 久久久久久久久久看片| 成人高清免费观看| 亚洲福利电影网| 在线播放日韩导航| 国产白丝精品91爽爽久久| 亚洲三级理论片| 欧美精品aⅴ在线视频| 国产成人精品免费| 亚洲欧美日韩小说| 在线播放欧美女士性生活| 免费一级欧美片在线观看| 久久久亚洲精品一区二区三区| 成人精品国产一区二区4080| 亚洲国产精品久久人人爱蜜臀| 欧美电影免费观看高清完整版在线| 高清免费成人av| 亚洲aaa精品| 中文字幕一区二区三区在线不卡| 欧美人与z0zoxxxx视频| 国产盗摄一区二区三区| 亚洲午夜精品久久久久久久久| 国产精品久久二区二区| 91行情网站电视在线观看高清版| 久久国产精品第一页| 一区二区久久久| 亚洲国产成人在线| 日韩一区二区在线看| 一本高清dvd不卡在线观看| 亚洲第一精品在线| 国产精品日日摸夜夜摸av| 久久久久久免费毛片精品| 色激情天天射综合网| 风间由美一区二区av101| 免费人成黄页网站在线一区二区| 亚洲欧洲日韩av| 久久久久国产一区二区三区四区 | 91亚洲男人天堂| 精品中文字幕一区二区小辣椒| 亚洲一区二区四区蜜桃| 亚洲欧洲99久久| 欧美国产欧美综合| 久久久久久久久久久久久久久99| 欧美剧情电影在线观看完整版免费励志电影| 奇米影视一区二区三区小说| 亚洲国产一区二区三区| 亚洲人妖av一区二区| 国产精品色一区二区三区| 久久久久久日产精品| 亚洲国产电影在线观看| 中文字幕亚洲一区二区av在线 | 亚洲国产aⅴ成人精品无吗| 偷拍与自拍一区| 天天免费综合色| 久久国产精品免费| 国产福利91精品一区二区三区| caoporn国产精品| 欧洲一区二区三区免费视频| 欧美精品乱码久久久久久| 日韩午夜激情电影| 国产女人18毛片水真多成人如厕| 国产精品久久久久久久久果冻传媒| 亚洲欧美日韩久久精品| 天堂蜜桃91精品| 国产一区91精品张津瑜| 91在线精品一区二区三区| 欧美三级电影一区| 26uuu另类欧美亚洲曰本| 国产精品国产自产拍高清av王其 | 色狠狠综合天天综合综合| 欧美高清你懂得| 国产日本亚洲高清| 一区二区三区四区国产精品| 免费成人在线播放| 成人av综合在线| 欧美群妇大交群中文字幕| 久久久久久久久久久久久女国产乱| 国产精品夫妻自拍| 日本系列欧美系列| 91在线视频在线| 精品88久久久久88久久久| 亚洲精选视频在线| 精品一区二区在线观看| 91社区在线播放| 久久婷婷国产综合精品青草| 亚洲影院理伦片| 风流少妇一区二区| 欧美一区二区在线观看| 亚洲视频免费观看| 久久se这里有精品| 欧美在线观看一二区| 久久久久国产精品麻豆| 日本午夜精品一区二区三区电影| 不卡视频免费播放| 26uuu亚洲综合色欧美| 香蕉乱码成人久久天堂爱免费| 成人av电影在线| 久久久久高清精品| 久久国产婷婷国产香蕉| 欧美日韩国产美| 丁香天五香天堂综合| 欧美一二三区精品| 亚瑟在线精品视频| 欧美亚洲国产一区二区三区va| 国产精品电影一区二区| 国产suv精品一区二区6| 欧美变态口味重另类| 秋霞影院一区二区| 欧美裸体bbwbbwbbw| 亚洲精品国产无套在线观| 成人av电影在线播放| 国产日本一区二区| 国产精品亚洲专一区二区三区| 欧美一区二区三区男人的天堂| 亚洲狠狠爱一区二区三区| 欧美亚洲动漫另类| 一区二区三区高清在线| 色婷婷国产精品| 亚洲一区av在线| 欧美日韩在线播放三区四区|