Wednesday, December 30, 2009

Recording Your Own Audio





Recording Your Own Audio



So you're an amateur musician with a few songs you want to
record, and you're not sure you want to spend $50 an hour on studio time. But
you do have a guitar, a microphone, and a little mixing board. You're ready to record
onto your computer�but how? Well, assuming you have the output of the mixer
attached to your soundcard, here's how:



$ rec mysong.wav
Send break (control-c) to end recording


It's that simple. rec
is part of the SOX package, which I discuss in the upcoming section, Converting
Between File Formats. The command line explains itself�it records audio data
into the file mysong.wav, in WAV format.
lang=EN-GB style='font-size:11.5pt'>rec knows what
format to use by looking at the file extension. If you provide a class=docemphasis1>-t
-type option, it will use that type instead. When
you're done playing, press Control-C to finish writing the file.



To play back the file, simply type:



$ play mysong.wav


playlang=EN-GB> is also part of the SOX package, the complement to class=docemphasis1>rec. But when mysong.wav
plays back, it sounds terrible! What went wrong? Let's try a different playback
tool, one that displays some information about the file:



$ wavp mysong.wav
WavTools 1.3 Written by Colin Ligertwood.
lang=EN-GB>This software is provided as is. No warranty is offered, implied, or included.
lang=EN-GB>Playing [FILE: mysong.wav] [LENGTH: 987494]
lang=EN-GB>[RATE: 8000] [BPS: 8000] [DEPTH: 8] [CHANNELS: 1]
lang=EN-GB>[TIME: 00:00:00]


The ubiqituous file
command will also work:



$ file mysong.wav
mysong.wav: RIFF (little-endian) data, WAVE audio, Microsoft PCM, 8 bit, mono 8000 Hz


Aha! The rate is 8000 (samples per second),
the depth is 8 (bits), and the number of channels is 1 (mono). This is
definitely not CD-quality sound! We will need to provide options to class=docemphasis1>rec
to specify the appropriate values:



$ rec -r44100 -c2 -sw mysong.wav
lang=EN-GB>Send break (control-c) to end recording


The file sounds much better now. As usual,
consult the SOX man page for more information about the available options.



reclang=EN-GB> can do only the simplest kind of one-track audio recording. If
you want to do professional quality multitrack recording, well, Linux can help
you with that, too! The next chapter, Music Production, has a section about
multitrack hard disk recorders that are available for our favorite operating
system. These applications are quite a bit more sophisticated and allow you to
lay down a number of tracks and then play them back while simultaneously
recording an additional track.



 





10.5 Embperl Commands



[ Team LiB ]










10.5 Embperl Commands


As we saw earlier, Embperl commands start with a "[" and end with a "]". Because "[" has a special meaning, to put a "["on your web page, you must write it as "[[".



10.5.1 [+ Perl Code +]


The code within [+ ... +] is executed, and the result is that the command is replaced with what the code evaluates to. Thus [+ "hello!" +] is the same as print "hello!" in a normal CGI program. For example:



<p>Hello [+ $name +]</p>

If the value of $name is "Gerald Richter", the result of the previous command after Embperl is through processing it is this:



<p>Hello Gerald Richter</p>

A command can contain any Perl expression, including array elements, hash elements, and function calls:



[+ $i+1 +]
[+ $a[$i] +]
[+ $info{name} +]
[+ generate_link() +]

Embperl can be used to create links.
[4] Check out /var/www/html/embperl/link.html:


[4] "Ha! Big deal!" you might think. "I can do that with regular HTML." Of course you can, but with Embperl, you can generate links dynamically.



[-
$url = ´http://www.opensourcewebbook.com/´;
-]

<html>
<head>
<title>The World of Open Source Web Development</title>
</head>
<body bgcolor="#ffffff">
The fun begins here:
<a href="[+ $url +]">[+ $url +]</a>
</body>
</html>

The first part of this HTML file is similar to the previous example, but the URL shown on the web page is inserted via the variable $url in this file.


The line beginning with <a href executes the Embperl code. The code [+ $url +] is evaluated within the double quotes first and evaluated within the >...< a second time. This creates the following valid HTML link:



<a href="http://www.opensourcewebbook.com/">
http://www.opensourcewebbook.com/</a>

This example can be seen by loading one of these URLs into your browser: http://localhost/embperl/link.html or www.opensourcewebbook.com/embperl/link.html. This generates Figure 10.2. Of course, much more fun is to be had if you click the link on the page and go down that rabbit hole.



Figure 10.2. Generating a link in Embperl






10.5.2 [- Perl Code -]


In the previous examples, we've used the construct [- ... -] repeatedly. This command executes the Perl code, but the return value of the code isn't printed into the HTML, as it is with the [+ ... +] construct. However, if you print() within the [- ... -], that printed text does find its way onto the HTML page. The easy way to remember this is that the results of whatever you put inside the [+ ... +] end up in the browser, while that inside [- ... -] doesn't (unless you print()).


Here is one example we have already seen:



[-
$msg = ´hello, world!´;
-]

This assigns a value to the variable $msg but doesn't generate any output that would be displayed by the browser.


This command can be used to execute arbitrary code, such as:



[-
# connect to a MySQL database
use DBI;

$user = ´someuser´;
$pass = ´somepassword´;

$dbh = DBI->connect(´DBI:mysql:somedb´, $user, $pass);
-]

That code does a lot of database things that might need to be done, but it does not generate any HTML that is sent to the browser.



10.5.3 [! Perl Code !]


This command is the same as [- ... -] except that the Perl code within is executed only the first time the page is requested (or when the page is modified). Recall that in Embperl, the page is compiled the first time it is requested, and then it is cached for quick execution for all following requests.


This command is useful for defining subroutines or initializing variables. Here is an example:



[!
sub create_link {
my($url) = @_;

return "<a href=\"$url\">$url</a>";
}

$HOME_URL = ´http://www.opensourcewebbook.com/´;
!]


