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

📄 scctext.prg

📁 程序包 解压安装即可 很好用的 请大家放心用
💻 PRG
📖 第 1 页 / 共 4 页
字号:
		aStruct[27, 3] = 5
		aStruct[27, 4] = 0
		aStruct[28, 1] = "PENSIZE"
		aStruct[28, 2] = "N"
		aStruct[28, 3] = 5
		aStruct[28, 4] = 0
		aStruct[29, 1] = "PENPAT"
		aStruct[29, 2] = "N"
		aStruct[29, 3] = 5
		aStruct[29, 4] = 0
		aStruct[30, 1] = "FILLPAT"
		aStruct[30, 2] = "N"
		aStruct[30, 3] = 5
		aStruct[30, 4] = 0
		aStruct[31, 1] = "FONTFACE"
		aStruct[31, 2] = "M"
		aStruct[31, 3] = 4
		aStruct[31, 4] = 0
		aStruct[32, 1] = "FONTSTYLE"
		aStruct[32, 2] = "N"
		aStruct[32, 3] = 3
		aStruct[32, 4] = 0
		aStruct[33, 1] = "FONTSIZE"
		aStruct[33, 2] = "N"
		aStruct[33, 3] = 3
		aStruct[33, 4] = 0
		aStruct[34, 1] = "MODE"
		aStruct[34, 2] = "N"
		aStruct[34, 3] = 3
		aStruct[34, 4] = 0
		aStruct[35, 1] = "RULER"
		aStruct[35, 2] = "N"
		aStruct[35, 3] = 1
		aStruct[35, 4] = 0
		aStruct[36, 1] = "RULERLINES"
		aStruct[36, 2] = "N"
		aStruct[36, 3] = 1
		aStruct[36, 4] = 0
		aStruct[37, 1] = "GRID"
		aStruct[37, 2] = "L"
		aStruct[37, 3] = 1
		aStruct[37, 4] = 0
		aStruct[38, 1] = "GRIDV"
		aStruct[38, 2] = "N"
		aStruct[38, 3] = 2
		aStruct[38, 4] = 0
		aStruct[39, 1] = "GRIDH"
		aStruct[39, 2] = "N"
		aStruct[39, 3] = 2
		aStruct[39, 4] = 0
		aStruct[40, 1] = "FLOAT"
		aStruct[40, 2] = "L"
		aStruct[40, 3] = 1
		aStruct[40, 4] = 0
		aStruct[41, 1] = "STRETCH"
		aStruct[41, 2] = "L"
		aStruct[41, 3] = 1
		aStruct[41, 4] = 0
		aStruct[42, 1] = "STRETCHTOP"
		aStruct[42, 2] = "L"
		aStruct[42, 3] = 1
		aStruct[42, 4] = 0
		aStruct[43, 1] = "TOP"
		aStruct[43, 2] = "L"
		aStruct[43, 3] = 1
		aStruct[43, 4] = 0
		aStruct[44, 1] = "BOTTOM"
		aStruct[44, 2] = "L"
		aStruct[44, 3] = 1
		aStruct[44, 4] = 0
		aStruct[45, 1] = "SUPTYPE"
		aStruct[45, 2] = "N"
		aStruct[45, 3] = 1
		aStruct[45, 4] = 0
		aStruct[46, 1] = "SUPREST"
		aStruct[46, 2] = "N"
		aStruct[46, 3] = 1
		aStruct[46, 4] = 0
		aStruct[47, 1] = "NOREPEAT"
		aStruct[47, 2] = "L"
		aStruct[47, 3] = 1
		aStruct[47, 4] = 0
		aStruct[48, 1] = "RESETRPT"
		aStruct[48, 2] = "N"
		aStruct[48, 3] = 2
		aStruct[48, 4] = 0
		aStruct[49, 1] = "PAGEBREAK"
		aStruct[49, 2] = "L"
		aStruct[49, 3] = 1
		aStruct[49, 4] = 0
		aStruct[50, 1] = "COLBREAK"
		aStruct[50, 2] = "L"
		aStruct[50, 3] = 1
		aStruct[50, 4] = 0
		aStruct[51, 1] = "RESETPAGE"
		aStruct[51, 2] = "L"
		aStruct[51, 3] = 1
		aStruct[51, 4] = 0
		aStruct[52, 1] = "GENERAL"
		aStruct[52, 2] = "N"
		aStruct[52, 3] = 3
		aStruct[52, 4] = 0
		aStruct[53, 1] = "SPACING"
		aStruct[53, 2] = "N"
		aStruct[53, 3] = 3
		aStruct[53, 4] = 0
		aStruct[54, 1] = "DOUBLE"
		aStruct[54, 2] = "L"
		aStruct[54, 3] = 1
		aStruct[54, 4] = 0
		aStruct[55, 1] = "SWAPHEADER"
		aStruct[55, 2] = "L"
		aStruct[55, 3] = 1
		aStruct[55, 4] = 0
		aStruct[56, 1] = "SWAPFOOTER"
		aStruct[56, 2] = "L"
		aStruct[56, 3] = 1
		aStruct[56, 4] = 0
		aStruct[57, 1] = "EJECTBEFOR"
		aStruct[57, 2] = "L"
		aStruct[57, 3] = 1
		aStruct[57, 4] = 0
		aStruct[58, 1] = "EJECTAFTER"
		aStruct[58, 2] = "L"
		aStruct[58, 3] = 1
		aStruct[58, 4] = 0
		aStruct[59, 1] = "PLAIN"
		aStruct[59, 2] = "L"
		aStruct[59, 3] = 1
		aStruct[59, 4] = 0
		aStruct[60, 1] = "SUMMARY"
		aStruct[60, 2] = "L"
		aStruct[60, 3] = 1
		aStruct[60, 4] = 0
		aStruct[61, 1] = "ADDALIAS"
		aStruct[61, 2] = "L"
		aStruct[61, 3] = 1
		aStruct[61, 4] = 0
		aStruct[62, 1] = "OFFSET"
		aStruct[62, 2] = "N"
		aStruct[62, 3] = 3
		aStruct[62, 4] = 0
		aStruct[63, 1] = "TOPMARGIN"
		aStruct[63, 2] = "N"
		aStruct[63, 3] = 3
		aStruct[63, 4] = 0
		aStruct[64, 1] = "BOTMARGIN"
		aStruct[64, 2] = "N"
		aStruct[64, 3] = 3
		aStruct[64, 4] = 0
		aStruct[65, 1] = "TOTALTYPE"
		aStruct[65, 2] = "N"
		aStruct[65, 3] = 2
		aStruct[65, 4] = 0
		aStruct[66, 1] = "RESETTOTAL"
		aStruct[66, 2] = "N"
		aStruct[66, 3] = 2
		aStruct[66, 4] = 0
		aStruct[67, 1] = "RESOID"
		aStruct[67, 2] = "N"
		aStruct[67, 3] = 3
		aStruct[67, 4] = 0
		aStruct[68, 1] = "CURPOS"
		aStruct[68, 2] = "L"
		aStruct[68, 3] = 1
		aStruct[68, 4] = 0
		aStruct[69, 1] = "SUPALWAYS"
		aStruct[69, 2] = "L"
		aStruct[69, 3] = 1
		aStruct[69, 4] = 0
		aStruct[70, 1] = "SUPOVFLOW"
		aStruct[70, 2] = "L"
		aStruct[70, 3] = 1
		aStruct[70, 4] = 0
		aStruct[71, 1] = "SUPRPCOL"
		aStruct[71, 2] = "N"
		aStruct[71, 3] = 1
		aStruct[71, 4] = 0
		aStruct[72, 1] = "SUPGROUP"
		aStruct[72, 2] = "N"
		aStruct[72, 3] = 2
		aStruct[72, 4] = 0
		aStruct[73, 1] = "SUPVALCHNG"
		aStruct[73, 2] = "L"
		aStruct[73, 3] = 1
		aStruct[73, 4] = 0
		aStruct[74, 1] = "SUPEXPR"
		aStruct[74, 2] = "M"
		aStruct[74, 3] = 4
		aStruct[74, 4] = 0
		aStruct[75, 1] = "USER"
		aStruct[75, 2] = "M"
		aStruct[75, 3] = 4
		aStruct[75, 4] = 0
	endproc	
