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

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

?? stock.cpp

?? 股票軟件
?? CPP
?? 第 1 頁 / 共 3 頁
字號:
/*
	Cross Platform Core Code.

	Copyright(R) 2001-2002 Balang Software.
	All rights reserved.

	Using:
		class	CStock;
*/

#include	"StdAfx.h"
#include	"Stock.h"
#include	"Database.h"

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

#ifdef	_DEBUG
#define	new	DEBUG_NEW
#endif

#ifndef	_SP_ENABLE_INLINES
#define	_STOCK_INLINE
#include "Stock.inl"
#undef	_STOCK_INLINE
#endif //_SP_ENABLE_INLINES


//////////////////////////////////////////////////////////////////////
//	class	CStockInfo

CStockInfo::CStockInfo( )
{
	Clear( );
}

CStockInfo::CStockInfo( const CStockInfo &src )
{
	Clear( );
	*this	=	src;
}

void CStockInfo::Clear( )
{
	m_dwMarket	=	CStock::marketUnknown;
	memset( m_szCode, 0, sizeof(m_szCode) );

	m_type	=	CStock::typeNone;
	memset( m_szName, 0, sizeof(m_szName) );
	memset( m_szNameEnu, 0, sizeof(m_szNameEnu) );
	memset( m_szShortname, 0, sizeof(m_szShortname) );

	memset( m_szDomain, 0, sizeof(m_szDomain) );
	memset( m_szProvince, 0, sizeof(m_szProvince) );

	m_kdata.RemoveAll();
	m_kdata.SetKType(CKData::ktypeDay);
	m_basedata.RemoveAll();
	m_minute.RemoveAll();
	memset( &m_reportLatest, 0, sizeof(m_reportLatest) );

	m_datetech		=	0;

	m_fLast			=	0;
	m_fOpen			=	0;
	m_fHigh			=	0;
	m_fLow			=	0;
	m_fClose		=	0;
	m_fVolume		=	0;
	m_fAmount		=	0;
	m_dwAdvance		=	0;
	m_dwDecline		=	0;


	memset( m_fBuyPrice, 0, sizeof(m_fBuyPrice) );
	memset( m_fBuyVolume, 0, sizeof(m_fBuyVolume) );
	memset( m_fSellPrice, 0, sizeof(m_fSellPrice) );
	memset( m_fSellVolume, 0, sizeof(m_fSellVolume) );

	// base data
	m_datebase				=	0;
	m_reporttype			=	0;
	m_fErate_dollar			=	(float)8.27;
	m_fErate_hkdollar		=	(float)1.06;
	
	m_fRatio_liquidity		=	0;
	m_fRatio_quick			=	0;
	m_fVelocity_receivables	=	0;
	
	m_fVelocity_merchandise	=	0;
	m_fMain_income			=	0;
	m_fCash_ps				=	0;
	
	m_fProfit_margin		=	0;
	m_fNetasset_yield		=	0;
	
	m_datebegin				=	0;
	m_fShare_count_total	=	0;
	m_fShare_count_a		=	0;
	m_fShare_count_b		=	0;
	m_fShare_count_h		=	0;
	m_fShare_count_national	=	0;
	m_fShare_count_corp		=	0;
	m_fProfit_psud			=	0;
	m_fAsset				=	0;
	m_fRatio_holderright	=	0;
	m_fRatio_longdebt		=	0;
	m_fRatio_debt			=	0;
	
	m_fNetasset_ps			=	0;
	m_fNetasset_ps_regulate	=	0;
	m_fEps					=	0;
	m_fEps_deduct			=	0;
	m_fNet_profit			=	0;
	m_fMain_profit			=	0;
	m_fTotal_profit			=	0;

	m_fProfit_inc			=	0;
	m_fIncome_inc			=	0;
	m_fAsset_inc			=	0;
	m_fYield_average		=	(float) STKLIB_DATA_INVALID;
	m_fYield_stddev			=	(float) STKLIB_DATA_INVALID;
	m_fBeite				=	(float) STKLIB_DATA_INVALID;
}

