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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? tdxdataprocessdlg.cpp

?? 讀取通達信日線數(shù)據(jù)的一些代碼
?? CPP
?? 第 1 頁 / 共 2 頁
字號:
// TDXdataProcessDlg.cpp : implementation file
//

#include "stdafx.h"
#include "TDXdataProcess.h"
#include "TDXdataProcessDlg.h"



#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif


/////////////////////////////////////////////////////////////////////////////
// CTDXdataProcessDlg dialog

CTDXdataProcessDlg::CTDXdataProcessDlg(CWnd* pParent /*=NULL*/)
	: CDialog(CTDXdataProcessDlg::IDD, pParent)
{
	//{{AFX_DATA_INIT(CTDXdataProcessDlg)
	m_strDM = _T("");
	m_date = _T("");
	m_N = 5;
	m_stepbydate = true;
	m_stepAllData = true;
	m_NbyDate = 5;
	m_datebyDate = _T("");
	//}}AFX_DATA_INIT
	// Note that LoadIcon does not require a subsequent DestroyIcon in Win32
	m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
}

void CTDXdataProcessDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	DDX_Control(pDX, IDC_EDIT2, m_Edit_OriPath);
	DDX_Control(pDX, IDC_EDIT4, m_Edit_Path);
	DDX_Control(pDX, IDC_EDIT1, m_Edit_DM);
	DDX_Control(pDX, IDC_EDIT3, m_Edit_Date);
	DDX_Control(pDX, IDC_EDIT5, m_Edit_DateByDate);

	//{{AFX_DATA_MAP(CTDXdataProcessDlg)
	DDX_Control(pDX, IDC_SPIN2, m_spinbyDate);
	DDX_Control(pDX, IDC_SPIN1, m_spin);
	DDX_Text(pDX, IDC_EDIT1, m_strDM);
	DDX_Text(pDX, IDC_EDIT3, m_date);
	DDX_Text(pDX, IDC_EDIT6, m_N);
	DDX_Check(pDX, IDC_CHECK1, m_SHzs);
	DDX_Check(pDX, IDC_CHECK2, m_SZcz);
	DDX_Check(pDX, IDC_CHECK3, m_stepbydate);
	DDX_Check(pDX, IDC_CHECK5, m_stepAllData);
	DDX_Text(pDX, IDC_EDIT7, m_NbyDate);
	DDX_Text(pDX, IDC_EDIT5, m_datebyDate);
	//}}AFX_DATA_MAP
}

BEGIN_MESSAGE_MAP(CTDXdataProcessDlg, CDialog)
	//{{AFX_MSG_MAP(CTDXdataProcessDlg)
	ON_WM_PAINT()
	ON_WM_QUERYDRAGICON()
	ON_BN_CLICKED(IDC_BUTTON2, OnButtonNextDay)
	ON_BN_CLICKED(IDC_BUTTON3, OnButtonOriPath)
	ON_BN_CLICKED(IDC_BUTTON4, OnButtonPath)
	ON_BN_CLICKED(ID_MY_OK, OnMyOk)
	ON_EN_CHANGE(IDC_EDIT1, OnChangeDM)
	ON_EN_CHANGE(IDC_EDIT3, OnChangeDate)
	ON_BN_CLICKED(IDC_BUTTON1, OnButtonClear)
	ON_WM_DESTROY()
	ON_EN_CHANGE(IDC_EDIT6, OnChangeN)
	ON_BN_CLICKED(IDC_BUTTON5, OnButtonNextNday)
	ON_BN_CLICKED(IDC_CHECK1, OnCheck1)
	ON_BN_CLICKED(IDC_CHECK2, OnCheck2)
	ON_BN_CLICKED(IDC_BUTTON_FIRSTDAY, OnButtonFirstday)
	ON_WM_TIMER()
	ON_BN_CLICKED(IDC_BUTTON6, OnButton6)
	ON_BN_CLICKED(IDC_CHECK3, OnCheck3)
	ON_BN_CLICKED(IDC_CHECK5, OnCheck5)
	ON_BN_CLICKED(IDC_BUTTON7, OnButtonNextDayByDate)
	ON_BN_CLICKED(IDC_BUTTON8, OnButtonNextNDayByDate)
	ON_BN_CLICKED(IDC_BUTTON9, OnButtonClearByDate)
	ON_EN_CHANGE(IDC_EDIT5, OnChangeDayByDate)
	ON_EN_CHANGE(IDC_EDIT7, OnChangeNbyDate)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CTDXdataProcessDlg message handlers