10.5.4 [# Some Text #]


This is a comment block. Everything between [# ... #] is removed from the output.


Because the pages we discuss here are being processed by Embperl, [# ... #] can be used instead of the HTML comment marks <!-- ... -->.



10.5.5 [$ Command Arguments $]


The [$ ... $] metacommand contains Perl commands such as the flow control constructs if, while, and foreach. This is the syntax for the if metacommand:



[$ if (condition)$]... [$ endif $]

It includes the contents of the if section if the condition is true. For example:



[$ if ($day eq ´Monday´)$]
Today is <b>Monday</b>, so my condolences.<br>
[$ endif $]

The [$ elsif $] and [$ else $] are optional and work similarly. An example is in /var/www/htdocs/embperl/if.html:



[-
# assign date the current date/time (as if we
# executed `date`)
$date = localtime();
-]

<html>
<head>
<title>Embperl if</title>
</head>
<body bgcolor="#ffffff">
Today's date is: <b>[+ $date +]</b>.
<hr>

[# check to see if $date begins with `Mon´ #]
[# if so, it is Monday #]
[$ if ($date =~ /^Mon/) $]
Today is <b>Monday</b>, so my condolences.
[# check to see if $date begins with `Sat´ #]
[# or `Sun´, if so, it is the weekend #]
[$ elsif ($date =~ /^(Sat|Sun)/) $]
Today is a <b>weekend day</b>, so take the day off!
[# otherwise, just a normal work day #]
[$ else $]
Today is an <b>acceptable weekday</b>, so get some work done.
[$ endif $]

</body>
</html>

To view the result, load one of these URLs into your browser: http://localhost/embperl/if.html or www.opensourcewebbook.com/embperl/if.html. You should see something similar to Figure 10.3.



Figure 10.3. An Embperl if metacommand





In addition to the condition if construct, Embperl has looping constructs. This is the syntax for the while metacommand:



[$ while (condition)$]... [$ endwhile $]

The while loop behaves like Perl's while loop�it includes the contents of the while section as long as condition is true. In the following example, the while loop prints all of Apache's environment variables stored within %ENV. Note that the code within [- ... -] is embedded in the middle of the HTML document�Embperl commands can be anywhere within the HTML document.



<html>
<head>
<title>Embperl while</title>
</head>
<body bgcolor="#ffffff">
<h1>Environment Variables</h1>

[-
# initialize $i, the loop control variable
# used within the while loop below
$i = 0;

# grab the keys and sort them, storing them
# in @k
@k = sort(keys(%ENV));
-]

[# loop through @k, printing the variable names #]
[# and their values #]
[$ while ($i <= $#k) $]
[+ $k[$i] +] = [+ $ENV{$k[$i]} +]<br>
[- $i++; -]
[$ endwhile $]

</body>
</html>

Again, note that there are [- ... -] commands in the middle of the page, including [- $i++; -] inside a [$ ... $] command.


To see the result, look at either http://localhost/embperl/while.html or www.opensourcewebbook.com/embperl/while.html. You should see something similar to Figure 10.4.



Figure 10.4. Displaying environment variables with Embperl's while command





Embperl has a foreach loop similar to Perl's foreach loop, passing the control_var through list and executing the body for each of the elements. This is the syntax:



[$ foreach control_var (list)$]...[$endforeach $]

The while loop in the previous example, which prints the environment variables, is better written with foreach:



<html>
<head>
<title>Embperl foreach</title>
</head>
<body bgcolor="#ffffff">
<h1>Environment Variables Redux</h1>

[# loop through the sorted keys of %ENV, printing #]
[# the keys and their values #]
[$ foreach $key (sort keys %ENV) $]
[+ $key +] = [+ $ENV{$key} +]<br>
[$ endforeach $]

</body>
</html>

Executing this code produces the same result as the while loop, as seen in Figure 10.4.


You can see it by going to either of these URLs: http://localhost/embperl/foreach.html or www.opensourcewebbook.com/embperl/foreach.html.



Embperl Language Notes

There is not a [$ for ... $] metacommand in Embperl. The [$ while ... $] command can be used instead (as it can in every other language with those constructs also).


There is a [$ do $] ... [$ until condition $] metacommand. We don't use it much�we rarely find much application for do ... while or do ... until loops in HTML pages. If you care to, you can read about these things at the Embperl web site, http://perl.apache.org/embperl/Embperl.pod.cont.html, or perldoc HTML::Embperl.






    [ Team LiB ]



    8.4 Make a Generic Search Form in a Visual Basic .NET Desktop Application



    [ Team LiB ]









    8.4 Make a Generic Search Form in a Visual Basic .NET Desktop Application


    Another useful utility that takes advantage of being data driven is a standard search form that you can use for any number of tables, such as customers, employees, or products. This How-To shows you how to create such a Windows Form so that all you need to use it with different tables is to set four custom properties of the form in code.


    You like to be able to provide a usable search form for my users, without having the hassle of creating a custom form for every topic that the users are maintaining. In this How-To, you will see how to create a form that provides a quick lookup for records and can be used with various topics, such as Customers and Employees, by setting up only a few custom properties on the search form.


    Technique


    The forms package of Visual Basic has a class module behind it where you can add your own properties and methods. The .NET version of it is no exception.


    In this How-To, you will see a simple use for custom properties that are being added to a form. Properties can be specified on a form by adding the following syntax to your form:



    Public Property PropertyName() As DataType
    Get
    PropertyName = ModuleLevelMemoryVariable
    End Get
    Set(ByVal Value As DataType)
    ModuleLevelMemoryVariable = Value
    End Set
    End Property

    With the ModuleLevelMemoryVariable being declared in the module declaration area of the form's class module, you can see the properties created for the search form, called frmHowTo8_b.vb, in Listing 8.16.


    Listing 8.16 frmHowTo8_4b.vb: Creating Custom Properties for the Search Form


    Private mstrDisplayName As String
    Private mstrRecordSource As String
    Private mstrSearchField As String
    Private moResultValue As Object
    Private mstrKeyField As String

    Public Property DisplayName() As String
    Get
    DisplayName = mstrDisplayName
    End Get
    Set(ByVal Value As String)
    mstrDisplayName = Value
    End Set
    End Property

    Public Property SearchRecordSource() As String
    Get
    SearchRecordSource = mstrRecordSource
    End Get
    Set(ByVal Value As String)
    mstrRecordSource = Value
    End Set
    End Property

    Public Property SearchField() As String
    Get
    SearchField = mstrSearchField
    End Get
    Set(ByVal Value As String)
    mstrSearchField = Value
    End Set
    End Property

    Public Property KeyField() As String
    Get
    KeyField = mstrKeyField
    End Get
    Set(ByVal Value As String)
    mstrKeyField = Value
    End Set
    End Property

    Public Property ResultValue() As Object
    Get
    ResultValue = moResultValue
    End Get
    Set(ByVal Value As Object)
    moResultValue = Value
    End Set
    End Property

    By assigning values to these properties after initiating an instance of the form, you can utilize the properties and the data stored in those properties from within the forms properties and methods, as well as the procedures assigned to the events within the form.


    For more information on creating custom classes, properties, and methods for use with your database application, see Chapter 9, "Using Classes with Databases to Make Life Easier."


    Steps


    Open and run the VB.NET �Chapter 8 solution. From the main Windows Form, click on the command button with the caption How-To 8.4a. This form is a simple one that contains text boxes for the Customer table in Northwind. Click on the Search button to open the search form. Click on the button labeled B. You will see the data grid displayed in the bottom of the form filled with the CompanyName column of the Customer table, beginning with the letter B (see Figure 8.7).


    Figure 8.7. This form can be used for searching within any of the tables in your databases.



    Place the cursor in one of the customers displayed in the grid, and then click Accept. The search form will be hidden, and the fields in the first form will be filled in with the data from the chosen record.












    1. Create a Windows Form. Then place the controls on the form shown in Figure 8.7, with the properties set forth in Table 8.5.





























































































































      Table 8.5. Label, TextBox, and Command Button Controls Property Settings for the Calling Form

      Object



      Property



      Setting



      Label



      Caption



      Customer ID



      Label



      Caption



      Company Name



      Label



      Caption



      Contact



      Label



      Caption



      Contact Title



      Label



      Caption



      Address



      Label



      Caption



      City



      Label



      Caption



      Region



      Label



      Caption



      Country



      Label



      Caption



      Phone



      Label



      Caption



      Fax



      TextBox



      Name



      txtCustomerID



      TextBox



      Name



      txtCompanyName



      TextBox



      Name



      txtContact



      TextBox



      Name



      txtContactTitle



      TextBox



      Name



      txtAddress



      TextBox



      Name



      txtCity



      TextBox



      Name



      txtRegion



      TextBox



      Name



      txtPostalCode



      TextBox



      Name



      txtCountry



      TextBox



      Name



      txtPhone



      TextBox



      Name



      txtFax



      Button



      Name



      btnSearch


       

      Caption



      &Search


    2. On btnSearch, add the code in Listing 8.17 to the Click event. This routine shows the power of creating custom properties. After instantiating an instance of the Search form�in this case, frmHowTo8_4b.vb�the four custom properties shown in Listing 8.17 are set before the form is displayed. This is powerful in letting you get the form set up exactly the way you want to before the user even sees it. After setting up the custom properties, the ShowDialog method is called off of frmSearch. By calling this method, code execution is halted until the form is closed or hidden. This same line of code compares the DialogResult property of the form to the value; if it matches, the code calls the LoadIndividual routine, passing the ResultValue custom property of frmSearch. Both the DialogResult and ResultValue properties are set in frmSearch and will be shown later in these steps.


      Listing 8.17 frmHowTo8_4a.vb: Executing a SQL Server-Supplied Stored Procedure That Lists the Tables in the Database


      Private Sub btnSearch_Click(ByVal sender As System.Object, _
      ByVal e As System.EventArgs) Handles btnSearch.Click

      '-- Instantiate the search forms.
      Dim frmSearch As frmHowTo8_4b
      frmSearch = New frmHowTo8_4b()

      '-- Set the custom data properties on the search form.
      ' This is what makes it so data driven.

      frmSearch.DisplayName = "Customers"
      frmSearch.SearchRecordSource = "Customers"
      frmSearch.SearchField = "CompanyName"
      frmSearch.KeyField = "CustomerID"

      '-- Open the search form as dialog.
      ' Based on the DialogResult property, use the
      ' custom property ResultValue property and load
      ' the requested record.

      If frmSearch.ShowDialog() = DialogResult.OK Then

      LoadIndividual(frmSearch.ResultValue)

      End If

      End Sub
    3. Create the LoadIndividual routine by entering the code shown in Listing 8.18 into the form. Taking the strKeyValue passed from the results of the search, a data adapter is created and a DataSet is filled. Next, the individual data row is created. Last, each of the TextBox controls is loaded with the value from the column with the corresponding name. Notice the use of the Try…Catch…End Try to ignore controls that don't have a like column in the data row.


      Listing 8.18 frmHowTo8_4a.vb: Loading an Individual Record into Text Boxes on the Form


      Private Sub LoadIndividual(ByVal strKeyValue As String)

      Dim strSQL As String
      Dim strName As String
      Dim oCtl As Object

      Dim dsCustIndiv As New DataSet()
      Dim odaCustIndiv As OleDb.OleDbDataAdapter
      Dim drCustIndiv As DataRow

      Try
      '-- Load the individual record into the dataset
      strSQL = "Select * from Customers Where CustomerID = '" &
      strKeyValue & "'"
      odaCustIndiv = New OleDb.OleDbDataAdapter(strSQL, _
      BuildCnnStr("(local)", "Northwind"))

      '-- Fill the dataset
      odaCustIndiv.Fill(dsCustIndiv, "Customers")

      '-- Grab the individual data row
      drCustIndiv = dsCustIndiv.Tables("Customers").Rows(0)

      Catch oexpData As OleDb.OleDbException

      MessageBox.Show("Error loading individual data: " & _
      oexpData.Message)
      Exit Sub

      End Try

      '-- Run through the text boxes on the form.
      '-- If they match up with a field from the record, load them.

      For Each oCtl In Me.Controls

      If TypeOf oCtl Is TextBox Then

      strName = Mid(oCtl.Name, 4)

      '-- By trapping the exception this way, errors are ignored.
      Try
      oCtl.text = drCustIndiv(strName).ToString
      Catch oexp As Exception
      End Try

      End If

      Next

      End Sub
    4. Create the next Windows Form and call it whatever name you referred to in the search form in step 2. Then place the controls shown in Figure 8.7 of the search form, with the properties set as in Table 8.6.



































































































      Table 8.6. Label, TextBox, DataGrid, and Command Button Controls Property Settings for the Calling Form

      Object



      Property



      Setting



      GroupBox



      Name



      GroupBox1


       

      Text



      Click on a Letter



      Button



      Name



      btnA


       

      Caption



      A



      Button



      Name



      btnB


       

      Caption



      B



      Button



      Name



      btnC


       

      Caption



      C



      ...


        

      Button



      Name



      btnZ


       

      Caption



      Z



      Button



      Name



      btnAll


       

      Caption



      All



      DataGrid



      Name



      dgSearch



      Button



      Name



      btnAccept


       

      Caption



      &Accept



      Button



      Name



      btnCancel


       

      Caption



      &Cancel


    5. Create the custom properties discussed in the "Technique" section of this How-To and found in Listing 8.19. Each of the properties is self-explanatory.


      Listing 8.19 frmHowTo8_4b.vb: Creating Custom Properties for the Search Form


      Private mstrDisplayName As String
      Private mstrRecordSource As String
      Private mstrSearchField As String
      Private moResultValue As Object
      Private mstrKeyField As String

      Public Property DisplayName() As String
      Get
      DisplayName = mstrDisplayName
      End Get
      Set(ByVal Value As String)
      mstrDisplayName = Value
      End Set
      End Property

      Public Property SearchRecordSource() As String
      Get
      SearchRecordSource = mstrRecordSource
      End Get
      Set(ByVal Value As String)
      mstrRecordSource = Value
      End Set
      End Property

      Public Property SearchField() As String
      Get
      SearchField = mstrSearchField
      End Get
      Set(ByVal Value As String)
      mstrSearchField = Value
      End Set
      End Property

      Public Property KeyField() As String
      Get
      KeyField = mstrKeyField
      End Get
      Set(ByVal Value As String)
      mstrKeyField = Value
      End Set
      End Property

      Public Property ResultValue() As Object
      Get
      ResultValue = moResultValue
      End Get
      Set(ByVal Value As Object)
      moResultValue = Value
      End Set
      End Property
    6. On the form, add the code in Listing 8.20 to the Load event. This routine ensures that the calling form set the DisplayName custom property; thus, this routine can assume that the others were set as well. If not, a message box is displayed. If so, the Text property of the form, which is displayed in the Title bar, is set to DisplayName.


      Listing 8.20 frmHowTo8_4b.vb: Executing a SQL Server-Supplied Stored Procedure That Lists the Tables in the Database


      Private Sub frmHowTo8_4b_Load(ByVal sender As Object, _
      ByVal e As System.EventArgs) Handles MyBase.Load

      If Len(Me.DisplayName) = 0 Then

      MessageBox.Show("Form specific properties not set.")
      Me.Close()

      Else

      Me.Text = Me.Text & " " & Me.DisplayName

      End If

      End Sub
    7. For each of the command buttons that has a single letter, add the first subroutine displayed in Listing 8.21 to each of the Click events. For the btnAll Button control, add the second subroutine to the Click event. Each Button control will pass the letter it represents to the subroutine called SetData, discussed in the next step. The btnAll code simply passes the empty string.


      Listing 8.21 frmHowTo8_4b.vb: Click Events for Each of the Letter Button Controls


      Private Sub btnA_Click(ByVal sender As System.Object,
      ByVal e As System.EventArgs) Handles btnA.Click
      SetData("A")
      End Sub
      Private Sub btnAll_Click(ByVal sender As System.Object,
      ByVal e As System.EventArgs) Handles btnAll.Click
      SetData("")
      End Sub
    8. Add the subroutine in Listing 8.22 to the class module of the form. This routine takes the letter value passed in strFilterLetter as a parameter. A SQL Select string is created that takes the literal values Select, From, and Where and uses the custom properties KeyField, SearchField, and SearchRecordSource. The SearchField property is used with the Like clause, also using the strFilterLetter and the % (wildcard). Note that if "" is passed to strFilterLetter, all the records will be listed. Finally, odtSearch is filled and set as the data source for dgSearch, which is the DataGrid control.


      Listing 8.22 frmHowTo8_4a.vb: Filling the Results Set Based on the Letter Button That Was Pressed


      Sub SetData(ByVal strFilterLetter As String)

      Dim odaSearch As OleDb.OleDbDataAdapter
      Dim dtSearch As DataTable = New DataTable()

      odaSearch = New _
      OleDb.OleDbDataAdapter("Select " & Me.KeyField & ", " &
      Me.SearchField & " From " & Me.SearchRecordSource & " Where " &
      Me.SearchField & " Like '" & strFilterLetter & "%'",
      (BuildCnnStr("(local)", "Northwind")))

      odaSearch.Fill(dtSearch)
      dgSearch.DataSource = dtSearch

      End Sub

      Note





      This routine more than any in this How-To shows the flexibility of this technique. You can use any table values for these properties. Just think of how many places you can use this form without changing a line of code in the form.



    9. On the buttons called btnAccept and btnCancel, add the code in Listing 8.23 to the appropriate Click event of each. The btnAccept_Click routine creates a DataTable object from the data grid's DataSource property. Then it derives the data row that is currently selected from that data table. The KeyField property is used to store the individual column value of drCurr into the ResultValue custom property. The DialogResult property is set to OK, and the form is hidden with the Hide method. By hiding the form, you can still read the properties of the form without the user seeing it.


      In the btnCancel_Click routine, the DialogResult is set to No, and the form is closed. This action tells the calling form that the search was canceled.


      Listing 8.23 frmHowTo8_4b.vb: Storing the Resulting Key Value to the ResultValue Custom Property and Setting the DialogResult


      Private Sub btnAccept_Click(ByVal sender As System.Object, _
      ByVal e As System.EventArgs) Handles btnAccept.Click

      Dim dtFromGrid As DataTable
      Dim drCurr As DataRow

      Try

      '-- Using the DataRow and DataTable objects of the DataGrid control,
      ' get the selected result and assign it to the custom property
      ' ResultValue. Then set the DialogResult
      ' property to DialogResult.OK,
      ' and hide the form so that the calling form can still access it.

      dtFromGrid = CType(dgSearch.DataSource, DataTable)

      drCurr = dtFromGrid.Rows(Me.dgSearch.CurrentRowIndex())
      Me.ResultValue = drCurr(Me.KeyField).ToString
      Me.DialogResult = DialogResult.OK
      Me.Hide()

      Catch exp As Exception
      Me.DialogResult = DialogResult.No
      Me.Close()

      End Try

      End Sub

      Private Sub btnCancel_Click(ByVal sender As System.Object, _
      ByVal e As System.EventArgs) Handles btnCancel.Click

      Me.DialogResult = DialogResult.Cancel
      Me.Close()

      End Sub

    How It Works


    When the user clicks on the search button, the calling form sets the custom properties of the search form, telling it what record source to use, as well as other information used for searching for the specific record and domain desired�in this case:



    • Customers for the property DisplayName


    • Customers for the property SearchRecordSource


    • CustomerID for the property KeyField


    • CompanyName for the property SearchField



    After the search form is loaded, the user presses one of the letters to narrow down the records to look for, a data adapter is passed a SQL String made up of the properties just mentioned, a data table is filled, and the data grid's DataSource property sets the data table.


    When the user clicks Accept, the data table is retrieved from the data grid, which then produces the data row that contains the key field. This is stored into the ResultValue property of the search form, the DialogResult property is set to DialogResult.OK, and the form is hidden.


    Back on the calling form, the LoadIndividual routine is called and passed the ResultValue property from the search form. The text boxes are then loaded with the data row results.


    Comments


    This technique shows a number of ways that the various ADO.NET objects can be used. Take a close look at the use of the dialog style form, forcing code execution to halt until you hide or close the form. This is a technique that you will use throughout your applications after you get used to it.


    Again, you can enhance this tool in a number of ways. One way is to allow the user to enter a string value to type in, narrowing down the choices even more, and another is to add a property that could be used to specify multiple columns to be displayed.






      [ Team LiB ]



      iterator_traits









      Class Name iterator_traits

      Header File <iterator>

      Classification abstract data type



      Class Relationship Diagram



      Class Description

      Member Classes



      None



      Types



      Iterator::difference_type difference_type

      Iterator::value_type value_type

      Iterator::pointer pointer

      Iterator::reference reference

      Iterator::iterator_category iterator_category



      Class Description



      The iterator_traits template class describes the types associated with an iterator. They are described as type definitions. There is a iterator_traits defined for every iterator type. If there is to be a new iterator type to be defined and the d
      efault type definitions are not adequate, a new iterator_traits<Iterator> is implicitly generated.






      Iterator::difference_type difference_type



      difference_type is of type Distance used to represent the difference between two iterators.





      Iterator::value_type value_type



      value_type is of type T, a class of objects that the iterator is pointing,





      Iterator::pointer pointer



      pointer has a default Pointer to type T.





      Iterator::reference reference



      reference has a default Reference to type T.






      Iterator::iterator_category iterator_category



      The iterator type defined by an iterator tag of the most specific iterator behavior. These are the five iterator tags which
      represent the five types of iterators:





      input_iterator_tag

      output_iterator_tag

      forward_iterator_tag

      bidirectional_iterator_tag

      random_access_iterator_tag





      The Class Relationship Diagram for iterator_traits






      Reorganizing a Table



      [ Team LiB ]






      Reorganizing a Table


      You can reorganize a table immediately or schedule it for a specific date and time. When you reorganize a table, the table data is rearranged into a physical sequence, usually according to a specified index. As a result, SQL statements on that data can be processed more efficiently. Also, the reorganization process removes unused, empty space from the table, and the reorganized table is stored more compactly.


      Use the following instructions to reorganize your table immediately:








      1. Before you reorganize tables, collect the statistics of the data as described in the preceding section.


      2. In the Control Center, click the Tables icon to see a list of tables available.


      3. In the contents pane, right-click the table you want to reorganize and select Reorganize from the pop-up menu. The Reorganize Table dialog box opens (see Figure 19.19). Accept the defaults for this example.



        Figure 19.19. The Reorganize Table dialog box.






        Tip



        It's generally recommended that you specify a temporary SMS table space. If the table you're reorganizing resides in a DMS table space, and you think the temporary space will fit in the same table space, don't specify a table space in this combo box. The reorganization runs faster in this case. Specifying a DMS table space as the temporary table space isn't generally recommended. If you specify a DMS table space in this field, you can reorganize only one table in that table space at a time.



      4. Click OK to reorganize the table immediately.


        Alternatively, click Schedule to open the Schedule window to schedule the reorganization for a specific time or date.


        Tip



        You may want to schedule this activity because reorganizing data can be time-consuming and users won't be able to access the table being organized.


      5. When the tables are reorganized, collect the statistics again as explained earlier in the section "Collecting Statistics." Doing so provides the most up-to-date statistics for the data so that you can get the fastest access to it based on the new organization of the data and indexes.


        Tip



        You may want to issue the REORGCHK command, which calculates the statistics on the database and provides a recommendation if the tables or indexes, or both, need to be reorganized.




      You should rebind applications that use static SQL after collecting statistics because the SQL optimizer may choose a different access plan given the new statistics. In particular, you should rebind those programs that reference tables for which the new statistics are available. (See Day 11, "Accessing the Data.")






        [ Team LiB ]



        Recipe 3.12 Creating Contextual Menus











         < Day Day Up > 







        Recipe 3.12 Creating Contextual Menus







        Problem





        You have a

        navigation menu, created with Recipe 3.6. You want to highlight the current

        page's location on the menu, as in Figure 3-25.







        Figure 3-25. The navigation set of links











        Solution





        Place an id attribute in the

        body element of the web document:





        <body id="pagespk">







        Also, place id attributes in the anchor elements

        for each link in the menu:





        <div id="navsite">

        <h5>Site navigation:</h5>

        <ul>

        <li><a href="/" id="linkhom">Home</a></li>

        <li><a href="/about/" id="linkabt">About</a></li>

        <li><a href="/archives/" id="linkarh">Archives</a></li>

        <li><a href="/writing/" id="linkwri">Writing</a></li>

        <li><a href="/speaking/" id="linkspk">Speaking</a></li>

        <li><a href="/contact/" id="linkcnt">Contact</a></li>

        </ul>

        </div>







        With CSS, place two id selectors into one

        descendent selector to finish the

        menu (see Figure 3-26):





        #pagespk a#linkspk {

        border-left: 10px solid #f33;

        border-right: 1px solid #f66;

        border-bottom: 1px solid #f33;

        background-color: #fcc;

        color: #333;

        }









        Figure 3-26. The current link is different from the rest of the links











        Discussion





        If you have a small site, you can show a link in a set of navigation

        links representing the current page by stripping out the anchor link

        for that page:





        <div id="navsite">

        <h5>Site navigation:</h5>

        <ul>

        <li><a href="/"Home</a></li>

        <li><a href="/about/">About</a></li>

        <li><a href="/archives/">Archives</a></li>

        <li><a href="/writing/" >Writing</a></li>

        <li>Speaking</li>

        <li><a href="/contact/" >Contact</a></li>

        </ul>

        </div>







        For larger sites that might contain secondary menus, stripping out

        the link tags on each page increases production and maintenance time.

        By marking up the links appropriately, the links can be called from a

        server-side include, and then you can edit the CSS rules that control

        the style of the navigation links as needed.





        To expand the one CSS to include all the links in the navigation

        menu, group the descendent selectors by a comma and at least one

        space:





        #pagehom a#linkhom:link,

        #pageabt a#linkabt:link,

        #pagearh a#linkarh:link,

        #pagewri a#linkwri:link,

        #pagespk a#linkspk:link,

        #pagecnt a#linkcnt:link {

        border-left: 10px solid #f33;

        border-right: 1px solid #f66;

        border-bottom: 1px solid #f33;

        background-color: #fcc;

        color: #333;

        }







        In each web document, make sure to put the appropriate

        id attribute in the body

        element. For example, for the home or main page of the site, the body

        element is <body

        id="pagehom">.









        See Also





        The CSS 2.1 specification on descendent selectors at http://www.w3.org/TR/CSS21/selector.html#descendant-selectors.























           < Day Day Up > 



          Exercises



          [ LiB ]

          Exercises

          1:

          Answer the following as True or False:

          1. High-level languages are difficult to port to other architectures.

          2. High-level languages are called high-level because they resemble human languages.

          3. Programming languages are translation systems.

          4. The biggest problem with low-level languages is adapting them to different platforms.

          2:

          Fill in the blanks in the following sentences:

          1. A computer program that converts assembly language to machine language is called a(n) _____.

          2. A computer program that translates code during the program _____ is called an interpreter.

          3. An example of a high-level language besides Python, Ruby, or Lua is____ (give at least two examples).

          3:

          What is the only language that a computer can understand directly?

          4:

          Imagine your ideal programming language. Make a list of ten must-have features that your perfect programming language would possess.

          5:

          Describe the differences between high-level, interpreted, and scripting language features (I warned you there was a quiz coming up)!



            [ LiB ]


            Recipe 9.4 Keeping Background Images Stationary in Internet Explorer 6 for Windows











             < Day Day Up > 







            Recipe 9.4 Keeping Background Images Stationary in Internet Explorer 6 for Windows







            Problem





            You want to have a fixed background image in





            Internet Explorer 6 for Windows.









            Solution





            Use the following

            JavaScript hack to force the effect.

            First copy the following code to call up the JavaScript code in your

            web page:





            <head>

            <script type="text/javascript" src="fixed.js"></script>

            </head>







            Then in the fixed.js file place the JavaScript

            code for the workaround, which can be found at this book's online

            sample archive http://www.oreilly.com/catalog/cssckbk/ or

            from Andrew Clover's site at http://doxdesk.com/software/js/fixed.html.









            Discussion





            According to the CSS 2 specification, when a background image is

            fixed using the background-attachment

            property, it shouldn't move when the user scrolls

            the web page. In all versions of Internet Explorer for Windows, this

            property doesn't work at all.





            However, this stunning JavaScript workaround developed by Andrew

            Clover fixes this problem by simply adding the JavaScript link to the

            web page. The JavaScript works by dynamically recalculating the

            position of the viewport as a user scrolls, and then it adjusts the

            background image accordingly.









            See Also





            Recipe 2.7 for more information about

            setting a fixed background image; the CSS specification for

            background-attachment at http://www.w3.org/TR/CSS21/colors.html#propdef-background-attachment.



















               < Day Day Up > 



              Appendix C: Oracle Default Usernames and Passwords















































              Appendix C: Oracle Default Usernames and Passwords



              Table C-1 contains 620 usernames and passwords.
















































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































              Table C-1: Oracle Default Usernames and Passwords





              Username



              Password



              !DEMO_USER



              !DEMO_USER



              A



              A



              ABM



              ABM



              ACCORTO



              ACCORTO



              ADAMS



              WOOD



              ADLDEMO



              ADLDEMO



              ADMIN



              JETSPEED



              ADMIN



              WELCOME



              ADMINISTRATOR



              ADMIN



              ADMINISTRATOR



              ADMINISTRATOR



              AHL



              AHL



              AHM



              AHM



              AK



              AK



              ALHRO



              XXX



              ALHRW



              XXX



              ALR



              ALR



              AMS



              AMS



              AMV



              AMV



              ANDY



              SWORDFISH



              ANONYMOUS



              ANONYMOUS



              AP



              AP



              APPLMGR



              APPLMGR



              APPLPROD



              APPLPROD



              APPLSYS



              APPLSYS



              APPLSYS



              APPS



              APPLSYS



              FND



              APPLSYSPUB



              APPLSYSPUB



              APPLSYSPUB



              FNDPUB



              APPLSYSPUB



              PUB



              APPS



              APPS



              APPS_MRC



              APPS



              APPUSER



              APPPASSWORD



              AQ



              AQ



              AQADM



              AQADM



              AQDEMO



              AQDEMO



              AQJAVA



              AQJAVA



              AQUSER



              AQUSER



              AR



              AR



              AR



              AR



              ASF



              ASF



              ASG



              ASG



              ASL



              ASL



              ASO



              ASO



              ASP



              ASP



              AST



              AST



              ATM



              SAMPLEATM



              AUDIOUSER



              AUDIOUSER



              AURORA$JIS$UTILITY$


               

              AURORA$JIS$UTILITY$



              INVALID



              AURORA$ORB$UNAUTHENTICATED



              INVALID



              AX



              AX



              AZ



              AZ



              BARCODE



              BARCODE1



              BARCODE1



              TESTER



              BARCODE2



              TESTER2



              Username



              Password



              BC4J



              BC4J



              BEN



              BEN



              BIC



              BIC



              BIL



              BIL



              BIM



              BIM



              BIS



              BIS



              BIV



              BIV



              BIX



              BIX



              BLAKE



              PAPER



              BLEWIS



              BLEWIS



              BOLADM



              BOLADM



              BOM



              BOM



              BRIOADMIN



              BRIOADMIN



              BRUGERNAVN



              ADGANGSKODE



              BRUKERNAVN



              PASSWORD



              BSC



              BSC



              BUGREPORTS



              BUGREPORTS



              C$DCISCHEM



              SECRET



              CALVIN



              HOBBES



              CATALOG



              CATALOG



              CCT



              CCT



              CDEMO82



              CDEMO82



              CDEMO82



              CDEMO83



              CDEMO82



              UNKNOWN



              CDEMOCOR



              CDEMOCOR



              CDEMORID



              CDEMORID



              CDEMOUCB



              CDEMOUCB



              CDOUGLAS



              CDOUGLAS



              CE



              CE



              CENS_ADMIN_USER



              CENSLOGIN



              CENS_USER



              CENSLOGIN



              CENTRA



              CENTRA



              CENTRAL



              CENTRAL



              CICS



              CICS



              CIDS



              CIDS



              CIS



              CIS



              CIS



              ZWERG



              CISINFO



              CISINFO



              CISINFO



              ZWERG



              CLARK



              CLOTH



              CLIENTADMIN



              CLIENTADMIN



              CLINE



              CLINE



              CN



              CN



              COMPANY



              COMPANY



              COMPIERE



              COMPIERE



              CQSCHEMAUSER



              PASSWORD



              CQUSERDBUSER



              PASSWORD



              CRP



              CRP



              CS



              CS



              CSC



              CSC



              CSD



              CSD



              CSE



              CSE



              CSF



              CSF



              CSI



              CSI



              CSL



              CSL



              CSMIG



              CSMIG



              CSP



              CSP



              CSR



              CSR



              CSS



              CSS



              CTXDEMO



              CTXDEMO



              Username



              Password



              CTXSYS



              CTXSYS



              CTXSYS



              CHANGE_ON_INSTALL



              CUA



              CUA



              CUE



              CUE



              CUF



              CUF



              CUG



              CUG



              CUI



              CUI



              CUN



              CUN



              CUP



              CUP



              CUS



              CUS



              CZ



              CZ



              CYCTEST



              CYCTEST



              DATA_SCHEMA



              LASKJDF098KSDAF09



              DBI



              MUMBLEFRATZ



              DBSNMP



              DBSNMP



              DBUSER1



              DBPWD1



              DBVISION



              DBVISION



              DEMO



              DEMO



              DEMO8



              DEMO8



              DEMO9



              DEMO9



              DES



              DES



              DES2K



              DES2K



              DEV2000_DEMOS



              DEV2000_DEMOS



              DIANE



              PASSWO1



              DIP



              DIP



              DISCOVERER_ADMIN



              DISCOVERER_ADMIN



              DMSYS



              DMSYS



              DPF



              DPFPASS



              DSGATEWAY



              DSGATEWAY



              DSSYS



              DSSYS



              DTSP



              DTSP



              EAA



              EAA



              EAM



              EAM



              EARLYWATCH



              SUPPORT



              EAST



              EAST



              EC



              EC



              ECX



              ECX



              ECX35



              ECX35



              ECX36



              ECX36



              EJB



              EJB



              EJSADMIN



              EJSADMIN



              EJSADMIN



              EJSADMIN_PASSWORD



              ELAN



              ELAN



              EMP



              EMP



              ENG



              ENG



              ENI



              ENI



              ESSBASE



              MYPASSWORD



              ESTOREUSER



              ESTORE



              EVENT



              EVENT



              EVM



              EVM



              EXAMPLE



              EXAMPLE



              EXAMP



              EXAMP



              EXFSYS



              EXFSYS



              EXTDEMO



              EXTDEMO



              EXTDEMO2



              EXTDEMO2



              FA



              FA



              FEEDBACK



              FEEDBACK



              FEM



              FEM



              FGA_SECURITY



              FGA_SECURITY



              FII



              FII



              FINANCE



              FINANCE



              Username



              Password



              FINPROD



              FINPROD



              FLM



              FLM



              FND



              FND



              FOO



              BAR



              FPT



              FPT



              FRM



              FRM



              FROSTY



              SNOWMAN



              FTE



              FTE



              FV



              FV



              GEI452



              GEI452



              GL



              GL



              GMA



              GMA



              GMD



              GMD



              GME



              GME



              GMF



              GMF



              GMI



              GMI



              GML



              GML



              GMP



              GMP



              GMS



              GMS



              GPFD



              GPFD



              GPLD



              GPLD



              GR



              GR



              GRAFIC



              GRAFIC



              HADES



              HADES



              HCPARK



              HCPARK



              HLW



              HLW



              HR



              HR



              HR



              CHANGE_ON_INSTALL



              HRI



              HRI



              HVST



              HVST



              HUSMETA



              HUSMETA



              HXC



              HXC



              HXT



              HXT



              IBA



              IBA



              IBANK_USER



              IBANK_USER



              IBE



              IBE



              IBP



              IBP



              IBU



              IBU



              IBY



              IBY



              ICDBOWN



              ICDBOWN



              ICX



              ICX



              IDEMO_USER



              IDEMO_USER



              IEB



              IEB



              IEC



              IEC



              IEM



              IEM



              IEO



              IEO



              IES



              IES



              IEU



              IEU



              IEX



              IEX



              IFSSYS



              IFSSYS



              IGC



              IGC



              IGF



              IGF



              IGI



              IGI



              IGS



              IGS



              IGW



              IGW



              Username



              Password



              IMAGEUSER



              IMAGEUSER



              IMC



              IMC



              IMT



              IMT



              IMEDIA



              IMEDIA



              INTERNAL



              ORACLE



              INTERNAL



              SYS_STNT



              INV



              INV



              IPA



              IPA



              IPD



              IPD



              IPLANET



              IPLANET



              ISC



              ISC



              ITG



              ITG



              JA



              JA



              JAKE



              PASSWO4



              JE



              JE



              JG



              JG



              JILL



              PASSWO2



              JL



              JL



              JMUSER



              JMUSER



              JOHN



              JOHN



              JONES



              STEEL



              JTF



              JTF



              JTM



              JTM



              JTS



              JTS



              JWARD



              AIROPLANE



              KWALKER



              KWALKER



              L2LDEMO



              L2LDEMO



              LAERER865



              LAERER865



              LBACSYS



              LBACSYS



              LIBRARIAN



              SHELVES



              LINUX



              LINUX_DB



              LOGGER



              X



              MANPROD



              MANPROD



              MARK



              PASSWO3



              MASCARM



              MANAGER



              MASTER



              PASSWORD



              MDDATA



              MDDATA



              MDDEMO



              MDDEMO



              MDDEMO_CLERK



              CLERK



              MDDEMO_CLERK



              MGR



              MDDEMO_MGR



              MGR



              MDDEMO_MGR



              MDDEMO_MGR



              MDSYS



              MDSYS



              ME



              ME



              MFG



              MFG



              MGR



              MGR



              MGWUSER



              MGWUSER



              MHSYS



              MHSYS



              MIGRATE



              MIGRATE



              MILLER



              MILLER



              MJONES



              TY3MU9



              MMO2



              MMO2



              MMO2



              MMO3



              MODTEST



              YES



              MOREAU



              MOREAU



              MORGAN



              MORGAN



              MOTEUR



              MOTEUR



              MRP



              MRP



              MSC



              MSC



              Username



              Password



              MSD



              MSD



              MSO



              MSO



              MSR



              MSR



              MTS_USER



              MTS_PASSWORD



              MTSSYS



              MTSSYS



              MUSICAPP



              MUSICAPP



              MWA



              MWA



              MYUSER



              MYPASSWORD



              MXAGENT



              MXAGENT



              MZ



              MZ



              NAMES



              NAMES



              NEOTIX_SYS



              NEOTIX_SYS



              NNEUL



              NNEULPASS



              NOM_UTILISATEUR



              MOT_DE_PASSE



              NOMEUTENTE



              PASSWORD



              NOME_UTILIZADOR



              SENHA



              NUME_UTILIZATOR



              PAROL



              OAS_PUBLIC



              OAS_PUBLIC



              OCITEST



              OCITEST



              OCM_DB_ADMIN



              OCM_DB_ADMIN



              ODS



              ODS



              ODS_SERVER



              ODS_SERVER



              ODM



              ODM



              ODM_MTR



              MTRPW



              ODSCOMMON



              ODSCOMMON



              OE



              OE



              OE



              CHANGE_ON_INSTALL



              OEMADM



              OEMADM



              OEMREP



              OEMREP



              OKB



              OKB



              OKC



              OKC



              OKE



              OKE



              OKI



              OKI



              OKO



              OKO



              OKR



              OKR



              OKS



              OKS



              OKX



              OKX



              OLAPDBA



              OLAPDBA



              OLAPSVR



              INSTANCE



              OLAPSVR



              OLAPSVR



              OLAPSYS



              MANAGER



              OLAPSYS



              OLAPSYS



              OMAIL



              OMAIL



              OMWB_EMULATION



              ORACLE



              ONT



              ONT



              OO



              OO



              OPENSPIRIT



              OPENSPIRIT



              OPI



              OPI



              ORACACHE



              ORACACHE



              ORACLE



              ORACLE



              ORACLEUSER



              ORACLEPASS



              ORADBA



              ORADBAPASS



              ORAPROBE



              ORAPROBE



              ORAREGSYS



              ORAREGSYS



              ORASSO



              ORASSO



              ORASSO_DS



              ORASSO_DS



              ORASSO_PA



              ORASSO_PA



              ORASSO_PS



              ORASSO_PS



              ORASSO_PUBLIC



              ORASSO_PUBLIC



              ORASTAT



              ORASTAT



              ORCLADMIN



              WELCOME



              ORDCOMMON



              ORDCOMMON



              ORDPLUGINS



              ORDPLUGINS



              Username



              Password



              ORDSYS



              ORDSYS



              OSE$HTTP$ADMIN



              INVALID



              OSM



              OSM



              OSP22



              OSP22



              OTA



              OTA



              OUTLN



              OUTLN



              OWA



              OWA



              OWA_PUBLIC



              OWA_PUBLIC



              OWF_MGR



              OWF_MGR



              OWMDEMO



              OWMDEMO



              OWMDEMO2



              OWMDEMO2



              OWNER



              OWNER



              OZF



              OZF



              OZP



              OZP



              OZS



              OZS



              PA



              PA



              PA_FRONT



              PA_PAIC



              PANAMA



              PANAMA



              PARSER



              &PARSER_PASSWORD



              PARTY



              PASS



              PATROL



              PATROL



              PAUL



              PAUL



              PERFSTAT



              PERFSTAT



              PERSTAT



              PERSTAT



              PHPBB



              PHPBB_PASSWORD



              PIRIOUC



              PIRIOUC



              PJM



              PJM



              PLANNING



              PLANNING



              PLEX



              PLEX



              PLSQL



              SUPERSECRET



              PM



              PM



              PM



              CHANGE_ON_INSTALL



              PMI



              PMI



              PN



              PN



              PO



              PO



              PO7



              PO7



              PO8



              PO8



              POA



              POA



              POM



              POM



              PORT5



              5PORT



              PORTAL_DEMO



              PORTAL_DEMO



              PORTAL_SSO_PS



              PORTAL_SSO_PS



              PORTAL30



              PORTAL30



              PORTAL30



              PORTAL31



              PORTAL30_ADMIN



              PORTAL30_ADMIN



              PORTAL30_DEMO



              PORTAL30_DEMO



              PORTAL30_PS



              PORTAL30_PS



              PORTAL30_PUBLIC



              PORTAL30_PUBLIC



              PORTAL30_SSO



              PORTAL30_SSO



              PORTAL30_SSO_ADMIN



              PORTAL30_SSO_ADMIN



              PORTAL30_SSO_PS



              PORTAL30_SSO_PS



              PORTAL30_SSO_PUBLIC



              PORTAL30_SSO_PUBLIC



              POS



              POS



              POWERCARTUSER



              POWERCARTUSER



              PPB



              PPB



              PRIMARY



              PRIMARY



              PSA



              PSA



              PSB



              PSB



              PSP



              PSP



              PUBSUB



              PUBSUB



              PUBSUB1



              PUBSUB1



              PV



              PV



              PZNADMIN



              PZNADMIN_PASSWORD



              Username



              Password



              QA



              QA



              QDBA



              QDBA



              QP



              QP



              QS



              QS



              QS



              CHANGE_ON_INSTALL



              QS_ADM



              QS_ADM



              QS_ADM



              CHANGE_ON_INSTALL



              QS_CB



              QS_CB



              QS_CB



              CHANGE_ON_INSTALL



              QS_CBADM



              QS_CBADM



              QS_CBADM



              CHANGE_ON_INSTALL



              QS_CS



              QS_CS



              QS_CS



              CHANGE_ON_INSTALL



              QS_ES



              QS_ES



              QS_ES



              CHANGE_ON_INSTALL



              QS_OS



              QS_OS



              QS_OS



              CHANGE_ON_INSTALL



              QS_WS



              QS_WS



              QS_WS



              CHANGE_ON_INSTALL



              RE



              RE



              READONLY



              X



              REFERENCE



              ACCORTO



              REMOTE



              REMOTE



              REP_MANAGER



              DEMO



              REP_OWNER



              DEMO



              REP_OWNER



              REP_OWNER



              REP_USER



              DEMO



              REPADMIN



              REPADMIN



              REPORTS_USER



              OEM_TEMP



              REPORTS



              REPORTS



              REPOS_MANAGER



              MANAGER



              REPADMIN



              REPADMIN



              RESOURCE_OLTP1



              MANAGER



              RESOURCE_BATCH1



              MANAGER



              RESOURCE_OLTCP_BATCH1



              MANAGER



              RG



              RG



              RHX



              RHX



              RLA



              RLA



              RLM



              RLM



              RMAIL



              RMAIL



              RMAN



              RMAN



              RMANCAT



              RMANCAT



              RRS



              RRS



              SAMPLE



              SAMPLE



              SAP



              SAPR3



              SAP



              06071992



              SAPR3



              SAP



              SCOTT



              TIGER



              SCOTT



              TIGGER



              SDOS_ICSAP



              SDOS_ICSAP



              SECDEMO



              SECDEMO



              SECUSR



              SECUSR



              SERVICECONSUMER1



              SERVICECONSUMER1



              SH



              SH



              SH



              CHANGE_ON_INSTALL



              SI_INFORMTN_SCHEMA



              SI_INFORMTN_SCHEMA



              SITEMINDER



              SITEMINDER



              SLIDE



              SLIDEPW



              SMB



              SMB



              SP_ELAN



              SP_ELAN



              SPIERSON



              SPIERSON



              SQL2JAVA



              SQL2JAVA



              SSP



              SSP



              STARTER



              STARTER



              STRAT_USER



              STRAT_PASSWD



              SWPRO



              SWPRO



              SWUSER



              SWUSER



              SYMPA



              SYMPA



              SYSADM



              SYSADM



              SYSADMIN



              SYSADMIN



              SYSMAN



              OEM_TEMP



              Username



              Password



              SYSMAN



              SYSMAN



              SYSTEM



              CHANGE_ON_INSTALL



              SYSTEM



              D_SYSTPW



              SYSTEM



              MANAG3R



              SYSTEM



              MANAGER



              SYSTEM



              0RACL3



              SYSTEM



              ORACL3



              SYSTEM



              ORACLE



              SYSTEM



              ORACLE8



              SYSTEM



              ORACLE8I



              SYSTEM



              ORACLE9



              SYSTEM



              ORACLE9I



              SYSTEM



              0RACLE8



              SYSTEM



              0RACLE9



              SYSTEM



              0RACLE9I



              SYSTEM



              0RACLE8I



              SYSTEM



              0RACL38



              SYSTEM



              0RACL39



              SYSTEM



              0RACL38I



              SYSTEM



              SYSTEM



              SYSTEM



              SYSTEMPASS



              SYS



              CHANGE_ON_INSTALL



              SYS



              D_SYSPW



              SYS



              MANAG3R



              SYS



              MANAGER



              SYS



              0RACL3



              SYS



              ORACL3



              SYS



              ORACLE



              SYS



              ORACLE8



              SYS



              ORACLE8I



              SYS



              ORACLE9



              SYS



              ORACLE9I



              SYS



              0RACLE8



              SYS



              0RACLE9



              SYS



              0RACLE9I



              SYS



              0RACLE8I



              SYS



              0RACL38



              SYS



              0RACL39



              SYS



              0RACL38I



              SYS



              SYS



              SYS



              SYSPASS



              TAHITI



              TAHITI



              TALBOT



              MT6CH5



              TBASE



              TBASE



              TEST



              TEST



              TEST_IT



              TEST_IT



              TEST_USER



              TEST_USER



              TEST1



              TEST1



              TDOS_ICSAP



              TDOS_ICSAP



              TEC



              TECTEC



              TEST



              PASSWD



              TEST



              TEST



              TEST_USER



              TEST_USER



              TESTPILOT



              TESTPILOT



              THINSAMPLE



              THINSAMPLEPW



              TIBCO



              TIBCO



              TIMS



              TIMS



              TIP37



              TIP37



              TOGA



              TOGA



              TRACESVR



              TRACE



              TRAVEL



              TRAVEL



              TSDEV



              TSDEV



              TSUSER



              TSUSER



              TURBINE



              TURBINE



              TUTORIAL



              TUTORIAL



              UCDEMO



              UCDEMO



              UDDISYS



              UDDISYS



              ULTIMATE



              ULTIMATE



              Username



              Password



              UM_ADMIN



              UM_ADMIN



              UM_CLIENT



              UM_CLIENT



              USER



              USER



              USER_NAME



              PASSWORD



              USER0



              USER0



              USER1



              USER1



              USER2



              USER2



              USER3



              USER3



              USER4



              USER4



              USER5



              USER5



              USER6



              USER6



              USER8



              USER8



              USER9



              USER9



              USUARIO



              CLAVE



              UTLBSTATU



              UTLESTAT



              UTILITY



              UTILITY



              VEA



              VEA



              VEH



              VEH



              VERTEX_LOGIN



              VERTEX_LOGIN



              VIDEOUSER



              VIDEO USER



              VIDEOUSER



              VIDEOUSER



              VIF_DEVELOPER



              VIF_DEV_PWD



              VIRUSER



              VIRUSER



              VPD



              VPD



              VPD_ADMIN



              AKF7D98S2



              VRR1



              VRR1



              VRR1



              VRR2



              WEBCAL01



              WEBCAL01



              WEBDB



              WEBDB



              WEBREAD



              WEBREAD



              WEBSYS



              MANAGER



              WEBUSER



              YOUR_PASS



              WEST



              WEST



              WFADM



              WFADM



              WFADMIN



              WFADMIN



              WH



              WH



              WIP



              WIP



              WK_SYS



              WK_SYS



              WK_TEST



              WK_TEST



              WKADMIN



              WKADMIN



              WKPROXY



              CHANGE_ON_INSTALL



              WKSYS



              WKSYS



              WKSYS



              CHANGE_ON_INSTALL



              WKUSER



              WKUSER



              WMS



              WMS



              WMSYS



              WMSYS



              WOB



              WOB



              WPS



              WPS



              WS



              WS



              WSH



              WSH



              WSM



              WSM



              WWW



              WWW



              WWWUSER



              WWWUSER



              XADEMO



              XADEMO



              XDB



              CHANGE_ON_INSTALL



              XDP



              XDP



              XLA



              XLA



              XNC



              XNC



              XNI



              XNI



              XNM



              XNM



              XNP



              XNP



              XNS



              XNS



              XPRT



              XPRT



              XTR



              XTR



              ZBGL



              ZBGL