CStockInfo &CStockInfo::operator = ( const CStockInfo & si )
{
	m_dwMarket			=	si.m_dwMarket;
	memcpy( m_szCode, si.m_szCode, sizeof(m_szCode) );

	m_type	=	si.m_type;

	memcpy( m_szName, si.m_szName, sizeof(m_szName) );
	memcpy( m_szNameEnu, si.m_szNameEnu, sizeof(m_szNameEnu) );
	memcpy( m_szShortname, si.m_szShortname, sizeof(m_szShortname) );

	memcpy( m_szDomain, si.m_szDomain, sizeof(m_szDomain) );
	memcpy( m_szProvince, si.m_szProvince, sizeof(m_szProvince) );

	m_kdata			=	si.m_kdata;
	m_basedata		=	si.m_basedata;
	m_minute		=	si.m_minute;
	m_reportLatest	=	si.m_reportLatest;

	m_datetech		=	si.m_datetech;

	m_fLast			=	si.m_fLast;
	m_fOpen			=	si.m_fOpen;
	m_fHigh			=	si.m_fHigh;
	m_fLow			=	si.m_fLow;
	m_fClose		=	si.m_fClose;
	m_fVolume		=	si.m_fVolume;
	m_fAmount		=	si.m_fAmount;
	m_dwAdvance		=	si.m_dwAdvance;
	m_dwDecline		=	si.m_dwDecline;


	memcpy( m_fBuyPrice, si.m_fBuyPrice, sizeof(m_fBuyPrice) );
	memcpy( m_fBuyVolume, si.m_fBuyVolume, sizeof(m_fBuyVolume) );
	memcpy( m_fSellPrice, si.m_fSellPrice, sizeof(m_fSellPrice) );
	memcpy( m_fSellVolume, si.m_fSellVolume, sizeof(m_fSellVolume) );

	// base data
	m_datebase				=	si.m_datebase;
	m_reporttype			=	si.m_reporttype;
	m_fErate_dollar			=	si.m_fErate_dollar;
	m_fErate_hkdollar		=	si.m_fErate_hkdollar;

	m_fRatio_liquidity		=	si.m_fRatio_liquidity;
	m_fRatio_quick			=	si.m_fRatio_quick;
	m_fVelocity_receivables	=	si.m_fVelocity_receivables;
	
	m_fVelocity_merchandise	=	si.m_fVelocity_merchandise;
	m_fMain_income			=	si.m_fMain_income;
	m_fCash_ps				=	si.m_fCash_ps;
	
	m_fProfit_margin		=	si.m_fProfit_margin;
	m_fNetasset_yield		=	si.m_fNetasset_yield;
	
	m_datebegin				=	si.m_datebegin;
	m_fShare_count_total	=	si.m_fShare_count_total;
	m_fShare_count_a		=	si.m_fShare_count_a;
	m_fShare_count_b		=	si.m_fShare_count_b;
	m_fShare_count_h		=	si.m_fShare_count_h;
	m_fShare_count_national	=	si.m_fShare_count_national;
	m_fShare_count_corp		=	si.m_fShare_count_corp;
	m_fProfit_psud			=	si.m_fProfit_psud;
	m_fAsset				=	si.m_fAsset;
	m_fRatio_holderright	=	si.m_fRatio_holderright;
	m_fRatio_longdebt		=	si.m_fRatio_longdebt;
	m_fRatio_debt			=	si.m_fRatio_debt;
	
	m_fNetasset_ps			=	si.m_fNetasset_ps;
	m_fNetasset_ps_regulate	=	si.m_fNetasset_ps_regulate;
	m_fEps					=	si.m_fEps;
	m_fEps_deduct			=	si.m_fEps_deduct;
	m_fNet_profit			=	si.m_fNet_profit;
	m_fMain_profit			=	si.m_fMain_profit;
	m_fTotal_profit			=	si.m_fTotal_profit;

	m_fProfit_inc			=	si.m_fProfit_inc;
	m_fIncome_inc			=	si.m_fIncome_inc;
	m_fAsset_inc			=	si.m_fAsset_inc;
	m_fYield_average		=	si.m_fYield_average;
	m_fYield_stddev			=	si.m_fYield_stddev;
	m_fBeite				=	si.m_fBeite;

	return *this;
}