BOOL CTDXdataProcessDlg::OnInitDialog()
{
	CDialog::OnInitDialog();

	// Set the icon for this dialog.  The framework does this automatically
	//  when the application's main window is not a dialog
	SetIcon(m_hIcon, TRUE);			// Set big icon
	SetIcon(m_hIcon, FALSE);		// Set small icon
	
	// TODO: Add extra initialization here
	
	m_path_add_sh = "\\vipdoc\\sh\\lday\\sh";
	m_path_add_sz = "\\vipdoc\\sz\\lday\\sz";

	m_pos = 0;
	m_pos_sh = 0;
	m_pos_sz = 0;

	m_flag = true;
	load_ini();

	m_stepbydate = true;
	m_stepAllData = true;

	m_pos_date = 0;

	m_spin.SetBuddy( GetDlgItem( IDC_EDIT6 ) );    //設(shè)置編輯控件為Spin控件的伙伴窗口
	m_spin.SetRange( 1, 1000 );    //設(shè)置數(shù)據(jù)范圍為1-1000


	m_spinbyDate.SetBuddy( GetDlgItem( IDC_EDIT7) );    //設(shè)置編輯控件為Spin控件的伙伴窗口
	m_spinbyDate.SetRange( 1, 1000 );    //設(shè)置數(shù)據(jù)范圍為1-1000

	return TRUE;  // return TRUE  unless you set the focus to a control
}

// If you add a minimize button to your dialog, you will need the code below
//  to draw the icon.  For MFC applications using the document/view model,
//  this is automatically done for you by the framework.

void CTDXdataProcessDlg::OnPaint() 
{
	if (IsIconic())
	{
		CPaintDC dc(this); // device context for painting

		SendMessage(WM_ICONERASEBKGND, (WPARAM) dc.GetSafeHdc(), 0);

		// Center icon in client rectangle
		int cxIcon = GetSystemMetrics(SM_CXICON);
		int cyIcon = GetSystemMetrics(SM_CYICON);
		CRect rect;
		GetClientRect(&rect);
		int x = (rect.Width() - cxIcon + 1) / 2;
		int y = (rect.Height() - cyIcon + 1) / 2;

		// Draw the icon
		dc.DrawIcon(x, y, m_hIcon);
	}
	else
	{
		CDialog::OnPaint();
	}
}

// The system calls this to obtain the cursor to display while the user drags
//  the minimized window.
HCURSOR CTDXdataProcessDlg::OnQueryDragIcon()
{
	return (HCURSOR) m_hIcon;
}

/*
通達信股票軟件日線數(shù)據(jù)分析
2007-11-29 12:06:10 / 個人分類:技術(shù)

日線文件以"代號"+"股票代碼"+".day"命名,代號為"sh"或"sz",股票代碼6位,一個記錄32個字節(jié)。
以深發(fā)展1997年1月2日的數(shù)據(jù)為例:
00000000h: 36 B8 30 01 72 06 00 00 86 06 00 00 60 06 00 00 ;
00000010h: 72 06 00 00 77 69 D4 4C 68 FE 66 00 74 06 00 00 ;
以下是分解
00000000h:|36 B8 30 01|72 06 00 00|86 06 00 00|60 06 00 00|;
[36 B8 30 01] = 0x0130B836 = 19970102        日期[unsigned long]
[72 06 00 00] = 0x00000672 = 1650/100 = 16.50    開盤[unsigned long]
[86 06 00 00] = 0x00000686 = 1670/100 = 16.70    最高[unsigned long]
[60 06 00 00] = 0x00000660 = 1632/100 = 16.32    最低[unsigned long]
00000010h:|72 06 00 00|77 69 D4 4C|68 FE 66 00|74 06 00 00|;
[72 06 00 00] = 0x00000672 = 1650/100 = 16.50    收盤[unsigned long]
[77 69 D4 4C] = 0x4CD46977 = 111365048.0    成交額[float]
[68 FE 66 00] = 0x0066FE68 = 6749800        成交量[unsigned long]
[74 06 00 00] = 0x00000674 = 1652/100 = 16.52    上日收盤[unsigned long](保留)
*/

