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

Programación en C++ Builder

 Tableaux (tableaux)
 Pointeurs
3. Exemple de la classe en c + +
8. méthodes de la classe AnsiString
 C + +
 Paquets, de distribuer une application sans installation
 Exchange ou le tri des bulles
 Fonctions de chaîne string.h

10. La classe TStrings

classe TString pour la manipulation des chaînes.

10.1. Propriétés

Capacité
Indique le nombre de chaînes pouvant contenir classe TStrings.

 Capacité __property int = {read = GetCapacity, écrire = SetCapacity, NODEFAULT}; 

Description

Lire des capacités actuellement affectés à déterminer la taille de la liste de chaînes. Pour l'objet TStrings, la lecture de la propriété Count renvoie des capacités, des capacités et la mise ne fait rien. Descendants de chien TStrings annuler cette propriété afin de permettre une liste de chaînes à allouer de la mémoire pour les entrées qui n'ont pas été ajoutés à la liste.

CommaText
Liste des chaînes contenues dans l'objet TStrings avec le système de données au format (SDF).
Livraison chaîne de toutes les lignes séparées par des virgules.

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

Description

Utilisez CommaText pour obtenir ou définir toutes les chaînes dans l'objet TStrings dans une chaîne délimitée par des virgules unique.

Lors de la récupération CommaText, et Stock cette chaîne dans la liste des espaces, des virgules ou des guillemets seront contenues dans les guillemets, de droits et des guillemets doubles dans une chaîne sera répété. Par exemple, si la liste contient des chaînes de la suite:

Stri, 1 ng

Stri "NG 2
String 3
String4

CommaText sera de retour:

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

Lors de l'attribution CommaText, la valeur est analysé comme SDF texte formaté. Pour le format SDF, les chaînes sont séparées par des virgules ou des espaces, éventuellement et entre guillemets. guillemets doubles qui sont une partie de la chaîne sont Répétez l'opération pour les distinguer que par les guillemets autour de la chaîne. Les espaces et les virgules qui ne figurent pas au dedans sont des délimiteurs guillemets. Deux virgules côté de l'autre indique une chaîne vide, mais que les espaces apparaissent à côté à un autre délimiteur sont ignorés. Par exemple, supposons CommaText est à Septembre:

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

Ensuite, la liste doit contenir:

Stri, 1 ng

Stri "NG 2
String
3
String4

Décompte
Indique le nombre de chaînes dans la liste.

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

Description

Descendants des TStrings en œuvre propriété Count pour indiquer le nombre de chaînes dans la liste.

Utilisez la propriété Count Lorsque itération sur toutes les chaînes de la liste, ou quand essayant de localiser la position d'une chaîne par rapport à la dernière chaîne dans la liste.

Après les mises à jour par exemple les chaînes dans une zone de liste Compte tenu des chaînes contenues dans une autre zone de liste. Si une chaîne dans la zone de liste source a la forme Nom = valeur et la zone de liste de destination contient une chaîne avec la partie même nom, la partie la valeur dans la liste de destination sera remplacé par la valeur de la source.

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

Options.Clear OpenDialog1-> ();
OpenDialog1-> Options <ofAllowMultiSelect <<<ofFileMustExist;
OpenDialog1-> Filtre = fichiers texte "(*. txt) | *. txt | Tous les fichiers (*.*)|*.*";
OpenDialog1-> FilterIndex = 2, / / début de la boîte de dialogue Afficher tous les fichiers
if (OpenDialog1-> Execute ())
{
for (int i = 0, I <OpenDialog1-> Files-> Count; i + +)
{
stream = fopen (OpenDialog1-> Fichiers-> Strings [I] c_str (), "r".);

if (flux)
{
/ / Lire la première ligne du fichier
fgets (FirstLine, sizeof (FirstLine), cours d'eau);
Lignes Memo1-> Append (FirstLine);
fclose (stream);
}
}
}
}

Noms
Objets
Cordes
Fait référence à la chaîne sur la liste, hors de position.

Exemple:

 Memo1-> Lines-> Strings [0] = "First string"; 

__property System:: AnsiString Strings [int index] = {read = Get, Put} = écrire;

Description

Descendants des TStrings doit mettre en œuvre une fonction d'accesseur pour la propriété Strings de retourner la chaîne à la position indiquée par l'indice. Index donne la position de la chaîne, où 0 est la première chaîne, 1 est la deuxième chaîne, et ainsi de suite.

Utilisez la propriété Strings pour obtenir la chaîne en Septembre ou à une position particulière.

Cet exemple utilise une boîte de dialogue Ouvrir, une note de service, et un bouton sur un formulaire. Lorsque l'utilisateur clique sur le bouton, la boîte de dialogue Ouvrir s'affiche. Lorsque l'utilisateur sélectionne des fichiers dans la boîte de dialogue et choisit le bouton OK, la première ligne de chacun des fichiers est ajoutée à la note de service.

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

Options.Clear OpenDialog1-> ();
OpenDialog1-> Options <ofAllowMultiSelect <<<ofFileMustExist;
OpenDialog1-> Filtre = fichiers texte "(*. txt) | *. txt | Tous les fichiers (*.*)|*.*";
OpenDialog1-> FilterIndex = 2, / / début de la boîte de dialogue Afficher tous les fichiers
if (OpenDialog1-> Execute ())
{
for (int i = 0, I <OpenDialog1-> Files-> Count; i + +)
{
stream = fopen (OpenDialog1-> Fichiers-> Strings [I] c_str (), "r".);

if (flux)
{
/ / Lire la première ligne du fichier
fgets (FirstLine, sizeof (FirstLine), cours d'eau);
Lignes Memo1-> Append (FirstLine);
fclose (stream);
}
}
}
}

StringsAdapter
Texte
Liste des chaînes contenues dans l'objet TStrings dans une seule chaîne avec des chaînes individuelles délimité par un retour chariot et saut de ligne.
Pour traiter toutes les lignes comme une seule chaîne AnsiString.

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

Description

Utiliser le texte pour obtenir ou définir toutes les chaînes dans l'objet TStrings dans une seule chaîne délimitée par un retour chariot, saut de ligne paires.

Lorsque la lecture du texte, les chaînes de la liste sont séparés par un retour chariot, saut de ligne paires. Si l'une des chaînes dans le conteneur de liste à un retour chariot et paire saut de ligne, la valeur du texte sera résultant semble pas contenir plus de chaînes est indiqué par la propriété Count.

Lors de la configuration du texte, la valeur sera analysée sous-chaînes en séparant en Quand un retour chariot ou saut de ligne est rencontrée. (Les deux ne sont pas nécessaires pour former des paires).

Si les chaînes dans la voiture Contenir retour liste ou des caractères de saut de ligne, un format moins ambiguë est disponible pour les cordes-à travers la propriété CommaText.

Exemple:

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

Valeurs

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