⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pclock11.tpl

📁 在手机操作系统symbina上使用的一个脚本扩展语言的代码实现,可以参考用于自己的开发
💻 TPL
字号:
REM pclock11.tpl
REM EPOC OPL automatic test code for more gclock functionality.
REM Copyright (c) 1991-2000 Symbian Ltd. All rights reserved.

INCLUDE "Const.oph"
INCLUDE "hUtils.oph"

PROC Standalone:
	REM Main procedure called when not running inside test harness.
	LOADM KhUtils$
	hLink:( "pclock11", hThreadIdFromOplDoc&:, KhUserFull%)
	REM After standalone completion, control returns here.
	dINIT "Tests complete" :DIALOG
ENDP


proc pclock11:
	rem hInitTestHarness:(KhInitLocalErrorHandling%, KhInitNotUsed%)
	hRunTest%:("tgclock11")
endp


proc tgclock11:
	global id1%,id2%,id3%
	print "Opler1 gCLOCK mode 11 Tests"
	print
	rem pause 20
	t24hour:
	t12hour:
	tsystem:
	tseps:
	tabbrev:
	tlocaledate:
	tnonlocaledate:
	tAB:
	toffset:
	terrors:
	print
	print "Opler1 gCLOCK mode 11 Tests Finished OK"
	rem pause 30
endp


proc t24hour:
	print "Test 24 hour clock"
	rem pause 20
	createwin:
	formclock:("%H:%T:%S")
	formclock:("%H:%T:%S%A")
rem	formclock:("%H:%T:%S%B")
rem	formclock:("%A%H:%T:%S")
	formclock:("%B%H:%T:%S")
	formclock:("%H:%T:%S%-A")
rem	formclock:("%H:%T:%S%-B")
rem	formclock:("%H:%T:%S%+A")
	formclock:("%H:%T:%S%+B")
	formclock:("%-A%H:%T:%S")
rem	formclock:("%-B%H:%T:%S")
rem	formclock:("%+A%H:%T:%S")
	formclock:("%+B%H:%T:%S")
	closewin:
endp
	
	
proc t12hour:
	print "Test 12 hour clock"
	rem pause 20
	createwin:
	formclock:("%I:%T:%S")
	formclock:("%I:%T:%S%A")
rem	formclock:("%I:%T:%S%B")
rem	formclock:("%A%I:%T:%S")
	formclock:("%B%I:%T:%S")
	formclock:("%I:%T:%S%-A")
rem	formclock:("%I:%T:%S%-B")
rem	formclock:("%I:%T:%S%+A")
	formclock:("%I:%T:%S%+B")
	formclock:("%-A%I:%T:%S")
rem	formclock:("%-B%I:%T:%S")
rem	formclock:("%+A%I:%T:%S")
	formclock:("%+B%I:%T:%S")
	closewin:
endp


proc tsystem:
	print "Test system clock"
	rem pause 20
	createwin:
	formclock:("%J:%T:%S")
	formclock:("%J:%T:%S%A")
rem	formclock:("%J:%T:%S%B")
rem	formclock:("%A%J:%T:%S")
	formclock:("%B%J:%T:%S")
	formclock:("%J:%T:%S%-A")
rem	formclock:("%J:%T:%S%-B")
rem	formclock:("%J:%T:%S%+A")
	formclock:("%J:%T:%S%+B")
	formclock:("%-A%J:%T:%S")
rem	formclock:("%-B%J:%T:%S")
rem	formclock:("%+A%J:%T:%S")
	formclock:("%+B%J:%T:%S")
	closewin:
endp


proc tseps:
	print "Test system separators"
	rem pause 20
	createwin:
	rem test %%
	formclock:("%H%%%T%%%S")
	rem test %:
	formclock:("%H%:1%T%:2%S")
	formclock:("%H%:0%T%:3%S")
	rem test %/
	formclock:("%1%/1%2%/2%3")
	formclock:("%1%/0%2%/3%3")

	onerr e3
	formclock:("%H%:4%T%:3%S")
	onerr off
	raise 5
e3::
	onerr off
	if err<>-1 : raise 6 : endif
	onerr e4
	formclock:("%1%/-1%2%/2%3")
	onerr off
	raise 7
e4::
	onerr off
	if err<>-1 : raise 8 : endif
	closewin:
endp


proc tabbrev:
	print "Test time abbreviations"
	rem pause 20
	createwin:
	formclock:("%*J:%T:%S")
	formclock:("%*I:%T:%S")
	formclock:("%*H:%*T:%*S")
	formclock:("%I:%T:%S%*A")
	formclock:("%I:%T:%S%*B")
	formclock:("%*A%I:%T:%S")
