User: alciro    User
 Original    Translate to:  Deutsch  English  Français  中文  
 

Programación en C++ Builder

 Arrays (Arrays)
 Zeiger
3. Beispiel Klasse in C + +
8. AnsiString Klasse Methoden
 C + +-Projekte
 Pakete, verteilen eine Anwendung ohne Installation
 Börse sortieren oder Blase
 Zeichenfolgenfunktionen string.h

10. Die TStrings Klasse

TString Klasse für den Umgang mit Strings.

10.1. Eigenschaften

Kapazität
Gibt die Anzahl der Strings, die Klasse TStrings enthalten kann.

 __property int Kapazität = {read = GetCapacity, schreiben = SetCapacity, NODEFAULT}; 

Beschreibung

Lesen Kapazität derzeit zugewiesenen Zur Liste bestimmen die Größe des Strings. Für die TStrings Objekt, das Lesen der Count-Eigenschaft gibt Kapazität und Leistung Einstellung nichts. Nachkommen von TStrings Hund diese Eigenschaft überschreiben, damit eine String-Liste zu Liste Speicher für Einträge hat That, die fehlten.

CommaText
Liste der Zeichenfolgen in der TStrings Objekt mit dem System-Datenformat (SDF) enthalten.
Lieferkette alle Linien durch Komma getrennt.

 __property System:: AnsiString CommaText = {read = GetCommaText, schreiben = SetCommaText}; 

Beschreibung

Verwenden CommaText zum Abrufen oder Festlegen alle Fäden in der TStrings Objekt in einem Komma-getrennter String.

Beim Abrufen CommaText und Aktien, die Zeichenfolge in der Liste enthalten Leerzeichen, Kommata oder Quotes werden Anführungszeichen verdoppeln Enthalten in und Stock und doppelte Anführungszeichen in einer Zeichenfolge wird wiederholt. Zum Beispiel, wenn die Liste enthält Zeichenketten, die folgenden:

Stri, NG 1

Stri "NG 2
Faden 3
String4

CommaText zurückkehren wird:

"Stri ng 1", "Stri" ng 2 "," String-3 ", String4

Bei der Zuordnung CommaText, Wert ist der Text analysiert, wie SDF formatiert. Für SDF-Format, sind Strings OPTIONALLY Getrennt durch Komma oder Leerzeichen, und in doppelte Anführungszeichen eingeschlossen. Anführungszeichen die Zeichenfolge sind Teil der Wiederholung sind sie zu unterscheiden Das von der Anführungszeichen umgeben die Zeichenfolge. Räume und Kommas Das Enthalten sind in Not sind Trennzeichen in Anführungszeichen. Zwei Komma nebeneinander werden String Geben Sie eine leere, aber die angezeigten Räume neben ein anderes Trennzeichen werden ignoriert. Angenommen, CommaText ist September bis:

"Stri ng 1", "Stri" ng 2 ", String 3, String4

Dann wird die Liste enthalten:

Stri, NG 1

Stri "NG 2
String
3
String4

Graf
Gibt die Anzahl der Strings in der Liste.

 __property int Count = {read = getCount, NODEFAULT}; 

Beschreibung

Nachkommen von TStrings umgesetzt Count-Eigenschaft zur Liste Geben Sie die Anzahl der Strings in der.

Verwenden Sie die Count-Eigenschaft bei der Iteration über alle Fäden in der Liste, oder wenn sie versuchen, die Liste zu finden Position eines Strings in Bezug auf die letzte Zeichenfolge im.

Nach dem Beispiel aktualisiert die Saiten in einem Listenfeld Angesichts der Saiten Box Enthalten in einer anderen Liste. Wenn eine Zeichenfolge in der Liste "Quelle"-Box hat die Form name = value und der Zielliste Box enthält eine Zeichenfolge mit dem gleichen Namen teilweise Value Teil in der Zielliste Feld wird der Wert der ersetzt werden durch die Quelle.

 void __fastcall TForm1:: Button1Click (TObject * Sender) 
{
FILE * stream;
FirstLine char [512];

OpenDialog1-> Options.Clear ();
OpenDialog1-> Optionen <<ofAllowMultiSelect <<ofFileMustExist;
OpenDialog1-> Filter = "Textdateien (*. txt) | *. txt | Alle Dateien (*.*)|*.*";
OpenDialog1-> FilterIndex = 2, / / starten Sie den Dialog Zeige alle Dateien
if (OpenDialog1-> Execute ())
{
for (int i = 0, ich <OpenDialog1-> Files-> Count; I + +)
{
stream = fopen (OpenDialog1-> Dateien-> Strings [I] c_str (), "r".);

if (Stream)
{
/ / Lesen Sie die erste Zeile aus der Datei
fgets (Firstline, sizeof (FirstLine), Bach);
Memo1-> Lines-> Append (FirstLine);
fclose (stream);
}
}
}
}