BOOL CStockInfo::IsEqualTo( DWORD dwMarket, const char * szCode )
{
	if( m_dwMarket == dwMarket
		|| CStock::marketUnknown == dwMarket || CStock::marketUnknown == m_dwMarket
		|| 0 == dwMarket || 0 == m_dwMarket )
	{
		if( szCode && 0 == strcmp(szCode,m_szCode) )
			return TRUE;
	}
	if( CStock::marketCHNA == m_dwMarket
		&& ( CStock::marketCHNA == dwMarket || CStock::marketSHSE == dwMarket || CStock::marketSZSE == dwMarket || CStock::marketCYSE == dwMarket ) )
	{
		if( szCode && 0 == strcmp(szCode,m_szCode) )
			return TRUE;
	}
	if( CStock::marketCHNA == dwMarket
		&& ( CStock::marketCHNA == m_dwMarket || CStock::marketSHSE == m_dwMarket || CStock::marketSZSE == m_dwMarket || CStock::marketCYSE == m_dwMarket ) )
	{
		if( szCode && 0 == strcmp(szCode,m_szCode) )
			return TRUE;
	}

	return FALSE;
}

DWORD CStockInfo::GetMarket( )
{
	return m_dwMarket;
}

void CStockInfo::SetMarket( DWORD dwMarket )
{
	m_dwMarket	=	dwMarket;
	if( CStock::marketSHSE == dwMarket )
		m_type	|=	CStock::markShanghai;
	if( CStock::marketSZSE == dwMarket )
		m_type	|=	CStock::markShenzhen;
}

