Special Key Macro
			Question
			With my old emulator, the Shift+End key combination would select 
			all of the text in a field. There does not appear be a comparable 
			function in eXpress Plus. Why? 
			Answer
          The Shift+End key combination is a block selection keystroke 
			reserved by Windows and, as such, may not be overridden; however, a 
			script may be used to select text. Also, an alternate action key or 
			key combination may be assigned to activate the script. 
			The following script selects the text in an unprotected field 
			located at the current cursor position. Only the significant text is 
			selected; i.e., trailing spaces are ignored. The script may be 
			utilized with both T27 eXpress Plus and UTS eXpress Plus products. 
			You can copy the following code and past it into a file named 
			SelectField.bas.  
			  
			'This script selects all typed characters in the 
			current field.  
			' 
			Sub Main() 
			Dim CRow as Integer 
			Dim CCol as Integer 
			Dim SCol as Integer 
			Dim ECol as Integer 
			Dim FoundBlank as Integer 
			Dim s as Integer 
			Dim l as Integer 
			Dim EndDel as String 
			 
			' Get the cursor row and column. 
			CRow = GetCursorRow() 
			CCol = GetCursorCol() 
			 
			If (GetScreenAttribute(CCol, CRow) and 8) = 8 Then ' 
			Cursor must be in  
			' an unprotected area. 
			Exit Sub 
			End If 
			 
			' Find the end of the field (or end of the line) 
			s = CCol 
			ECol = 80 
			Do  
			If (GetScreenAttribute(s, CRow) and 8) = 8 Then  
			s = s - 1 
			ECol = s 
			Exit Do 
			End If 
			If s >= 80 Then 
			Exit Do 
			End If 
			s = s + 1 
			Loop  
			' s now points to character before next protected region 
			' Work backward to the first non space (or beginning of the field)
			 
			' then get the end of the selection 
			SCol = 1 
			FoundBlank = False 
			Do 
			If (GetScreenAttribute(s, CRow) and 8) = 8 Then 
			SCol = s + 1 
			Exit Do 
			End If 
			If FoundBlank = False and GetScreenText(s, CRow, 1) <> " " Then 
			FoundBlank = True 
			ECol = s 
			End If 
			If s = 1 Then 
			SCol = s 
			Exit Do 
			End If 
			s = s - 1 
			Loop  
			' Move the cursor the start of the field. 
			SetCursor SCol, CRow 
			' Mark the selection 
			MarkBlock SCol, CRow, ECol, CRow 
			RefreshScreen 
			' Done. 
			End Sub 
		   
		
			   |