129 lines
		
	
	
		
			3.3 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			129 lines
		
	
	
		
			3.3 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| Subroutine Set_Printer_Object(Type, Data, Font1, Font2, Fill)
 | |
| /******************************************************************************************************** 
 | |
| 
 | |
|     This program is proprietary and is not to be used by or disclosed to others, nor is it to
 | |
|     be copied without written permission from SRP Computer Solutions, Inc.
 | |
| 
 | |
|     Name        :   Set Printer Object
 | |
| 
 | |
|     Description :
 | |
|     
 | |
| 	Tags		:	[SRP]
 | |
| 
 | |
|     Parameters  :
 | |
| 
 | |
|     History (Date, Initials, Notes)
 | |
|         12/14/06    fjt     Initial development
 | |
| 
 | |
| ********************************************************************************************************/
 | |
| 
 | |
| $insert SRP_APP_INSERTS
 | |
| $insert OIPI_FONTS
 | |
| $insert OIPRINT_EQUATES
 | |
| 
 | |
| If Assigned(Type)  else Type  = ""
 | |
| If Assigned(Data)  else Data  = ""
 | |
| If Assigned(Font1) else Font1 = ""
 | |
| If Assigned(Font2) else Font2 = ""
 | |
| If Assigned(Fill)  else Fill  = ""
 | |
| 
 | |
| xAdj   = 0
 | |
| yAdj   = 0
 | |
| rv     = ""
 | |
| 
 | |
| If (Font1 EQ "")  then Font1 = Tahoma(6,1)
 | |
| If (Font1 EQ No$) then Font1 = ""
 | |
| 
 | |
| Cnt = Count(Data, @FM) + (Data NE "")
 | |
| Begin Case
 | |
| 	Case Type EQ "T" ; GoSub TEXT
 | |
| 	Case Type EQ "R" ; GoSub RECT
 | |
| 	Case Type EQ "L" ; GoSub LINE
 | |
| End Case
 | |
| 
 | |
| Data   = ""
 | |
| Cancel = Get_Printer("CANCEL")
 | |
| 
 | |
| Return Cancel
 | |
| 
 | |
| 
 | |
| !-----  INTERNAL ROUTINES  ------------------------------------------------------------------------------
 | |
| 
 | |
| 
 | |
| TEXT:
 | |
| 	For i = 1 to Cnt
 | |
| 		Xpos1	= Data<i,1>
 | |
| 		Ypos1	= Data<i,2>
 | |
| 		Inches 	= Data<i,3>
 | |
| 		Text  	= Data<i,4>
 | |
| 		Justif	= Text[1,1]
 | |
| 		NoWrap  = "~"
 | |
|         Twips	= NoWrap:Justif:(Abs(Inches) * 1440)
 | |
| 		
 | |
| 		Text[1,1] = ""
 | |
| 		
 | |
| 		If (Font1 NE "") then rv<-1> = Set_Printer("FONT", Font1)
 | |
| 		rv<-1> = Set_Printer("POS", 0.00:@FM:Ypos1)
 | |
| 		rv<-1> = Set_Printer("ADDTABLE", Twips, "", Text, "", "", 0, 0:@FM:Xpos1 + 0.050)
 | |
| 	Next i
 | |
| 	Data = ""
 | |
| return
 | |
| 
 | |
| 
 | |
| RECT:
 | |
| 	If Assigned(Font2) then
 | |
| 		DataPos = 0.150
 | |
| 	end else
 | |
| 		DataPos = 0.150
 | |
| 		Font2 = Tahoma(10,1)
 | |
| 	end
 | |
| 
 | |
| 	For i = 1 to Cnt
 | |
| 		Xpos1     = (Data<i, 1> + xAdj) 
 | |
| 		Ypos1     = (Data<i, 2> + yAdj) 
 | |
| 		Xpos2     = (Data<i, 3> + xAdj) 
 | |
| 		Ypos2     = (Data<i, 4> + yAdj)
 | |
| 		RectLabel = (Data<i, 5>)
 | |
| 		RectVar   = (Data<i, 6>)
 | |
| 		Align     = (Data<i, 7>)
 | |
| 		Twips     = "<":( (Abs(Xpos2 - Xpos1)) * 1440 )
 | |
| 
 | |
| 		If (Fill) then
 | |
| 			rv = Set_Printer("FILLSTYLE", BS_SOLID:@FM:Fill)
 | |
| 		end
 | |
| 		rv = Set_Printer("RECT", Xpos1:@FM:Ypos1:@FM:Xpos2:@FM:Ypos2, No$)
 | |
| 		If (Fill) then rv = Set_Printer("FILLSTYLE", BS_HOLLOW:@FM:White$)
 | |
| 		
 | |
| 		If (RectLabel GT "") then
 | |
| 			rv<-1> = Set_Printer("FONT", Font1)
 | |
| 			rv<-1> = Set_Printer("POS", 0.00:@FM:Ypos1 + 0.025)
 | |
| 			rv<-1> = Set_Printer("ADDTABLE", Twips, "", RectLabel, "", "", 0, 0:@FM:Xpos1 + 0.025)
 | |
| 		end
 | |
| 		
 | |
| 		If (RectVar GT "") then
 | |
| 			Adj = 0.10
 | |
| 			If Align then
 | |
| 				Twips[1,1] = Align
 | |
| 				Adj = 0
 | |
| 			end
 | |
| 			rv<-1> = Set_Printer("FONT", Font2)
 | |
| 			rv<-1> = Set_Printer("POS", 0.00:@FM:Ypos1 + DataPos)
 | |
| 			rv<-1> = Set_Printer("ADDTABLE", Twips, "", RectVar, "", "", 0, 0:@FM:Xpos1 + Adj)
 | |
| 		end
 | |
| 	Next i
 | |
| return
 | |
| 
 | |
| 
 | |
| LINE:
 | |
| 	For i = 1 to Cnt
 | |
| 		Xpos1     = (Data<i, 1> + xAdj) 
 | |
| 		Ypos1     = (Data<i, 2> + yAdj) 
 | |
| 		Xpos2     = (Data<i, 3> + xAdj) 
 | |
| 		Ypos2     = (Data<i, 4> + yAdj)
 | |
| 	Until Xpos1 EQ ""	
 | |
| 		If (Fill GT "") then rv<-1> = Set_Printer("LINESTYLE", 0:@FM:1/2:@FM:Fill)
 | |
| 		rv<-1> = Set_Printer("LINE", Xpos1:@FM:Ypos1:@FM:Xpos2:@FM:Ypos2, No$)
 | |
| 		If (Fill GT "") then rv<-1> = Set_Printer("LINESTYLE", 0:@FM:1/2:@FM:0)
 | |
| 	Next i
 | |
| return
 |