RAD Studio |  |

Copying a Complete String List (VCL)
See Also
Collapse All

Copying a string list can have the effect of appending to or overwriting an existing string list. This VCL application appends to a string list. With a simple change, it can overwrite a string list. Creating this VCL application consists of the following steps:

1. Create a VCL Form with TButtons, TComboBox, and TMemo controls.
2. Write the code to create a string list to the Button1 OnClick handler.
3. Write the code to copy the string list to the Button2 OnClick handler.
4. Run the application.

To create a VCL Form with Button, ComboBox, and Memo controls

1. Choose FileNewOtherDelphi Projects or C++Builder Projects and double-click the VCL Forms Application icon. The VCL Forms Designer is displayed.
2. From the Standard page of the Tool palette, place two TButtons, a TComboBox, and a TMemo component on the form.

To create the string list

1. Select Button1 on the form.
2. In the Object Inspector, double-click the OnClick action on the Events tab. The Code Editor displays, with the cursor in the TForm1.Button1Click (Delphi) or TForm1::Button1Click (C++) event handler block.
3. For Delphi, place the cursor before the begin reserved word; then press return. This creates a new line above the code block.
4. For Delphi, insert the cursor on the new line created and type the following variable declarations:

Copy Code

    var
      StringList: TStrings;

For C++, enter the following variable declarations:

Copy Code

    TStrings *StringList;

1. Insert the cursor within the code block, and type the following code:

Copy Code

    StringList := TStringList.Create;
      try
        with StringList do begin
          Add('This example uses a string List.');
          Add('It is the easiest way to add strings');
          Add('to a combobox''s list of strings.');
          Add('Always remember: the TStrings.Create');
          Add('method is abstract; use the');
          Add('TStringList.Create method instead.');
        end;

        with ComboBox1 do begin
                            Width := 210;
          Items.Assign(StringList);
          ItemIndex := 0;
        end;
      finally
        StringList.free;
      end;

Copy Code

    StringList = new TStringList();
    try {
     StringList->Add( "This example uses a string list" );
     StringList->Add( "It is the easiest way to add strings" );
     StringList->Add( "to a ComboBox's list of strings." );
     StringList->Add( "Remember to call the TStringList constructor!" );
     ComboBox1->Width = 210;
     ComboBox1->Items->Assign( StringList );
     ComboBox1->ItemIndex = 0;
    } __finally {
     StringList->Free();
    }

To copy the string list

1. Select Button2 on the form.
2. In the Object Inspector, double-click the OnClick action on the Events tab. The Code Editor displays, with the cursor in the TForm1.Button2Click (Delphi) or TForm1::Button2Click (C++) event handler block. At the cursor, enter the following code:

Copy Code

    Memo1.Lines.AddStrings(ComboBox1.Items);

Copy Code

    Memo1–>Lines->AddStrings( ComboBox1–>Items

To run the application

1. Save your project files; then choose RunRun to build and run the application. The form displays with the controls.
2. Click Button1.
3. In ComboBox1, click the arrow to expand the drop-down list. The strings display in the TComboBox in the order listed in the event handler code for Button1.
4. Click Button2. In the Memo1 window, the strings from ComboBox1 are appended to the 'Memo1' string.
   Note: Try replacing the code in the Button2 event handler with the following code; then compile and run the application again.

Copy Code

    Memo1.Lines.Assign(ComboBox1.Items);

Copy Code

    Memo1–>Lines->Assign( ComboBox1–>Items );

The strings from ComboBox1 overwrite the 'Memo1' string.

See Also

VCL Overview

Building a VCL Forms Application

Copyright(C) 2009 Embarcadero Technologies, Inc. All Rights Reserved.
What do you think about this topic? Send feedback!