pfc_replace


pfcapsrv.pbl   >   pfc_n_cst_rtefind   >   pfc_replace   

Full name pfc_n_cst_rtefind.pfc_replace
Access public
Extend of integer
Return value integer
Prototype event integer pfc_replace(n_cst_findattrib)

Name Datatype
No Data

Name Datatype
lb_forward boolean
li_rc integer
ls_selectedtext string

event pfc_replace;////////////////////////////////////////////////////////////////////////////
//
//	Event:  				pfc_Replace
//
//	Arguments:
//	anv_findattrib 	nvo-structure - reference of search attributes
//
//	Returns:  			Integer
//							1 if it succeeds and -1 if an error occurs.
//
//	Description:  		This event is called to search and replace
//							using the passed in settings.  It will perform a replace
//							(if applicable) followed by a Find or FindNext operation.
//
//////////////////////////////////////////////////////////////////////////////
//	
//	Revision History
//
//	Version
//	5.0   Initial version
//
//////////////////////////////////////////////////////////////////////////////
//
//	Copyright © 1996-1997 Sybase, Inc. and its subsidiaries.  All rights reserved.
//	Any distribution of the PowerBuilder Foundation Classes (PFC)
//	source code by other than Sybase, Inc. and its subsidiaries is prohibited.
//
//////////////////////////////////////////////////////////////////////////////

integer 	li_rc
boolean 	lb_forward
string	ls_selectedtext

If (IsNull(idw_requestor) Or Not IsValid(idw_requestor)) And &
	(IsNull(irte_requestor) Or Not IsValid(irte_requestor)) Then
	Return -1
End If

If ib_ongoingfind Then
	//Determine if this continues to be an Ongoing Find. 
	ib_ongoingfind = of_IsOnGoingFind(anv_findattrib)
End If

//Get a copy of passed attributes.
inv_findattrib = anv_findattrib

//Get the currently selected text
If IsValid(irte_requestor) Then
	ls_selectedtext = irte_requestor.SelectedText()	
Else
	ls_selectedtext = idw_requestor.SelectedText()	
End If		

//Only replace if the selected text matches the find text.
If ls_selectedtext = inv_findattrib.is_find Then
	If IsValid(irte_requestor) Then
		li_rc = irte_requestor.ReplaceText ( inv_findattrib.is_replacewith )		
	Else
		li_rc = idw_requestor.ReplaceText (	inv_findattrib.is_replacewith )		
	End If	
End If

//Set up direction.
lb_forward = (Not Lower(inv_findattrib.is_direction)='up')

//Determine if this is the first find or an ongoing find.
If ib_ongoingfind Then
	//On going find and replace.
	If IsValid(irte_requestor) Then
		li_rc = irte_requestor.FindNext()	
	Else
		li_rc = idw_requestor.FindNext()
	End If	
	
Else
	//First time find.
	If IsValid(irte_requestor) Then
		li_rc = irte_requestor.find (	inv_findattrib.is_find, lb_forward, &
								not inv_findattrib.ib_matchcase,&
								inv_findattrib.ib_wholeword, True)
	Else
		li_rc = idw_requestor.find (	inv_findattrib.is_find, lb_forward, &
								not inv_findattrib.ib_matchcase,&
								inv_findattrib.ib_wholeword, True)
	End If		
End If

//Determine if the next find/replace could be a FindNext operation.
ib_ongoingfind = (li_rc > 0) 

Return li_rc
end event

     
Name Owner
pfc_n_cst_rtefind.pfc_replaceall pfc_n_cst_rtefind

     
Name Owner
datawindow.find datawindow
datawindow.findnext datawindow
datawindow.replacetext datawindow
datawindow.selectedtext datawindow
richtextedit.find richtextedit
richtextedit.findnext richtextedit
richtextedit.replacetext richtextedit
richtextedit.selectedtext richtextedit
systemfunctions.isnull systemfunctions
systemfunctions.isvalid systemfunctions
systemfunctions.lower systemfunctions
pfc_n_cst_rtefind.of_isongoingfind pfc_n_cst_rtefind

     
Full name
No Data

     
Name Scope
No Data