void CStockInfo::ResolveTypeAndMarket( )
{
	CStockInfo	info;
	if( AfxGetStockContainer().GetStockInfo( m_szCode, &info )
		&& CStock::typeNone != info.GetType()
		&& CStock::marketUnknown != info.GetMarket() )
	{
		if( CStock::typeNone == m_type )
			m_type = info.GetType();
		if( CStock::marketUnknown == m_dwMarket )
			m_dwMarket = info.GetMarket();
		return;
	}

	long	type = CStock::typeNone;
	DWORD	dwMarket = CStock::marketUnknown;
	if( strlen(m_szCode) > 0 )
	{
		if( strcmp(m_szCode,"000001") >= 0 && strcmp(m_szCode,"000999") <= 0 )		// 深圳A股
		{	type = CStock::typeszA;			dwMarket = CStock::marketSZSE;	}
		else if( strcmp(m_szCode,"002001") >= 0 && strcmp(m_szCode,"002999") <= 0 )	// 深圳中小企業
		{	type = CStock::typeszMsmall;			dwMarket = CStock::marketSZSE;	}
		else if( strcmp(m_szCode,"200001") >= 0 && strcmp(m_szCode,"200999") <= 0 )	// 深圳B股
		{	type = CStock::typeszB;			dwMarket = CStock::marketSZSE;	}
		else if( strncmp(m_szCode,"600",3) == 0 )	// 上海A股
		{	type = CStock::typeshA;			dwMarket = CStock::marketSHSE;	}
		else if( strncmp(m_szCode,"500",3) == 0 )	// 上海基金
		{	type = CStock::typeshA;			dwMarket = CStock::marketSHSE;	}
		else if( strncmp(m_szCode,"900",3) == 0 )	// 上海B股
		{	type = CStock::typeshB;			dwMarket = CStock::marketSHSE;	}

		else if( strcmp(m_szCode,"001001") >= 0 && strcmp(m_szCode,"001199") <= 0 )	// 深圳企業債券
		{	type = CStock::typeszBond;		dwMarket = CStock::marketSZSE;	}
		else if( strcmp(m_szCode,"001200") >= 0 && strcmp(m_szCode,"001899") <= 0 )	// 深圳國債回購
		{	type = CStock::typeszBond;		dwMarket = CStock::marketSZSE;	}
		else if( strcmp(m_szCode,"001900") >= 0 && strcmp(m_szCode,"001999") <= 0 )	// 深圳國債現貨
		{	type = CStock::typeszBond;		dwMarket = CStock::marketSZSE;	}
		else if( strcmp(m_szCode,"030001") >= 0 && strcmp(m_szCode,"038999") <= 0 )	// 深圳A股權證
		{	type = CStock::typeszRight;		dwMarket = CStock::marketSZSE;	}
		else if( strcmp(m_szCode,"003001") >= 0 && strcmp(m_szCode,"003999") <= 0 )	// 深圳轉配認購
		{	type = CStock::typeszAdmeasure;	dwMarket = CStock::marketSZSE;	}
		else if( strcmp(m_szCode,"009001") >= 0 && strcmp(m_szCode,"009999") <= 0 )	// 深圳新股配售
		{	type = CStock::typeszAdmeasure;	dwMarket = CStock::marketSZSE;	}
		else if( strcmp(m_szCode,"005001") >= 0 && strcmp(m_szCode,"005999") <= 0 )	// 深圳可轉換債券
		{	type = CStock::typeszBond;		dwMarket = CStock::marketSZSE;	}
		else if( strcmp(m_szCode,"006001") >= 0 && strcmp(m_szCode,"006999") <= 0 )	// 深圳國債期貨
		{	type = CStock::typeszBond;		dwMarket = CStock::marketSZSE;	}
		else if( strcmp(m_szCode,"004601") >= 0 && strcmp(m_szCode,"004699") <= 0 )	// 深圳證券投資基金
		{	type = CStock::typeszA;			dwMarket = CStock::marketSZSE;	}
		else if( strcmp(m_szCode,"008001") >= 0 && strcmp(m_szCode,"008999") <= 0 )	// 深圳配股認購
		{	type = CStock::typeszAdmeasure;	dwMarket = CStock::marketSZSE;	}

		else if( strncmp(m_szCode,"001",3) == 0 )	// 上海國債現貨
		{	type = CStock::typeshBond;		dwMarket = CStock::marketSHSE;	}
		else if( strncmp(m_szCode,"110",3) == 0 || strncmp(m_szCode,"120",3) == 0 )	// 上海企業債券
		{	type = CStock::typeshBond;		dwMarket = CStock::marketSHSE;	}
		else if( strncmp(m_szCode,"310",3) == 0 )	// 上海國債期貨
		{	type = CStock::typeshBond;		dwMarket = CStock::marketSHSE;	}
		else if( strncmp(m_szCode,"580",3) == 0 )	// 上海A股權證
		{	type = CStock::typeshRight;		dwMarket = CStock::marketSHSE;	}
		else if( strncmp(m_szCode,"710",3) == 0 )	// 上海轉配股
		{	type = CStock::typeshAdmeasure;	dwMarket = CStock::marketSHSE;	}
		else if( strncmp(m_szCode,"711",3) == 0 )	// 上海轉配股再轉配股
		{	type = CStock::typeshAdmeasure;	dwMarket = CStock::marketSHSE;	}
		else if( strncmp(m_szCode,"730",3) == 0 )	// 上海新股申購
		{	type = CStock::typeshAdmeasure;	dwMarket = CStock::marketSHSE;	}
		else if( strncmp(m_szCode,"737",3) == 0 )	// 上海新股配售
		{	type = CStock::typeshAdmeasure;	dwMarket = CStock::marketSHSE;	}
		else if( strncmp(m_szCode,"201",3) == 0 )	// 上海國債回購	
		{	type = CStock::typeshBond;		dwMarket = CStock::marketSHSE;	}
		else if( strncmp(m_szCode,"129",3) == 0 || strncmp(m_szCode,"100",3) == 0 )	// 上海可轉換債券
		{	type = CStock::typeshBond;		dwMarket = CStock::marketSHSE;	}
		else if( strncmp(m_szCode,"700",3) == 0 )	// 上海配股
		{	type = CStock::typeshAdmeasure;	dwMarket = CStock::marketSHSE;	}
		else if( strncmp(m_szCode,"701",3) == 0 )	// 上海轉配股再配股
		{	type = CStock::typeshAdmeasure;	dwMarket = CStock::marketSHSE;	}
		else if( strncmp(m_szCode,"720",3) == 0 )	// 上海紅利
		{	type = CStock::typeshBonus;		dwMarket = CStock::marketSHSE;	}
		else if( strncmp(m_szCode,"735",3) == 0 )	// 上海新基金申購
		{	type = CStock::typeshAdmeasure;	dwMarket = CStock::marketSHSE;	}
	}

	if( CStock::typeNone == m_type )
		m_type		= type;
	if( CStock::marketUnknown == m_dwMarket )
		m_dwMarket	= dwMarket;
}

