<HTML><!-- #BeginTemplate "/Templates/MainTemplate.dwt" -->
<HEAD>
<!-- #BeginEditable "doctitle" --> 
<TITLE>RB Manager - The Search Tab</TITLE>
<!-- #EndEditable --> 
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<STYLE TYPE="TEXT/CSS">
<!--
.topicHead {  font-family: "Times New Roman", Times, serif; font-size: 14pt; font-weight: bold; text-align: center; color: #333333}
.topicList {  font-family: Georgia, "Times New Roman", Times, serif; font-size: 9pt; color: #FF0099; list-style-image: url(../images/diamond_bullet.gif); text-decoration: none; font-weight: bold}
.mainBlock {  font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12pt; margin-top: 5px; margin-right: 5px; margin-bottom: 5px; margin-left: 5px; padding-top: 5px; padding-right: 10px; padding-bottom: 5px; padding-left: 10px; text-align: justify}
-->
</STYLE>
</HEAD>

<BODY BGCOLOR="#FFFFFF" LEFTMARGIN="0" TOPMARGIN="0" MARGINWIDTH="0" MARGINHEIGHT="0">
<TABLE WIDTH="100%" BORDER="0" CELLSPACING="0" CELLPADDING="0">
  <TR>
    <TD ROWSPAN="2" COLSPAN="2" BACKGROUND="../images/template_ul.gif" HEIGHT="75"><IMG SRC="../images/spacer.gif" WIDTH="280" HEIGHT="1" HSPACE="0"></TD>
		<TD HEIGHT="15"  WIDTH="100%" BACKGROUND="../images/template_u.gif"></TD>
	</TR>
	<TR>
		<TD HEIGHT="60" >
			<CENTER><IMG SRC="../images/TitleLogo_transparent.gif" VSPACE="0"></CENTER>
		</TD>
	</TR>
	<TR>
		
    <TD WIDTH="200" BACKGROUND="../images/template_l.gif" VALIGN="top">
		<TABLE WIDTH="180" CELLSPACING="0" CELLPADDING="1"> 
      	<TR>
			<TD CLASS="topicHead">General</TD>
		</TR>
		<TR>
			<TD VALIGN="center"><IMG SRC="../images/template_line.gif"></TD>
		</TR>
		<TR>
			<TD CLASS="topicList">
	        <UL>
              <LI><A HREF="../system_requirements.html">System Requirements</A></LI>
              <LI><A HREF="../faq.html">FAQ</A></LI>
              <LI><A HREF="../future_features.html">Future Releases</A></LI>
              <LI CLASS="topicList"><A HREF="../future_features.html">Version 
                History</A></LI>
            </UL>
			</TD>
		</TR>
      	<TR>
			<TD CLASS="topicHead">RB Manager</TD>
		</TR>
		<TR>
			<TD VALIGN="center"><IMG SRC="../images/template_line.gif"></TD>
		</TR>
		<TR>
			<TD CLASS="topicList">
	        <UL>
              <LI><A HREF="../index.html">Home</A></LI>
              <LI><A HREF="../tutorial/index.html">Tutorial</A></LI>
              <LI><A HREF="index.html">Functionality and Views</A></LI>
              <LI><A HREF="../lookandfeel.html">Look and Feel</A></LI>
              <LI><A HREF="../menu.html">Menu Items</A></LI>
              <LI CLASS="topicList"><A HREF="../tutorial/step1.html">Preferences</A></LI>
            </UL>
			</TD>
		</TR>
		<TR>
			<TD CLASS="topicHead">RB Reporter</TD>
		</TR>
		<TR>
			<TD VALIGN="center"><IMG SRC="../images/template_line.gif"></TD>
		</TR>
		<TR>
			<TD CLASS="topicList">
	  <UL>
              <LI><A HREF="../RBReporter.html">Home</A></LI>
        <LI>Report Types</LI>
              <LI><A HREF="../scanfile.html">Code Scanning</A></LI>
            </UL>
			</TD>
		</TR>
	</TABLE>

      <P>&nbsp; </P>
      </TD>
		
    <TD COLSPAN="2" VALIGN="top" CLASS="mainBlock"><!-- #BeginEditable "Main" --> 
      <H3 ALIGN="CENTER">View 5. The Search Tab</H3>
      <P>The Groups tab view, like all tab views, looks and functions differently 
        when working with the resource bundle as a whole than when working with 
        an individual resource file. However, unlike the other tab views, the 
        differences are minimal. Searching from the bundle performs the search 
        on the base class and edits to the found resources affect the entire bundle. 
        Searching from a resource file restricts the search to that file and the 
        changes are also restricted to that resource file.</P>
      <P>A screen shot of the Search tab view for the resource bundle is given 
        below. The view for the individual resource files is nearly identical.</P>
      <P><IMG SRC="../images/screenshots/view_search.gif" WIDTH="671" HEIGHT="543"></P>
      <P>There are two basic functions to this view, Find All and Replace All. 
        Find All takes the parameters given it and populates the result table 
        with any matches found (note that the current version of RB Manager does 
        not support wild card characters or regular expressions). The resulting 
        table can be edited as in the other views by doubling clicking a row in 
        the table.</P>
      <P>Replace All works by first finding all of the resources in the same manner 
        as Find All and then replacing the text that is found with the text given 
        in the Replace text box. It is recommended that you first perform Find 
        All before Replace All. The current version of RB Manager does an all 
        or nothing replace. Future versions may allow step by step replacement.</P>
      <P>Using the check boxes on the page, you can specify any combination of 
        three parts of the resources to search: Resource Keys, Translations, and 
        Comments. A fourth check box allows you to make the search case sensitive.</P>
      <P>This view was introduced in version 0.3a of RB Manager.</P>
      <P ALIGN="CENTER"><A HREF="index.html">Back to the Functionality and View 
        Index </A></P>
      <!-- #EndEditable --></TD>
	</TR>
	<TR>
		<TD BACKGROUND="../images/template_ll.gif" HEIGHT="40" WIDTH="200">
			<!-- Comment -->
		</TD>
		<TD WIDTH="80">
			<!-- Comment -->
		</TD>
		<TD>
			<CENTER><SPAN CLASS="Copyright">Copyright 2000-2001 International Business Machines, All Rights Reserved</SPAN></CENTER>
		</TD>
	</TR>
</TABLE>

</BODY>
<!-- #EndTemplate --></HTML>