struct TDSData_Day
{
    unsigned long date;             //日期
    unsigned long open;             //開盤價,單位:分
    unsigned long high;             //最高價,單位:分
    unsigned long low;              //最低價,單位:分
    unsigned long close;            //收盤價,單位:分
    float amount;                   //交易金額,單位:元
    unsigned long vol;              //成交量,單位:股
    int reserv;                     //保留,有時用來保存上一交易日收盤價
};

bool get_path_type(string& code)
{
	//true深圳

	//目前只分析股票和基金
	string tmp_str2;
	tmp_str2 = code.substr(0,3);

	if(tmp_str2 == "000" || tmp_str2 == "001" || tmp_str2 == "002" || tmp_str2 == "100" || tmp_str2 == "159")
	{
		return true;
	}
	else
	{
		return false;
	}
	
}


void CTDXdataProcessDlg::NextDay(string &orifname, string& tagfname, int& pos, bool& flag, unsigned long &date)
{
	//追加數(shù)據(jù)
	TDSData_Day myIn, mytmp;
    
	//讀完整文件的數(shù)據(jù)
    ifstream fin;
	fin.open(orifname.c_str(),ios::binary | ios::in);

	//第一次定位數(shù)據(jù)
	if(flag == true)
	{
		while(fin.read(reinterpret_cast<char*>(&myIn), sizeof(TDSData_Day))) //read到文件尾,返回0值
		{
			if(myIn.date > m_day)
			{
				mytmp = myIn;
				pos = fin.tellg();
				break;
			}

			if(myIn.date == m_day)
			{
				fin.read(reinterpret_cast<char*>(&myIn), sizeof(TDSData_Day));
				mytmp = myIn;
				pos = fin.tellg();
				break;
			}
		}
		flag = false;
	}
	//以后只要取后面一個數(shù)據(jù)即可
	else
	{
		fin.seekg (pos);
		if(fin.read(reinterpret_cast<char*>(&myIn), sizeof(TDSData_Day)))
		{
			mytmp = myIn;
			pos += 32;
		}
		else
		{
			fin.close();
			MessageBox("完成");
			return;
		}
	}
	fin.close();
    
	//追加到模擬測試的股票數(shù)據(jù),文件尾追加
	ofstream fout;
	fout.open(tagfname.c_str(),ios::binary | ios::app);
    fout.write(reinterpret_cast<char*>(&mytmp), sizeof(TDSData_Day));
	fout.close();

	date = mytmp.date;
}

void CTDXdataProcessDlg::OnButtonNextDay() 
{
	//和指數(shù)綁定時,由于個股會出現(xiàn)停盤現(xiàn)象,這時會出現(xiàn)個股的日期和指數(shù)對不上,由于采用的辦法是追加,所以會把后面日期的數(shù)據(jù)追加上。以后再想辦法
	unsigned long date = 0;
	bool tmpflg1,tmpflg2,tmpflg3;
	tmpflg1 = m_flag;
	tmpflg2 = m_flag;
	tmpflg3 = m_flag;
    string orifname, tagfname;

	get_ori_filename(orifname);
	get_tag_filename(tagfname);
	NextDay(orifname, tagfname, m_pos, tmpflg1, date);

	if(this->m_SHzs)
	{
		get_ori_szzs_filename(orifname);
		get_tag_szzs_filename(tagfname);
		NextDay(orifname, tagfname, m_pos_sh, tmpflg2, date);
		
	}
	
	if(this->m_SZcz)
	{
		get_ori_szcz_filename(orifname);
		get_tag_szcz_filename(tagfname);
		NextDay(orifname, tagfname, m_pos_sz, tmpflg3, date);
	}

	m_flag = tmpflg1;

	char str[10];
	sprintf(str,"%d",date);
	m_Edit_Date.SetWindowText(str);

}


