Eine vollständige Stringliste kopieren (VCL)
Nach oben zu So erstellen Sie Windows-VCL-Anwendungen
Beim Kopieren wird eine Stringliste entweder an eine vorhandene Stringliste angefügt, oder die vorhandene Liste wird überschrieben. In dieser VCL-Anwendung wird eine Stringliste an eine vorhandene Liste angefügt. Nach einer kleinen Änderung kann die Stringliste auch überschrieben werden. Die Erstellung dieser VCL-Anwendung umfasst die folgenden grundlegenden Schritte:
- Ein VCL-Formular mit Schaltflächen (TButton), Kombinations- (TComboBox) und Memofeldern (TMemo) erstellen.
- Eine OnClick-Ereignisbehandlungsroutine für Button1 schreiben, die eine Stringliste erstellt.
- Eine OnClick-Ereignisbehandlungsroutine für Button2 verfassen, die die Stringliste kopiert.
- Die Anwendung ausführen.
So erstellen Sie ein VCL-Formular mit Schaltflächen, Kombinations- und Memofeldern:
- Wählen Sie Datei > Neu > Weitere > Delphi-Projekte oder C++Builder-Projekte, und doppelklicken Sie auf das Symbol VCL-Formularanwendung.Der VCL-Formular-Designer wird angezeigt.
- Ziehen Sie aus der Seite Standard der Tool-Palette zwei TButton-, eine TComboBox- und eine TMemo-Komponente in das Formular.
So erstellen Sie die Stringliste:
- Markieren Sie im Formular das Steuerelement Button1.
- Doppelklicken Sie im Objektinspektor auf der Registerkarte Ereignisse auf die Aktion OnClick.Der Quelltext-Editor wird angezeigt. Der Cursor befindet sich bereits im Block der Ereignisbehandlungsroutine TForm1.Button1Click (Delphi) bzw. TForm1::Button1Click (C++).
- Bewegen Sie in Delphi den Cursor vor das reservierte Wort begin, und drücken Sie dann die EINGABETASTE.Über dem Codeblock wird eine neue Zeile eingefügt.
- Bewegen Sie in Delphi den Cursor in die neue Zeile, und geben Sie die folgende Variablendeklarationen ein:
var StringList: TStrings;
Geben Sie in C++ folgende Variablendeklarationen ein:
TStrings *StringList;
- Bewegen Sie den Cursor in den Codeblock, und geben Sie folgenden Quelltext ein:
StringList := TStringList.Create;
try
with StringList do begin
Add('In diesem Beispiel wird eine Stringliste verwendet.');
Add('Dies ist die einfachste Möglichkeit zum Anfügen von Strings');
Add('an die Stringliste eines Kombinationsfelds.');
Add('Zur Erinnerung: die TStrings.Create-');
Add('Methode ist abstrakt; verwenden Sie stattdessen');
Add('die Methode TStringList.Create.');
end;
with ComboBox1 do begin
Width := 210;
Items.Assign(StringList);
ItemIndex := 0;
end;
finally
StringList.free;
end;
StringList = new TStringList();
try {
StringList->Add( "In diesem Beispiel wird eine Stringliste verwendet" );
StringList->Add( "Dies ist die einfachste Möglichkeit zum Anfügen von Strings" );
StringList->Add( "an die Stringliste eines Kombinationsfelds." );
StringList->Add( "In diesem Beispiel wird eine Stringliste verwendet." );
ComboBox1->Width = 210;
ComboBox1->Items->Assign( StringList );
ComboBox1->ItemIndex = 0;
} __finally {
StringList->Free();
}
So kopieren Sie die Stringliste:
- Markieren Sie im Formular das Steuerelement Button2.
- Doppelklicken Sie im Objektinspektor auf der Registerkarte Ereignisse auf die Aktion OnClick.Der Quelltext-Editor wird angezeigt. Der Cursor befindet sich bereits im Block der Ereignisbehandlungsroutine TForm1.Button2Click (Delphi) bzw. TForm1::Button2Click (C++). Geben Sie an der Cursorposition folgenden Quelltext ein:
Memo1.Lines.AddStrings(ComboBox1.Items);
Memo1–>Lines->AddStrings( ComboBox1–>Items
So führen Sie die Anwendung aus:
- Speichern Sie die Projektdateien, und wählen Sie dann Start > Ausführen, um die Anwendung zu compilieren und auszuführen.Das Formular wird mit den Steuerelementen angezeigt.
- Klicken Sie auf Button1.
- Klicken Sie in ComboBox1 auf den Pfeil, um die Dropdown-Liste zu erweitern.Die Strings werden im Kombinationsfeld in der Reihenfolge angezeigt, in der sie in der Ereignisbehandlungsroutine für Button1 aufgeführt sind.
- Klicken Sie auf Button2.Im Fenster Memo1 werden die Strings aus ComboBox1 an den String "Memo1" angefügt.
Anmerkung: Ersetzen Sie den Quelltext in der Ereignisbehandlungsroutine für Button2 durch den folgenden Code. Compilieren Sie die Anwendung dann erneut, und führen Sie sie aus.
Memo1.Lines.Assign(ComboBox1.Items);
Memo1–>Lines->Assign( ComboBox1–>Items );
Die String "Memo1" wird durch die Strings aus ComboBox1 überschrieben.