enddefine

DEFINE CLASS thermometer AS form

	Top = 196
	Left = 142
	Height = 88
	Width = 356
	AutoCenter = .T.
	BackColor = RGB(192,192,192)
	BorderStyle = 0
	Caption = ""
	Closable = .F.
	ControlBox = .F.
	MaxButton = .F.
	MinButton = .F.
	Movable = .F.
	AlwaysOnTop = .F.
	ipercentage = 0
	iBasis = 0
	ccurrenttask = ''
	shpthermbarmaxwidth = 322
	cthermref = ""
	Name = "thermometer"

	ADD OBJECT shape10 AS shape WITH ;
		BorderColor = RGB(128,128,128), ;
		Height = 81, ;
		Left = 3, ;
		Top = 3, ;
		Width = 1, ;
		Name = "Shape10"


	ADD OBJECT shape9 AS shape WITH ;
		BorderColor = RGB(128,128,128), ;
		Height = 1, ;
		Left = 3, ;
		Top = 3, ;
		Width = 349, ;
		Name = "Shape9"


	ADD OBJECT shape8 AS shape WITH ;
		BorderColor = RGB(255,255,255), ;
		Height = 82, ;
		Left = 352, ;
		Top = 3, ;
		Width = 1, ;
		Name = "Shape8"


	ADD OBJECT shape7 AS shape WITH ;
		BorderColor = RGB(255,255,255), ;
		Height = 1, ;
		Left = 3, ;
		Top = 84, ;
		Width = 350, ;
		Name = "Shape7"


	ADD OBJECT shape6 AS shape WITH ;
		BorderColor = RGB(128,128,128), ;
		Height = 86, ;
		Left = 354, ;
		Top = 1, ;
		Width = 1, ;
		Name = "Shape6"


	ADD OBJECT shape4 AS shape WITH ;
		BorderColor = RGB(128,128,128), ;
		Height = 1, ;
		Left = 1, ;
		Top = 86, ;
		Width = 354, ;
		Name = "Shape4"


	ADD OBJECT shape3 AS shape WITH ;
		BorderColor = RGB(255,255,255), ;
		Height = 85, ;
		Left = 1, ;
		Top = 1, ;
		Width = 1, ;
		Name = "Shape3"


	ADD OBJECT shape2 AS shape WITH ;
		BorderColor = RGB(255,255,255), ;
		Height = 1, ;
		Left = 1, ;
		Top = 1, ;
		Width = 353, ;
		Name = "Shape2"


	ADD OBJECT shape1 AS shape WITH ;
		BackStyle = 0, ;
		Height = 88, ;
		Left = 0, ;
		Top = 0, ;
		Width = 356, ;
		Name = "Shape1"


	ADD OBJECT shape5 AS shape WITH ;
		BorderStyle = 0, ;
		FillColor = RGB(192,192,192), ;
		FillStyle = 0, ;
		Height = 15, ;
		Left = 17, ;
		Top = 47, ;
		Width = 322, ;
		Name = "Shape5"


	ADD OBJECT lbltitle AS label WITH ;
		FontName = WIN32FONT, ;
		FontSize = 8, ;
		BackStyle = 0, ;
		BackColor = RGB(192,192,192), ;
		Caption = "", ;
		Height = 16, ;
		Left = 18, ;
		Top = 14, ;
		Width = 319, ;
		WordWrap = .F., ;
		Name = "lblTitle"


	ADD OBJECT lbltask AS label WITH ;
		FontName = WIN32FONT, ;
		FontSize = 8, ;
		BackStyle = 0, ;
		BackColor = RGB(192,192,192), ;
		Caption = "", ;
		Height = 16, ;
		Left = 18, ;
		Top = 27, ;
		Width = 319, ;
		WordWrap = .F., ;
		Name = "lblTask"


	ADD OBJECT shpthermbar AS shape WITH ;
		BorderStyle = 0, ;
		FillColor = RGB(128,128,128), ;
		FillStyle = 0, ;
		Height = 16, ;
		Left = 17, ;
		Top = 46, ;
		Width = 0, ;
		Name = "shpThermBar"


	ADD OBJECT lblpercentage AS label WITH ;
		FontName = WIN32FONT, ;
		FontSize = 8, ;
		BackStyle = 0, ;
		Caption = "0%", ;
		Height = 13, ;
		Left = 170, ;
		Top = 47, ;
		Width = 16, ;
		Name = "lblPercentage"


	ADD OBJECT lblpercentage2 AS label WITH ;
		FontName = WIN32FONT, ;
		FontSize = 8, ;
		BackColor = RGB(0,0,255), ;
		BackStyle = 0, ;
		Caption = "Label1", ;
		ForeColor = RGB(255,255,255), ;
		Height = 13, ;
		Left = 170, ;
		Top = 47, ;
		Width = 0, ;
		Name = "lblPercentage2"


	ADD OBJECT shape11 AS shape WITH ;
		BorderColor = RGB(128,128,128), ;
		Height = 1, ;
		Left = 16, ;
		Top = 45, ;
		Width = 322, ;
		Name = "Shape11"


	ADD OBJECT shape12 AS shape WITH ;
		BorderColor = RGB(255,255,255), ;
		Height = 1, ;
		Left = 16, ;
		Top = 61, ;
		Width = 323, ;
		Name = "Shape12"


	ADD OBJECT shape13 AS shape WITH ;
		BorderColor = RGB(128,128,128), ;
		Height = 16, ;
		Left = 16, ;
		Top = 45, ;
		Width = 1, ;
		Name = "Shape13"


	ADD OBJECT shape14 AS shape WITH ;
		BorderColor = RGB(255,255,255), ;
		Height = 17, ;
		Left = 338, ;
		Top = 45, ;
		Width = 1, ;
		Name = "Shape14"


	ADD OBJECT lblescapemessage AS label WITH ;
		FontBold = .F., ;
		FontName = WIN32FONT, ;
		FontSize = 8, ;
		Alignment = 2, ;
		BackStyle = 0, ;
		BackColor = RGB(192,192,192), ;
		Caption = "", ;
		Height = 14, ;
		Left = 17, ;
		Top = 68, ;
		Width = 322, ;
		WordWrap = .F., ;
		Name = "lblEscapeMessage"

	PROCEDURE complete
		* This is the default complete message
		parameters m.cTask
		private iSeconds
		if parameters() = 0
			m.cTask = THERMCOMPLETE_LOC
		endif
		this.Update(100,m.cTask)
	ENDPROC

	procedure UpdateTaskMessage
		* Update the task message only, used when converting binary data
		parameters cTask
		this.cCurrentTask = m.cTask
		this.lblTask.Caption = this.cCurrentTask
	endproc
	
	PROCEDURE update
		* m.iProgress is the percentage complete
		* m.cTask is displayed on the second line of the window

		parameters iProgress, cTask

		if parameters() >= 2 .and. type('m.cTask') = 'C'
			* If we're specifically passed a null string, clear the current task,
			* otherwise leave it alone
			this.cCurrentTask = m.cTask
		endif
		
		if ! this.lblTask.Caption == this.cCurrentTask
			this.lblTask.Caption = this.cCurrentTask
		endif

		if this.iBasis <> 0
			* interpret m.iProgress in terms of this.iBasis
			m.iPercentage = int((m.iProgress / this.iBasis) * 100)
		else
			m.iPercentage = m.iProgress
		endif
		
		m.iPercentage = min(100,max(0,m.iPercentage))
		
		if m.iPercentage = this.iPercentage
			RETURN
		endif
		
		if len(alltrim(str(m.iPercentage,3)))<>len(alltrim(str(this.iPercentage,3)))
			iAvgCharWidth=fontmetric(6,this.lblPercentage.FontName, ;
				this.lblPercentage.FontSize, ;
				iif(this.lblPercentage.FontBold,'B','')+ ;
				iif(this.lblPercentage.FontItalic,'I',''))
			this.lblPercentage.Width=txtwidth(alltrim(str(m.iPercentage,3)) + '%', ;
				this.lblPercentage.FontName,this.lblPercentage.FontSize, ;
				iif(this.lblPercentage.FontBold,'B','')+ ;
				iif(this.lblPercentage.FontItalic,'I','')) * iAvgCharWidth
			this.lblPercentage.Left=int((this.shpThermBarMaxWidth- ;
				this.lblPercentage.Width) / 2)+this.shpThermBar.Left-1
			this.lblPercentage2.Left=this.lblPercentage.Left
		endif
		this.shpThermBar.Width = int((this.shpThermBarMaxWidth)*m.iPercentage/100)
		this.lblPercentage.Caption = alltrim(str(m.iPercentage,3)) + '%'
		this.lblPercentage2.Caption = this.lblPercentage.Caption
		if this.shpThermBar.Left + this.shpThermBar.Width -1 >= ;
			this.lblPercentage2.Left
			if this.shpThermBar.Left + this.shpThermBar.Width - 1 >= ;
				this.lblPercentage2.Left + this.lblPercentage.Width - 1
				this.lblPercentage2.Width = this.lblPercentage.Width
			else
				this.lblPercentage2.Width = ;
					this.shpThermBar.Left + this.shpThermBar.Width - ;
					this.lblPercentage2.Left - 1
			endif
		else
			this.lblPercentage2.Width = 0
		endif
		this.iPercentage = m.iPercentage
	ENDPROC

	PROCEDURE Init
		* m.cTitle is displayed on the first line of the window
		* m.iInterval is the frequency used for updating the thermometer
		parameters cTitle, iInterval
		this.lblTitle.Caption = iif(empty(m.cTitle),'',m.cTitle)
		this.shpThermBar.FillColor = rgb(128,128,128)
		local cColor

		* Check to see if the fontmetrics for MS Sans Serif matches
		* those on the system developed. If not, switch to Arial. 
		* The RETURN value indicates whether the font was changed.
		if fontmetric(1, WIN32FONT, 8, '') <> 13 .or. ;
			fontmetric(4, WIN32FONT, 8, '') <> 2 .or. ;
			fontmetric(6, WIN32FONT, 8, '') <> 5 .or. ;
			fontmetric(7, WIN32FONT, 8, '') <> 11
			this.SetAll('FontName', WIN95FONT)
		endif

		m.cColor = rgbscheme(1, 2)
		m.cColor = 'rgb(' + substr(m.cColor, at(',', m.cColor, 3) + 1)
		this.BackColor = &cColor
		this.Shape5.FillColor = &cColor
	ENDPROC
ENDDEFINE

⌨️ 快捷键说明

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