void CTDXdataProcessDlg::NextNDay(string &orifname, string& tagfname, int& pos, bool& flag, unsigned long &date)
{
	int i;
	m_N = m_spin.GetPos();    //獲取Spin控件當前值

	//追加數(shù)據(jù)
	TDSData_Day myIn;
	vector<TDSData_Day> mytmp;
    
	//讀完整文件的數(shù)據(jù)
    ifstream fin;
	fin.open(orifname.c_str(),ios::binary | ios::in);

	//第一次定位數(shù)據(jù)
	if(flag == true)
	{
		while(fin.read(reinterpret_cast<char*>(&myIn), sizeof(TDSData_Day))) //read到文件尾,返回0值
		{
			if(myIn.date > m_day)
			{
				mytmp.push_back(myIn);
				for(i = 1; i<m_N; i++)
				{
					if(fin.read(reinterpret_cast<char*>(&myIn), sizeof(TDSData_Day)))
					{
						mytmp.push_back(myIn);
					}
				}
				pos = fin.tellg(); //讀到文件尾時還可能有問題
				break;
			}

			if(myIn.date == m_day)
			{
				fin.read(reinterpret_cast<char*>(&myIn), sizeof(TDSData_Day));
				mytmp.push_back(myIn);
				for(i = 1; i<m_N; i++)
				{
					if(fin.read(reinterpret_cast<char*>(&myIn), sizeof(TDSData_Day)))
					{
						mytmp.push_back(myIn);
					}
				}
				pos = fin.tellg();
				break;
			}
		}
		flag = false;
	}
	//以后只要取后面n個數(shù)據(jù)即可
	else
	{
		fin.seekg (pos);
		for(i = 0; i<m_N; i++)
		{
			if(fin.read(reinterpret_cast<char*>(&myIn), sizeof(TDSData_Day)))
			{
				mytmp.push_back(myIn);
				pos += 32;
			}
			else
			{
				MessageBox("完成");
				break;
			}
		}
		
	}
	fin.close();
    
	//追加到模擬測試的股票數(shù)據(jù),文件尾追加
	ofstream fout;
	fout.open(tagfname.c_str(),ios::binary | ios::app);
	for(i=0; i<mytmp.size(); i++)
	{
		fout.write(reinterpret_cast<char*>(&mytmp[i]), sizeof(TDSData_Day));
	}
	fout.close();

	if(mytmp.size() >= 1)
	{
		date = mytmp[mytmp.size()-1].date;
	}
	
}

void CTDXdataProcessDlg::OnButtonNextNday() 
{
	unsigned long date = 0;
	bool tmpflg1,tmpflg2,tmpflg3;
	tmpflg1 = m_flag;
	tmpflg2 = m_flag;
	tmpflg3 = m_flag;

	string orifname,tagfname;
	get_ori_filename(orifname);
	get_tag_filename(tagfname);
	NextNDay(orifname, tagfname, m_pos, tmpflg1, date);

	if(this->m_SHzs)
	{
		get_ori_szzs_filename(orifname);
		get_tag_szzs_filename(tagfname);
		NextNDay(orifname, tagfname, m_pos_sh, tmpflg2, date);
	}
	
	if(this->m_SZcz)
	{
		get_ori_szcz_filename(orifname);
		get_tag_szcz_filename(tagfname);
		NextNDay(orifname, tagfname, m_pos_sz, tmpflg3, date);
	}

	m_flag = tmpflg1;
	
	char str[10];
	sprintf(str,"%d",date);
	m_Edit_Date.SetWindowText(str);

}