const char * CStockInfo::GetStockCode( )
{
	return m_szCode;
}

BOOL CStockInfo::SetStockCode( DWORD dwMarket, const char * szCode )
{
	if( NULL == szCode || strlen(szCode) <= 0 )
	{
		Clear();
		return FALSE;
	}

	if( IsEqualTo( dwMarket, szCode ) )
	{
		if( dwMarket != CStock::marketUnknown )
			m_dwMarket	=	dwMarket;
		return IsValidStock();
	}

	Clear( );

	m_dwMarket	=	dwMarket;
	memset(m_szCode, 0, sizeof(m_szCode) );
	strncpy( m_szCode, szCode, min(sizeof(m_szCode)-1,strlen(szCode)) );
	ResolveTypeAndMarket();
	return IsValidStock();
}

LONG CStockInfo::GetType( )
{
	return m_type;
}

void CStockInfo::SetType( LONG t )
{
	m_type	=	t;

	if( CStock::marketUnknown == m_dwMarket )
	{
		if( IsShenZhen() )
			m_dwMarket	=	CStock::marketSZSE;
		if( IsShangHai() )
			m_dwMarket	=	CStock::marketSHSE;
	}
}

const char * CStockInfo::GetStockName( )
{
#ifdef	CLKLAN_ENGLISH_US
	if( strlen(m_szNameEnu) > 0 )
		return m_szNameEnu;
	if( strlen(m_szName) > 0 )
	{
		if( AfxIsEnglish(m_szName,sizeof(m_szName)) )
			return m_szName;
		else
		{
			CSPString sTemp = AfxFaintlyChsToEnu( m_szName );
			sTemp = AfxMakeSpellCode( sTemp );
			strncpy( m_szNameEnu, sTemp, min(sizeof(m_szNameEnu)-1,sTemp.GetLength()) );
			return m_szNameEnu;
		}
	}
	if( strlen(m_szShortname) > 0 && AfxIsEnglish(m_szShortname,sizeof(m_szShortname))
		&& sizeof(m_szNameEnu) > strlen(m_szCode)+strlen(m_szShortname)+1 )
	{
		sprintf( m_szNameEnu, "%s-%s", m_szCode, m_szShortname );
		return m_szNameEnu;
	}
	return m_szCode;
#else
	return m_szName;
#endif
}

void CStockInfo::SetStockName( const char * szName )
{
	memset(m_szName, 0, sizeof(m_szName) );
	if( NULL == szName )
		return;
	strncpy( m_szName, szName, min(sizeof(m_szName)-1,strlen(szName)) );
}

const char * CStockInfo::GetStockNameEnu( )
{
	return m_szNameEnu;
}

void CStockInfo::SetStockNameEnu( const char *szNameEnu )
{
	memset(m_szNameEnu, 0, sizeof(m_szNameEnu) );
	if( NULL == szNameEnu )
		return;
	strncpy( m_szNameEnu, szNameEnu, min(sizeof(m_szNameEnu)-1,strlen(szNameEnu)) );
}

const char * CStockInfo::GetStockNameChs( )
{
	return m_szName;
}

void CStockInfo::SetStockNameChs( const char *szName )
{
	memset(m_szName, 0, sizeof(m_szName) );
	if( NULL == szName )
		return;
	strncpy( m_szName, szName, min(sizeof(m_szName)-1,strlen(szName)) );
}

const char * CStockInfo::GetStockShortName( )
{
	if( strlen(m_szShortname) <= 0 )
	{
		CSPString sName = m_szName;
		CSPString sTemp = AfxMakeSpellCode( sName, 0x0 );
		strncpy( m_szShortname, sTemp, min(sizeof(m_szShortname)-1,sTemp.GetLength()) );
	}
	return m_szShortname;
}

void CStockInfo::SetStockShortName( const char *szShortName )
{
	memset(m_szShortname, 0, sizeof(m_szShortname) );
	if( NULL == szShortName )
		return;
	strncpy( m_szShortname, szShortName, min(sizeof(m_szShortname)-1,strlen(szShortName)) );
}