Namen
Objects
Streicher
Bezieht sich auf die Kette auf der Liste, aus der Position.

Beispiel:

 Memo1-> Lines-> Strings [0] = "Erste String"; 

__property System:: AnsiString Strings [int Index] = {read = GET, PUT} = schreiben;

Beschreibung

Nachkommen von TStrings implementieren muss einen Accessor-Funktion für die Strings-Eigenschaft auf den String an der Position Index gekennzeichnet durch. Index gibt die Position der Zeichenkette, wo 0 ist die erste Saite, 1 ist die zweite Saite, und so weiter.

Verwenden Sie die Strings-Eigenschaft auf Position bekommen die Zeichenfolge im September oder zu einem bestimmten.

In diesem Beispiel wird ein Dialogfeld Öffnen, ein Memo, und eine Schaltfläche auf einem Formular. Wenn der Benutzer auf die Schaltfläche klickt, Dialogfeld "Öffnen" erscheint. Wenn der Benutzer wählt Feld Dateien im Dialog und wählt die Taste OK, erste Zeile von jeder der Dateien ist der Vermerk hinzugefügt, um die.

 void __fastcall TForm1:: Button1Click (TObject * Sender) 
{
FILE * stream;
FirstLine char [512];

OpenDialog1-> Options.Clear ();
OpenDialog1-> Optionen <<ofAllowMultiSelect <<ofFileMustExist;
OpenDialog1-> Filter = "Textdateien (*. txt) | *. txt | Alle Dateien (*.*)|*.*";
OpenDialog1-> FilterIndex = 2, / / starten Sie den Dialog Zeige alle Dateien
if (OpenDialog1-> Execute ())
{
for (int i = 0, ich <OpenDialog1-> Files-> Count; I + +)
{
stream = fopen (OpenDialog1-> Dateien-> Strings [I] c_str (), "r".);

if (Stream)
{
/ / Lesen Sie die erste Zeile aus der Datei
fgets (Firstline, sizeof (FirstLine), Bach);
Memo1-> Lines-> Append (FirstLine);
fclose (stream);
}
}
}
}

StringsAdapter
Text
Liste der Zeichenfolgen in der TStrings Objekt in einer einzigen Kette mit einzelnen Strings getrennt durch einen Wagenrücklauf und Zeilenvorschub enthalten.
Zur Behandlung aller Linien als einzelne Zeichenfolge AnsiString.

__property System:: AnsiString Text = {read = GetTextStr, schreiben = SetTextStr};

Beschreibung

Verwenden Sie Text zu setzen oder alle Fäden in der TStrings Objekt in einem einzigen String begrenzt durch Wagenrücklauf, Zeilenvorschub-Paare.

Beim Lesen Text, Zeichenketten in der Liste werden die Paare Futtermittel getrennt durch Wagenrücklauf, Zeile. Wenn einer der Strings in der Liste Container Wagenrücklauf und Zeilenvorschub Paar mit einem Wert von Text wird die resultierende zu enthalten scheinen mehr als Strings-Eigenschaft angegeben durch den Grafen.

Bei der Einstellung Text, Wert wird die Be Teilzeichenfolgen in geparst durch Trennung Immer wenn ein Wagenrücklauf oder Zeilenvorschub auftritt. (Die beiden nicht benötigt wird, um Paare zu bilden).

Wenn die Zeichenfolgen in der Liste enthalten Wagenrücklauf oder Zeilenvorschub-Zeichen, ein eindeutiger Format ist für die Saiten-durch die CommaText Eigentum.

Beispiel:

 void __fastcall TForm1:: Edit1KeyPress (TObject * Sender, char & Key)
{
Memo1-> Lines-> Text = Memo1-> Lines-> Text + Key;
} 

Werte

Loading
copyright © 2007-2024  www.alciro.org  All rights reserved.         
Share |