void CTDXdataProcessDlg::OnButtonOriPath() 
{
	char   szPath[MAX_PATH];  
	BROWSEINFO   br;  
	ITEMIDLIST   *pItem;  
	br.hwndOwner   =   this->GetSafeHwnd();  
	br.iImage   =   0;  
	br.pszDisplayName   =   0;  
	br.lParam   =   0;  
	br.lpfn   =   0;  
	br.lpszTitle   =   "請選擇路徑:";  
	br.pidlRoot   =   0;  
	br.ulFlags   =   BIF_RETURNONLYFSDIRS;  
	pItem   =   SHBrowseForFolder(&br);  
	if   (SHGetPathFromIDList(pItem,szPath)==TRUE)  
	{  
		m_Edit_OriPath.SetWindowText(szPath);  
		m_oripath = szPath;
	}   
	
}

void CTDXdataProcessDlg::OnButtonPath() 
{
	char   szPath[MAX_PATH];  
	BROWSEINFO   br;  
	ITEMIDLIST   *pItem;  
	br.hwndOwner   =   this->GetSafeHwnd();  
	br.iImage   =   0;  
	br.pszDisplayName   =   0;  
	br.lParam   =   0;  
	br.lpfn   =   0;  
	br.lpszTitle   =   "請選擇路徑:";  
	br.pidlRoot   =   0;  
	br.ulFlags   =   BIF_RETURNONLYFSDIRS;  
	pItem   =   SHBrowseForFolder(&br);  
	if   (SHGetPathFromIDList(pItem,szPath)==TRUE)  
	{  
		m_Edit_Path.SetWindowText(szPath);  
		m_tagpath = szPath;
	}   
}

void CTDXdataProcessDlg::OnOK() 
{
	;
}

void CTDXdataProcessDlg::OnMyOk() 
{
	CDialog::OnOK();
}


void CTDXdataProcessDlg::OnChangeDM() 
{
	UpdateData();
	
}

void CTDXdataProcessDlg::OnChangeDate() 
{
	UpdateData();
	m_day = atoi(m_date.GetBuffer(m_date.GetLength()));
}

void CTDXdataProcessDlg::load_ini()
{
	char buffer[_MAX_PATH]; 
	string tmp_str;
	
	string ini_path = "dataprocess.ini";
	ifstream infile(ini_path.c_str());
	while(infile.getline(buffer,_MAX_PATH))
	{
		tmp_str = buffer;
		if(tmp_str.length()>8)
		{
			if(tmp_str.substr(0,7) == "源路徑=")
			{
				m_oripath = tmp_str.substr(7,_MAX_PATH);
				m_Edit_OriPath.SetWindowText(m_oripath.c_str());  
			}
			else if(tmp_str.substr(0,9) == "目標路徑=")
			{
				m_tagpath = tmp_str.substr(9,_MAX_PATH);
				m_Edit_Path.SetWindowText(m_tagpath.c_str());  
			}
			else if(tmp_str.substr(0,9) == "股票代碼=")
			{
				m_strDM.Format("%s",tmp_str.substr(9,_MAX_PATH).c_str());
				m_Edit_DM.SetWindowText(tmp_str.substr(9,_MAX_PATH).c_str());
			}
			else if(tmp_str.substr(0,9) == "開始日期=")
			{
				m_date.Format("%s",tmp_str.substr(9,_MAX_PATH).c_str());
				m_Edit_Date.SetWindowText(tmp_str.substr(9,_MAX_PATH).c_str());
			}
			else
			{
				m_oripath = "";
				m_tagpath = "";
				m_strDM = "";
				m_date = "";
			}
		}
	}

	OnCheck3();
	OnCheck5();
}