const char * CStockInfo::GetStockDomain( )
{
#ifdef	CLKLAN_ENGLISH_US
	if( !AfxIsEnglish(m_szDomain,sizeof(m_szDomain)) )
	{
		CSPString sTemp = AfxFaintlyChsToEnu( m_szDomain );
		memset( m_szDomain, 0, sizeof(m_szDomain) );
		if( AfxIsEnglish(sTemp,sTemp.GetLength()) )
			strncpy( m_szDomain, sTemp, min(sizeof(m_szDomain)-1,sTemp.GetLength()) );
	}
	return m_szDomain;
#else
	return m_szDomain;
#endif
}

void CStockInfo::SetStockDomain( const char * szDomain )
{
	memset(m_szDomain, 0, sizeof(m_szDomain) );
	if( NULL == szDomain )
		return;
	strncpy( m_szDomain, szDomain, min(sizeof(m_szDomain)-1,strlen(szDomain)) );
}

const char * CStockInfo::GetStockProvince( )
{
#ifdef	CLKLAN_ENGLISH_US
	if( !AfxIsEnglish(m_szProvince,sizeof(m_szProvince)) )
	{
		CSPString sTemp = AfxFaintlyChsToEnu( m_szProvince );
		sTemp = AfxMakeSpellCode( sTemp );
		memset( m_szProvince, 0, sizeof(m_szProvince) );
		strncpy( m_szProvince, sTemp, min(sizeof(m_szProvince)-1,sTemp.GetLength()) );
	}
	return m_szProvince;
#else
	return m_szProvince;
#endif
}

