QDateTime在autoexp.dat中的设置

阅读更多

在前面的文章 中,讲解了如何编辑autoexp.dat方便调试的时候可以可视化变量的值。

这里再给出一个例子,QDateTime在Qt的安装包里没有的。

 

QDateTime|*::QDateTime{
	preview
	(
		#(
			"ref=",[((QAtomicInt*)($e.d.d))->_q_value,d],
			[(QDate*)((int)($e.d.d)+4)]," "
			[(QTime*)((int)($e.d.d)+8)]
		)
	)
	children
	(
		#(
			[ref]:[(QAtomicInt*)($e.d.d)],
			[date]:[(QDate*)((int)($e.d.d)+4)],
			[time]:[(QTime*)((int)($e.d.d)+8)]
		)
	)
}

 QDate也是没有的,但是比较复杂。

 

QDate|*::QDate{
	preview  
	( 
		#if ($e.jd < 2299161)(
			#if( (((4 * ($e.jd + 32082) + 3) / 1461) - 4800 + ((((5 * (($e.jd + 32082) - (1461 * ((4 * ($e.jd + 32082) + 3) / 1461)) / 4)) + 2) / 153) / 10)) > 0)(
				#(
					"year=",[((4 * ($e.jd + 32082) + 3) / 1461) - 4800 + ((((5 * (($e.jd + 32082) - (1461 * ((4 * ($e.jd + 32082) + 3) / 1461)) / 4)) + 2) / 153) / 10),d],
					", month=",[(((5 * (($e.jd + 32082) - (1461 * ((4 * ($e.jd + 32082) + 3) / 1461)) / 4)) + 2) / 153) + 3 - 12 * ((((5 * (($e.jd + 32082) - (1461 * ((4 * ($e.jd + 32082) + 3) / 1461)) / 4)) + 2) / 153) / 10),d],
					", day=",[(($e.jd + 32082) - (1461 * ((4 * ($e.jd + 32082) + 3) / 1461)) / 4) - (153 * (((5 * (($e.jd + 32082) - (1461 * ((4 * ($e.jd + 32082) + 3) / 1461)) / 4)) + 2) / 153) + 2) / 5 + 1,d]
				)
			)
			#else(
				#(
					"year=",[((4 * ($e.jd + 32082) + 3) / 1461) - 4800 + ((((5 * (($e.jd + 32082) - (1461 * ((4 * ($e.jd + 32082) + 3) / 1461)) / 4)) + 2) / 153) / 10)-1,d],
					", month=",[(((5 * (($e.jd + 32082) - (1461 * ((4 * ($e.jd + 32082) + 3) / 1461)) / 4)) + 2) / 153) + 3 - 12 * ((((5 * (($e.jd + 32082) - (1461 * ((4 * ($e.jd + 32082) + 3) / 1461)) / 4)) + 2) / 153) / 10),d],
					", day=",[(($e.jd + 32082) - (1461 * ((4 * ($e.jd + 32082) + 3) / 1461)) / 4) - (153 * (((5 * (($e.jd + 32082) - (1461 * ((4 * ($e.jd + 32082) + 3) / 1461)) / 4)) + 2) / 153) + 2) / 5 + 1,d]
				)
			)	
		)		
		#else(
			#(
				"year=",[100 * (((4 * ($e.jd + 68569)) / 146097) - 49) + ((4000 * (($e.jd + 68569 - (146097 * ((4 * ($e.jd + 68569)) / 146097) + 3) / 4) + 1)) / 1461001) + ((80 * (($e.jd + 68569 - (146097 * ((4 * ($e.jd + 68569)) / 146097) + 3) / 4) - (1461 * ((4000 * (($e.jd + 68569 - (146097 * ((4 * ($e.jd + 68569)) / 146097) + 3) / 4) + 1)) / 1461001)) / 4 + 31)) / 2447) / 11,d],
				", month=",[(80 * (($e.jd + 68569 - (146097 * ((4 * ($e.jd + 68569)) / 146097) + 3) / 4) - (1461 * ((4000 * (($e.jd + 68569 - (146097 * ((4 * ($e.jd + 68569)) / 146097) + 3) / 4) + 1)) / 1461001)) / 4 + 31)) / 2447 + 2 - (12 * (((80 * (($e.jd + 68569 - (146097 * ((4 * ($e.jd + 68569)) / 146097) + 3) / 4) - (1461 * ((4000 * (($e.jd + 68569 - (146097 * ((4 * ($e.jd + 68569)) / 146097) + 3) / 4) + 1)) / 1461001)) / 4 + 31)) / 2447) / 11)),d],
				", day=",[(($e.jd + 68569 - (146097 * ((4 * ($e.jd + 68569)) / 146097) + 3) / 4) - (1461 * ((4000 * (($e.jd + 68569 - (146097 * ((4 * ($e.jd + 68569)) / 146097) + 3) / 4) + 1)) / 1461001)) / 4 + 31) - (2447 * ((80 * (($e.jd + 68569 - (146097 * ((4 * ($e.jd + 68569)) / 146097) + 3) / 4) - (1461 * ((4000 * (($e.jd + 68569 - (146097 * ((4 * ($e.jd + 68569)) / 146097) + 3) / 4) + 1)) / 1461001)) / 4 + 31)) / 2447)) / 80,d]
			)
		)
	)
	children 
	(
		#if ($e.jd < 2299161)(
			#if( (((4 * ($e.jd + 32082) + 3) / 1461) - 4800 + ((((5 * (($e.jd + 32082) - (1461 * ((4 * ($e.jd + 32082) + 3) / 1461)) / 4)) + 2) / 153) / 10)) > 0)			(
				#(
					[year]:[((4 * ($e.jd + 32082) + 3) / 1461) - 4800 + ((((5 * (($e.jd + 32082) - (1461 * ((4 * ($e.jd + 32082) + 3) / 1461)) / 4)) + 2) / 153) / 10),d],
					[month]:[(((5 * (($e.jd + 32082) - (1461 * ((4 * ($e.jd + 32082) + 3) / 1461)) / 4)) + 2) / 153) + 3 - 12 * ((((5 * (($e.jd + 32082) - (1461 * ((4 * ($e.jd + 32082) + 3) / 1461)) / 4)) + 2) / 153) / 10),d],
					[day]:[(($e.jd + 32082) - (1461 * ((4 * ($e.jd + 32082) + 3) / 1461)) / 4) - (153 * (((5 * (($e.jd + 32082) - (1461 * ((4 * ($e.jd + 32082) + 3) / 1461)) / 4)) + 2) / 153) + 2) / 5 + 1,d]
				)
			)
			#else(
				#(
					[year]:[((4 * ($e.jd + 32082) + 3) / 1461) - 4800 + ((((5 * (($e.jd + 32082) - (1461 * ((4 * ($e.jd + 32082) + 3) / 1461)) / 4)) + 2) / 153) / 10)-1,d],
					[month]:[(((5 * (($e.jd + 32082) - (1461 * ((4 * ($e.jd + 32082) + 3) / 1461)) / 4)) + 2) / 153) + 3 - 12 * ((((5 * (($e.jd + 32082) - (1461 * ((4 * ($e.jd + 32082) + 3) / 1461)) / 4)) + 2) / 153) / 10),d],
					[day]:[(($e.jd + 32082) - (1461 * ((4 * ($e.jd + 32082) + 3) / 1461)) / 4) - (153 * (((5 * (($e.jd + 32082) - (1461 * ((4 * ($e.jd + 32082) + 3) / 1461)) / 4)) + 2) / 153) + 2) / 5 + 1,d]
				)
			)	
		)
		#else(
			#(
				[jd]: [$e.jd,d],
				[year]:[100 * (((4 * ($e.jd + 68569)) / 146097) - 49) + ((4000 * (($e.jd + 68569 - (146097 * ((4 * ($e.jd + 68569)) / 146097) + 3) / 4) + 1)) / 1461001) + ((80 * (($e.jd + 68569 - (146097 * ((4 * ($e.jd + 68569)) / 146097) + 3) / 4) - (1461 * ((4000 * (($e.jd + 68569 - (146097 * ((4 * ($e.jd + 68569)) / 146097) + 3) / 4) + 1)) / 1461001)) / 4 + 31)) / 2447) / 11,d],
				[month]:[(80 * (($e.jd + 68569 - (146097 * ((4 * ($e.jd + 68569)) / 146097) + 3) / 4) - (1461 * ((4000 * (($e.jd + 68569 - (146097 * ((4 * ($e.jd + 68569)) / 146097) + 3) / 4) + 1)) / 1461001)) / 4 + 31)) / 2447 + 2 - (12 * (((80 * (($e.jd + 68569 - (146097 * ((4 * ($e.jd + 68569)) / 146097) + 3) / 4) - (1461 * ((4000 * (($e.jd + 68569 - (146097 * ((4 * ($e.jd + 68569)) / 146097) + 3) / 4) + 1)) / 1461001)) / 4 + 31)) / 2447) / 11)),d],
				[day]:[(($e.jd + 68569 - (146097 * ((4 * ($e.jd + 68569)) / 146097) + 3) / 4) - (1461 * ((4000 * (($e.jd + 68569 - (146097 * ((4 * ($e.jd + 68569)) / 146097) + 3) / 4) + 1)) / 1461001)) / 4 + 31) - (2447 * ((80 * (($e.jd + 68569 - (146097 * ((4 * ($e.jd + 68569)) / 146097) + 3) / 4) - (1461 * ((4000 * (($e.jd + 68569 - (146097 * ((4 * ($e.jd + 68569)) / 146097) + 3) / 4) + 1)) / 1461001)) / 4 + 31)) / 2447)) / 80,d]
				)
		)
	)
}
 

参考:

VS高级使用方法1:autoexp.dat使用Visual studio在debug时显示变量内容:http://yaogangshi.iteye.com/admin/blogs/974332

 

 

你可能感兴趣的:(Qt)