void CTDXdataProcessDlg::save_ini()
{
	string tmp_str;
	
	string ini_path = "dataprocess.ini";
	ofstream is(ini_path.c_str());

	is << "源路徑=" << m_oripath.c_str() << endl;
	is << "目標路徑=" << m_tagpath.c_str() << endl;
	is << "股票代碼=" << m_strDM.GetBuffer(m_strDM.GetLength()) << endl;
	is << "開始日期=" << m_date.GetBuffer(m_date.GetLength()) << endl;

	is.close();
}

void CTDXdataProcessDlg::OnButtonClear() 
{
	string filename;
	get_tag_filename(filename);
	clear_data(filename);
	
	if(this->m_SHzs)
	{
		get_tag_szzs_filename(filename);
		clear_data(filename);
	}
	
	if(this->m_SZcz)
	{
		get_tag_szcz_filename(filename);
		clear_data(filename);
	}

	//清除后需重新定位
	m_flag = true;
}

int CTDXdataProcessDlg::get_ori_filename(string &filename)
{
	string tmp_file_name,tmp;
    
	//取路徑
	tmp = m_strDM;
	if(get_path_type(tmp))
	{
		tmp_file_name += m_path_add_sz;
	}
	else
	{
		tmp_file_name += m_path_add_sh;
	}
    tmp_file_name += m_strDM;
	tmp_file_name += ".day";
    filename = m_oripath + tmp_file_name;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美肥大bbwbbw高潮| 91在线观看美女| 日韩精品一区二区三区四区 | 91视视频在线观看入口直接观看www| 久久久亚洲国产美女国产盗摄 | 丰满放荡岳乱妇91ww| 国产欧美一区二区精品秋霞影院| 高清beeg欧美| 亚洲精品亚洲人成人网| 欧美日韩不卡一区二区| 男女性色大片免费观看一区二区 | 精品一区二区三区在线观看| 久久久激情视频| 成人丝袜高跟foot| 久久66热偷产精品| 久久先锋影音av| 成a人片亚洲日本久久| 亚洲一区欧美一区| 日韩一区二区不卡| 国产成人综合亚洲网站| 亚洲精品免费一二三区| 91精品在线免费观看| 国产成人免费高清| 亚洲一区二区免费视频| 精品乱码亚洲一区二区不卡| youjizz久久| 三级欧美在线一区| 中文字幕永久在线不卡| 欧美高清一级片在线| 处破女av一区二区| 午夜伦理一区二区| 国产精品理论片| 日韩三级视频在线观看| av亚洲精华国产精华精华 | 亚洲三级电影全部在线观看高清| 欧美日韩1区2区| 东方欧美亚洲色图在线| 性久久久久久久久久久久| 国产女人aaa级久久久级| 欧美丰满美乳xxx高潮www| 97国产一区二区| 国产一区二区三区电影在线观看| 一区二区三区在线免费观看| 国产亚洲精品精华液| 欧美狂野另类xxxxoooo| 色综合中文字幕国产| 免费观看在线综合| 一区二区三区久久| 国产精品每日更新在线播放网址| 91麻豆精品国产91久久久久久| 91性感美女视频| 国产激情视频一区二区三区欧美 | 91在线视频免费观看| 久久99热99| 首页国产欧美日韩丝袜| 亚洲三级在线看| 欧美国产丝袜视频| 2017欧美狠狠色| 日韩精品一区二区三区四区| 欧美日韩久久久一区| 日本丰满少妇一区二区三区| 成熟亚洲日本毛茸茸凸凹| 精品一区二区国语对白| 人人狠狠综合久久亚洲| 日韩福利电影在线观看| 亚洲一区二区黄色| 洋洋av久久久久久久一区| 亚洲色图在线播放| 国产精品福利一区| 国产精品久久影院| 国产精品福利影院| 中文字幕不卡三区| 国产精品色在线观看| 久久精品一二三| 国产午夜精品一区二区三区嫩草| 精品噜噜噜噜久久久久久久久试看 | 欧洲av一区二区嗯嗯嗯啊| 91天堂素人约啪| 在线免费观看日韩欧美| 在线一区二区三区四区五区| 色诱视频网站一区| 欧美日韩在线精品一区二区三区激情| 91啪亚洲精品| 91蜜桃在线观看| 欧美亚洲图片小说| 3atv在线一区二区三区| 日韩精品一区二区三区在线播放 | 欧美影片第一页| 欧美羞羞免费网站| 国产欧美综合色| 中文字幕在线不卡国产视频| 亚洲理论在线观看| 婷婷久久综合九色综合伊人色| 天天av天天翘天天综合网 | 精品国产乱码91久久久久久网站| 精品国产乱码久久久久久蜜臀| 久久久久国产成人精品亚洲午夜| 日本一区二区三区高清不卡| 中文字幕在线一区免费| 一区二区三区在线视频观看| 亚洲成人精品一区| 久久国内精品视频| 成人黄色免费短视频| 色婷婷综合激情| 日韩欧美亚洲国产另类| 欧美国产精品劲爆| 亚洲综合图片区| 美女网站色91| a级高清视频欧美日韩| 欧美日韩国产电影| 2023国产一二三区日本精品2022| 国产精品理论片| 婷婷综合另类小说色区| 国产成人免费视频网站 | 狠狠色丁香久久婷婷综合_中| 粗大黑人巨茎大战欧美成人| 欧美在线视频全部完| 久久亚洲一区二区三区明星换脸| 国产精品人人做人人爽人人添| 亚洲自拍都市欧美小说| 激情综合五月天| 在线观看日韩毛片| 久久久欧美精品sm网站| 亚洲男帅同性gay1069| 另类的小说在线视频另类成人小视频在线| 国产99精品国产| 欧美精品高清视频| 中文字幕欧美区| 男人操女人的视频在线观看欧美| 成人av综合一区| 精品日韩99亚洲| 亚洲一区二区欧美| www.欧美日韩国产在线| 日韩欧美亚洲国产精品字幕久久久 | av电影一区二区| 精品国产伦理网| 亚洲一本大道在线| 本田岬高潮一区二区三区| 欧美电影精品一区二区| 亚洲自拍偷拍av| av激情成人网| 国产欧美日本一区视频| 美女www一区二区| 欧美在线观看视频一区二区| 国产精品丝袜久久久久久app| 久久国产精品99精品国产| 欧美一a一片一级一片| 国产精品理伦片| 懂色av中文一区二区三区| 欧美成人精品福利| 日日夜夜精品视频免费| 在线观看日韩毛片| 亚洲欧美激情一区二区| 成人动漫中文字幕| 国产欧美久久久精品影院| 精品一二线国产| 日韩一区二区免费电影| 日韩成人av影视| 欧美一区二区视频在线观看| 亚洲国产aⅴ天堂久久| 欧美在线免费观看视频| 亚洲欧美日韩国产综合| 波多野结衣中文字幕一区| 国产精品午夜在线观看| 高清不卡在线观看av| 国产欧美日韩在线| 国产精品中文有码| 欧美精品一区二区高清在线观看| 老司机精品视频在线| 日韩视频免费直播| 久久国产人妖系列| 精品国产在天天线2019| 蜜臀精品久久久久久蜜臀| 欧美一区二区久久久| 日本不卡不码高清免费观看| 欧美一区日韩一区| 久久国产精品第一页| 久久午夜色播影院免费高清| 国产精品123区| 国产精品私房写真福利视频| 99精品视频在线播放观看| 亚洲永久精品国产| 7777精品伊人久久久大香线蕉最新版 | 欧美日本不卡视频| 麻豆91精品91久久久的内涵| 精品国产91乱码一区二区三区| 国产一区 二区| 国产精品久久毛片av大全日韩| 91在线观看一区二区| 亚洲成在人线免费| 欧美变态tickle挠乳网站| 久久99久久99| 国产精品剧情在线亚洲| 在线看国产一区二区| 毛片av一区二区| 国产精品色哟哟| 欧美色男人天堂| 国产永久精品大片wwwapp| 成人免费一区二区三区在线观看| 欧美三级日韩三级国产三级|