void CStockInfo::SetStockProvince( const char * szProvince )
{
	memset(m_szProvince, 0, sizeof(m_szProvince) );
	if( NULL == szProvince )
		return;
	strncpy( m_szProvince, szProvince, min(sizeof(m_szProvince)-1,strlen(szProvince)) );
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91同城在线观看| 在线观看日韩av先锋影音电影院| 国产一区二区三区在线观看免费 | 色婷婷精品久久二区二区蜜臀av| 99国产精品国产精品久久| 色88888久久久久久影院按摩 | 亚洲成a人在线观看| 久久精品久久久精品美女| 国产美女av一区二区三区| 欧美一区二区精品久久911| 日韩你懂的电影在线观看| 国产精品理伦片| 日韩国产精品久久| jlzzjlzz亚洲女人18| 日韩一级在线观看| 亚洲精品五月天| 亚洲一区成人在线| 国产精品一区二区不卡| 欧美日韩久久久一区| 国产精品麻豆视频| 激情六月婷婷综合| 在线观看视频一区| 欧美激情一区二区| 精品一区二区三区视频在线观看 | 国产精品无人区| 日本不卡一区二区| 欧美视频一区在线| 综合久久给合久久狠狠狠97色| 国产成人精品aa毛片| 国产风韵犹存在线视精品| 欧美一卡二卡在线| 男男视频亚洲欧美| 日韩欧美国产三级| 久久99精品久久久| 久久久精品欧美丰满| 国产一区二区三区日韩| 久久久午夜精品理论片中文字幕| 久久99国产精品尤物| 久久影音资源网| 国产91在线看| 日韩一区中文字幕| 欧美这里有精品| 亚洲成av人综合在线观看| 欧美久久婷婷综合色| 麻豆精品一区二区三区| 久久影音资源网| av成人免费在线| 亚洲黄网站在线观看| 欧美精选一区二区| 国产一区二区视频在线| 国产精品久久久久一区二区三区 | 国产精品五月天| 色婷婷综合中文久久一本| 亚洲一区二区高清| 日韩精品一区二区三区老鸭窝| 国产成都精品91一区二区三| 亚洲欧美国产三级| 欧美电影精品一区二区| 成人免费观看av| 亚洲国产精品久久一线不卡| 日韩美女天天操| 91色九色蝌蚪| 日本在线播放一区二区三区| 国产欧美久久久精品影院| 在线视频一区二区免费| 狠狠色丁香婷婷综合久久片| 中文字幕日本乱码精品影院| 在线观看91av| 91丨porny丨国产| 麻豆成人av在线| 亚洲视频免费观看| 精品国精品国产| 91国产免费观看| 国产寡妇亲子伦一区二区| 亚洲精品国产精品乱码不99| 欧美精品一区二区久久婷婷| 在线观看亚洲一区| 国产成人一区在线| 日韩av中文在线观看| 国产精品盗摄一区二区三区| 91精品国产免费久久综合| jlzzjlzz亚洲日本少妇| 久久精品久久精品| 亚洲成a人片在线观看中文| 国产精品国产自产拍高清av王其| 日韩写真欧美这视频| 色婷婷av一区| 豆国产96在线|亚洲| 精品一区二区免费| 无码av免费一区二区三区试看| 欧美国产精品中文字幕| 精品久久五月天| 欧美日韩你懂的| 欧美在线免费观看亚洲| 成人精品免费看| 国产综合久久久久久鬼色| 日日夜夜精品视频天天综合网| 国产精品嫩草影院com| 久久免费美女视频| 日韩亚洲欧美一区| 日韩一区二区电影网| 欧美军同video69gay| 欧洲生活片亚洲生活在线观看| 成人免费视频app| 国产成人自拍在线| 国产精品1区2区| 国产99久久精品| 国产电影一区二区三区| 国产一区二区三区四区五区美女| 久久99精品一区二区三区 | 理论电影国产精品| 免费精品视频最新在线| 视频一区二区中文字幕| 亚州成人在线电影| 一区二区三区久久| 亚洲国产精品久久艾草纯爱| 亚洲在线视频一区| 亚洲一区二区三区美女| 亚洲综合清纯丝袜自拍| 亚洲成av人影院| 日韩国产精品大片| 精品亚洲porn| 岛国一区二区三区| 色哟哟一区二区| 欧美日韩高清一区二区不卡| 欧美久久久久久蜜桃| 日韩欧美在线123| 久久综合久久鬼色| 国产精品久久久久久户外露出| 亚洲图片激情小说| 亚洲3atv精品一区二区三区| 免费观看在线综合色| 国产高清无密码一区二区三区| 不卡av在线免费观看| 欧美偷拍一区二区| 日韩久久免费av| 国产精品家庭影院| 日韩不卡免费视频| 国产福利视频一区二区三区| 色综合久久久久网| 日韩一区二区免费在线电影| 久久久久久久久久久99999| 国产精品久久国产精麻豆99网站| 亚洲综合色在线| 国产在线精品一区二区| 91丨九色丨尤物| 精品国精品自拍自在线| 亚洲品质自拍视频| 精品中文字幕一区二区| 99国产精品久久久久| 欧美一级电影网站| 亚洲视频一二三区| 久久精品99国产精品| 91农村精品一区二区在线| 欧美高清精品3d| 中文字幕制服丝袜一区二区三区| 午夜在线电影亚洲一区| 成人免费精品视频| 欧美va在线播放| 亚洲成人动漫在线观看| 国产成人精品1024| 在线不卡中文字幕播放| 国产精品日日摸夜夜摸av| 日韩中文字幕麻豆| 972aa.com艺术欧美| 久久在线观看免费| 天天操天天色综合| 在线看不卡av| 国产精品视频在线看| 蜜桃视频免费观看一区| 色狠狠一区二区三区香蕉| 精品国产一区二区精华| 午夜精品一区二区三区三上悠亚| 99久久精品国产导航| 久久久激情视频| 麻豆视频一区二区| 91麻豆精品国产91久久久资源速度| 国产精品嫩草99a| 精品中文字幕一区二区小辣椒| 欧美精品亚洲二区| 一区二区三区四区视频精品免费| 成人一道本在线| 久久久久国色av免费看影院| 捆绑紧缚一区二区三区视频| 欧美精品在欧美一区二区少妇| 亚洲国产一区二区在线播放| 91丨九色丨尤物| 亚洲欧美激情一区二区| 99免费精品视频| 国产精品麻豆视频| 99天天综合性| 亚洲人123区| 色综合久久中文字幕综合网| 中文字幕色av一区二区三区| a4yy欧美一区二区三区| 日韩理论在线观看| 色综合咪咪久久| 亚洲成人动漫在线免费观看| 欧美日韩激情在线| 美女脱光内衣内裤视频久久网站 |