rem	formclock:("%*B%I:%T:%S")
rem	formclock:("%I:%T:%S%*+A")
	formclock:("%I:%T:%S%*+B")
	
	onerr e1
	formclock:("%I:%T:%S%+*A")
	onerr off
	raise 1
e1::
	onerr off 
	if err<>-1 : raise 2 : endif
	onerr e2
	formclock:("%I:%T:%S%+*B")
	onerr off
	raise 3
e2::
	onerr off 
	if err<>-1 : raise 4 : endif
	
	formclock:("%*-A%I:%T:%S")
	formclock:("%*-B%I:%T:%S")
	
	onerr e3
	formclock:("%-*A%I:%T:%S")
	onerr off
	raise 5
e3::
	onerr off 
	if err<>-1 : raise 6 : endif
	onerr e4
	formclock:("%-*B%I:%T:%S")
	onerr off
	raise 7
e4::
	onerr off 
	if err<>-1 : raise 8 : endif
	
	closewin:
	print "Test date abbreviations"
	rem pause 20
	createwin:
	formclock:("%*E %*D%X%*N%*Y %1 %2 %3")
	formclock:("%*1%D/%*2%M/%*3%Y")
	formclock:("%*4%D/%*5%M")
	formclock:("%*1/%*2/%*3")
	formclock:("%*4/%*5")
	formclock:("%1%*D/%2%*M/%3%*Y")
	formclock:("%4%*D/%5%*M")
	formclock:("Week: %*W")
	formclock:("Day: %*Z")
	rem without locale format
	formclock:("%F%*D/%*M/%*Y")
	formclock:("%F%*D/%*M")
	formclock:("%F%*1/%*2/%*3")
	formclock:("%F%*4/%*5")
	formclock:("%*F%D/%M/%Y")
	formclock:("%*F%D/%M")
	closewin:
endp


proc tlocaledate:
	print "Test dates using locale format"
	rem pause 20
	createwin:
	rem matching numbers and letters
	formclock:("%1%D/%2%M/%3%Y")
	formclock:("%2%M/%1%D/%3%Y")
rem	formclock:("%3%Y/%2%M/%1%D")
	formclock:("%4%D/%5%M/%3%Y")
	formclock:("%1%D/%2%M")
rem	formclock:("%4%D/%5%M")
	formclock:("%5%M/%4%D")
	rem numbers and letters do not match
	formclock:("%1%M/%2%Y/%3%D")
rem	formclock:("%2%D/%1%Y/%3%M")
	formclock:("%4%M/%5%Y")
	formclock:("%4%Y/%5%D")
	rem numbers and with time letters 
	formclock:("%1%H/%2%T/%3%S")
	formclock:("%4%E/%5%W")
	formclock:("%4%N/%5%Z")
	rem numbers only
	formclock:("%1/%2/%3")
rem	formclock:("%2/%1/%3")
	formclock:("%3/%2/%1")
	formclock:("%4/%5/%3")
	formclock:("%1/%2")
rem	formclock:("%4/%5")
rem	formclock:("%5/%4")
	formclock:("%1/%2/%3")
	rem using names of months and days
	formclock:("%E %X%*1 %N%2 %3%Y")
	formclock:("%*E %X%*1%D %*N%2 %3%Y")
	formclock:("%X%1 %1")
	formclock:("%N%2 %2")
	rem day no and week no
	formclock:("Week: %W")
	formclock:("Day: %Z")
	closewin:
endp


proc tnonlocaledate:
	print "Test non-locale dates"
	rem pause 20
	createwin:
	formclock:("%F%D/%M/%Y")
	formclock:("%F%M/%D/%Y")
	formclock:("%F%Y/%M/%D")
rem	formclock:("%F%D/%M/%Y")
	formclock:("%F%D/%M")
	formclock:("%F%D/%M")
rem	formclock:("%F%M/%D")
	rem use numbers in non-locale format
	formclock:("%F%1%D/%2%M/%3%Y")
	formclock:("%F%4%D/%5%M")
	formclock:("%F%1/%2/%3")
rem	formclock:("%F%4/%5")
	rem use %F with time
	formclock:("%F%H:%T:%S")
	formclock:("%F%I:%T:%S")
rem	formclock:("%F%J:%T:%S")
	rem using names of months and days
	formclock:("%F%E %*D%X %N %Y")
	formclock:("%F%*E %*D%X %*N %Y")
	formclock:("%F%D%X %D")
rem	formclock:("%F%N %M")
	formclock:("%F%D%X %D")
	closewin:
endp


proc tAB:
	print "Test %A and %B used with dates"
	rem pause 20
	createwin:
	formclock:("%1/%2/%3%A")
rem	formclock:("%1/%2/%3%B")
rem	formclock:("%1/%2/%3%+A")
	formclock:("%1/%2/%3%+B")
	formclock:("%1/%2/%3%-A")
rem	formclock:("%1/%2/%3%-B")
rem	formclock:("%A%1/%2/%3")
	formclock:("%B%1/%2/%3")
	formclock:("%+A%1/%2/%3")
rem	formclock:("%+B%1/%2/%3")
rem	formclock:("%-A%1/%2/%3")
	formclock:("%-B%1/%2/%3")
	closewin:
	print "Test %A and %B used without hours in time"
	rem pause 20
	createwin:
	formclock:("%T:%S %A")
	formclock:("%T:%S %B")
	formclock:("%A %T:%S")
rem	formclock:("%B %T:%S")
rem	formclock:("%T:%S%-A")
	formclock:("%T:%S%-B")
	formclock:("%T:%S%+A")
rem	formclock:("%T:%S%+B")
rem	formclock:("%-A%T:%S")
	formclock:("%-B%T:%S")
	formclock:("%+A%T:%S")
	formclock:("%+B%T:%S")
	closewin:
endp


proc toffset:
	print "Test offset"
	rem pause 20
	createwin:
	
	guse id1%
	gat 5,40
	gprint "1 hour behind system time"
	guse id3%
	gat 5,40
	gprint "1 hour ahead of system time"
	offsetclocks:("%J%:1%T%:2%S%B",&3c,0)
	
	guse id1%
	gat 5,40
	gprint "24 hours behind system time"
	guse id3%
	gat 5,40
	gprint "24 hours ahead of system time"
	offsetclocks:("%1%/1%2%/2%3",&5a0,0)
	
	rem offset in seconds
	guse id1%
	gat 5,40
	gprint "30 seconds behind system time"
	guse id3%
	gat 5,40
	gprint "30 seconds ahead of system time"
	offsetclocks:("%H%:1%T%:2%S",&1e,$100)
	
	guse id1%
	gat 5,40
	gprint "24 hours behind system time"
	guse id3%
	gat 5,40
	gprint "24 hours ahead of system time"
	offsetclocks:("%1%/1%2%/2%3  %H%:1%T%:2%S",&15180,$100)
	closewin:
endp


proc offsetclocks:(format$,offset&,or%)
	guse id1%
	gat 5,20
	gprint format$
	gat 220,20
	gclock on,11 OR or%,-offset&,format$
	guse id2%
	gat 5,20
	gprint format$
	gat 5,40
	gprint "system time"
	gat 220,20
	gclock on,11 OR or%,0,format$
	guse id3%
	gat 5,20
	gprint format$
	gat 220,20
	gclock on,11 OR or%,offset&,format$
	rem get
	guse id1% : gcls
	guse id2% : gcls
	guse id3% : gcls
endp


proc terrors:
	rem attempt to display two clocks in one window
	print "Attempt to open two clocks of different modes in same window"
	rem pause 20
	cls
	id1%=gcreate (0,0,gwidth,gheight,1,0)
	gfont KFontCourierNormal11&	
	gat 20,20
	gprint "Mode 7 - analog"
	gat 20,60

	gclock on,7
	gat 320,20
	gprint "Mode 11 - formatted digital"
	gat 320,60
	gclock on,11,0,"%J%:1%T%:2%S%B"
	rem get
	gclock off
	gclose id1%

	print "Attempt to open two clocks of mode 11 in same window"
	print
	rem pause 20
	cls
	id1%=gcreate (0,0,gwidth,gheight,1,2)
	gfont KFontCourierNormal11&	
	gat 20,20
	gprint "Mode 11 - formatted digital"
	gat 20,60
	gclock on,11,0,"%J%:1%T%:2%S%B"
	gat 320,20
	gprint "Mode 11 - formatted digital"
	gat 320,60
	gclock on,11,0,"%1%/1%2%/2%3"
	rem get
	gclock off
	gclose id1%
endp


proc createwin:
	cls
	id1%=gcreate (0,0,gwidth,80,1,2)
	gfont KFontCourierNormal11&
	id2%=gcreate (0,80,gwidth,80,1,2)
	gfont KFontCourierNormal11&
	id3%=gcreate (0,160,gwidth,80,1,2)
	gfont KFontCourierNormal11&
endp


proc closewin:
	gclose id1%
	gclose id2%
	gclose id3%
endp


proc formclock:(format$)
	guse id1%
	gat 5,20
	gprint format$
	gat 200,20
	gclock on,11,0,format$
	
	guse id2%
	gat 5,20
	gprint format$
	gat 200,20
	gclock on,11,0,format$,KFontTimesNormal27&,$22
	
	guse id3%
	gat 5,20
	gprint format$
	gat 200,20
	gclock on,11,0,format$,KFontCourierNormal13&,$C
	
	rem get
	guse id1% : gcls
	guse id2% : gcls
	guse id3% : gcls
endp

REM End of pclock11.tpl

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -