[C/C++] [Borland C++ Builder] Mit TStringList-Objekten arbeiten

Dieses Thema im Forum "Programmier Tutorials" wurde erstellt von bonsai, 4. Februar 2010 .

  1. 4. Februar 2010
    Zuletzt von einem Moderator bearbeitet: 15. April 2017
    [Borland C++ Builder] Mit TStringList-Objekten arbeiten

    [C++ Tutorial für Borland C++ Builder] Mit TStringList-Objekten arbeiten:

    Das TStringList-Objekt verwaltet eine Liste, die Strings enthält.


    In diesem Tutorial wird folgendes Wissen vorausgesetzt: Mit String-Variablen arbeiten


    Um eine bessere Übersicht zu schaffen, sind die folgenden Dinge farblich gekennzeichnet:

    TStringList: ..... TStringList *<Bezeichner> . = Name des TStringList-Objekts
    Strings: .......... String <Bezeichner> .......... = Name der String-Variable
    Stringliteral: ... "<Wert>" ........................... = Inhalt des Strings
    Integer: .......... int <Bezeichner>
    Kommentare
    : . // Kommentar



    Methoden von TStringList:

    Spoiler
    TStringList deklarieren:
    Code:
    TStringList *[COLOR="DarkOrchid"]<Bezeichner>[/COLOR] = [B]new[/B] TStringList();
    [COLOR="Blue"]
    // Der Operator [B]'new'[/B] ermöglicht eine dynamische Speicherreservierung
    // [B]'new'[/B] gibt einen Zeiger auf den zugewiesenen Speicher zurück
    // Der Operator [B]'*'[/B] wird verwendet um einen Zeiger zu erzeugen
    // Die Methode [B]'TStringList()'[/B] erstellt ein neues TStringList-Objekt[/COLOR]
    
    [COLOR="Blue"]/* Beispiel 1: */[/COLOR]
    TStringList *[COLOR="DarkOrchid"]strList_Test[/COLOR] = [B]new[/B] TStringList();
    
    [COLOR="Blue"]// da man mit den Operatoren [B]'new'[/B] und [B]'*'[/B] dynamischen Speicher 
    // reserviert hat, muss man diesen immer manuell wieder freigeben!
    // dafür verwendet man den Operator [B]'delete'[/B]
    // [B]'delete'[/B] gibt einen Speicherbereich frei,
    // der durch einen Aufruf von [B]'new'[/B] reserviert wurde
    
    // WICHTIG: Der Operator [B]'delete'[/B] wird ohne 
    // den Operator [B]'*'[/B] (Zeiger) verwendet![/COLOR]
    
    [B]delete[/B] [COLOR="DarkOrchid"]strList_Test[/COLOR];
    
    TStringList: Strings hinzufügen, löschen, einfügen:
    Code:
    [COLOR="Blue"]// Mit dem Operator [B]'->'[/B] kann auf Methoden des TStringList-Objekts
    // zugegriffen werden[/COLOR]
    
    [COLOR="Blue"]// Strings hinzufügen - Rückgabewert (optional) ist die Zeilennummer,
    // welche den angefügten String enthält
    // wobei 0 die ersten Zeile bezeichnet; 1 die zweite, usw.[/COLOR]
    ([COLOR="DarkOrange"]int[/COLOR]) [COLOR="DarkOrchid"]<Bezeichner>[/COLOR]->Add([COLOR="Red"]<Bezeichner>[/COLOR]);
    ([COLOR="DarkOrange"]int[/COLOR]) [COLOR="DarkOrchid"]<Bezeichner>[/COLOR]->Add([COLOR="SeaGreen"]"<Wert>"[/COLOR]);
    
    [COLOR="Blue"]// Strings löschen - Index gibt die Position des Strings an
    // wobei 0 den ersten String bezeichnet; 1 den zweiten, usw.
    // Sollte 'Delete' mit einem ungültigen Index-Wert aufgerufen werden
    // wird eine Exception ausgegeben[/COLOR]
    [COLOR="DarkOrchid"]<Bezeichner>[/COLOR]->Delete([COLOR="DarkOrange"]<Index>[/COLOR]);
    
    [COLOR="Blue"]// alle Strings aus dem TStringList-Objekt löschen[/COLOR]
    [COLOR="DarkOrchid"]<Bezeichner>[/COLOR]->Clear();
    
    [COLOR="Blue"]// Strings einfügen - String an Position Index einfügen 
    // wobei 0 die ersten Zeile bezeichnet; 1 die zweite, usw.
    // Sollte 'Insert' mit einem ungültigen Index-Wert aufgerufen werden
    // wird eine Exception ausgegeben[/COLOR]
    [COLOR="DarkOrchid"]<Bezeichner>[/COLOR]->Insert([COLOR="DarkOrange"]<Index>[/COLOR], [COLOR="Red"]<Bezeichner>[/COLOR]);
    [COLOR="DarkOrchid"]<Bezeichner>[/COLOR]->Insert([COLOR="DarkOrange"]<Index>[/COLOR], [COLOR="SeaGreen"]"<Wert>"[/COLOR]);
    
    Beispiele - Strings hinzufügen, löschen:
    Code:
    [COLOR="Blue"]/* Beispiel 1: */[/COLOR]
    String [COLOR="Red"]strTest1[/COLOR] = [COLOR="SeaGreen"]"Hallo"[/COLOR], [COLOR="Red"]strTest2[/COLOR] = [COLOR="SeaGreen"]"Welt!"[/COLOR];
    
    [COLOR="Blue"]// Beide Strings dem TStringList-Objekt hinzufügen - ohne Rückgabewert[/COLOR]
    [COLOR="DarkOrchid"]strList_Test[/COLOR]->Add([COLOR="Red"]strTest1[/COLOR]);
    [COLOR="DarkOrchid"]strList_Test[/COLOR]->Add([COLOR="Red"]strTest2[/COLOR]);
    
    [COLOR="Blue"]// Beide Strings dem TStringList-Objekt hinzufügen - mit Rückgabewert[/COLOR]
    int [COLOR="DarkOrange"]Pos1[/COLOR] = [COLOR="DarkOrchid"]strList_Test[/COLOR]->Add([COLOR="Red"]strTest1[/COLOR]);
    int [COLOR="DarkOrange"]Pos2[/COLOR] = [COLOR="DarkOrchid"]strList_Test[/COLOR]->Add([COLOR="Red"]strTest2[/COLOR]);
    
    [COLOR="Blue"]// Das TStringList-Objekt sieht dann wie folgt aus:[/COLOR]
    strList_Test:
     Hallo [COLOR="Blue"]// Zeilen-Index 0 - Rückgabewert Pos1 = 0[/COLOR]
     Welt! [COLOR="Blue"]// Zeilen-Index 1 - Rückgabewert Pos2 = 1[/COLOR]
    
    [COLOR="Blue"]// Die gerade hinzugefügten Strings löschen - manuell
    // Reihenfolge beachten - sonst bekommt man eine Exception[/COLOR]
    [COLOR="DarkOrchid"]strList_Test[/COLOR]->Delete([COLOR="DarkOrange"]1[/COLOR]);
    [COLOR="DarkOrchid"]strList_Test[/COLOR]->Delete([COLOR="DarkOrange"]0[/COLOR]);
    
    [COLOR="Blue"]// Die gerade hinzugefügten Strings löschen - mit dem Rückgabewert (Index)
    // Reihenfolge beachten - sonst bekommt man eine Exception[/COLOR]
    [COLOR="DarkOrchid"]strList_Test[/COLOR]->Delete([COLOR="DarkOrange"]Pos2[/COLOR]);
    [COLOR="DarkOrchid"]strList_Test[/COLOR]->Delete([COLOR="DarkOrange"]Pos1[/COLOR]);
    
    [COLOR="Blue"]// alternativ - 2x die erste Zeile löschen[/COLOR]
    [COLOR="DarkOrchid"]strList_Test[/COLOR]->Delete([COLOR="DarkOrange"]0[/COLOR]);
    [COLOR="DarkOrchid"]strList_Test[/COLOR]->Delete([COLOR="DarkOrange"]0[/COLOR]);
    
    [COLOR="Blue"]// schnellste Variante[/COLOR]
    [COLOR="DarkOrchid"]strList_Test[/COLOR]->Clear();
    
    Beispiele - Strings einfügen:
    Code:
    [COLOR="Blue"]/* Beispiel 2: */[/COLOR]
    
    [COLOR="Blue"]// Stringliterale "Das" und "Beispiel" hinzufügen[/COLOR]
    [COLOR="DarkOrchid"]strList_test[/COLOR]->Add([COLOR="SeaGreen"]"Das"[/COLOR]);
    [COLOR="DarkOrchid"]strList_test[/COLOR]->Add([COLOR="SeaGreen"]"Beispiel"[/COLOR]);
    
    [COLOR="Blue"]// Das TStringList-Objekt sieht dann wie folgt aus:[/COLOR]
    strList_Test:
     Das [COLOR="Blue"]// Zeilen-Index 0[/COLOR]
     Beispiel [COLOR="Blue"]// Zeilen-Index 1[/COLOR]
    
    [COLOR="Blue"]// Stringliterale "ist" (Index 1) einfügen[/COLOR]
    [COLOR="DarkOrchid"]strList_test[/COLOR]->Insert([COLOR="DarkOrange"]1[/COLOR], [COLOR="SeaGreen"]"ist"[/COLOR]);
    
    [COLOR="Blue"]// Das TStringList-Objekt sieht dann wie folgt aus:[/COLOR]
    strList_Test:
     Das [COLOR="Blue"]// Zeilen-Index 0[/COLOR]
     ist [COLOR="Blue"]// Zeilen-Index 1[/COLOR]
     Beispiel [COLOR="Blue"]// Zeilen-Index 2[/COLOR]
    
    [COLOR="Blue"]// Stringliterale "ein" (Index 2) einfügen[/COLOR]
    [COLOR="DarkOrchid"]strList_test[/COLOR]->Insert([COLOR="DarkOrange"]2[/COLOR], [COLOR="SeaGreen"]"ein"[/COLOR]);
    
    [COLOR="Blue"]// Das TStringList-Objekt sieht dann wie folgt aus:[/COLOR]
    strList_Test:
     Das [COLOR="Blue"]// Zeilen-Index 0[/COLOR]
     ist [COLOR="Blue"]// Zeilen-Index 1[/COLOR]
     ein [COLOR="Blue"]// Zeilen-Index 2[/COLOR]
     Beispiel [COLOR="Blue"]// Zeilen-Index 3[/COLOR]
    
    TStringList: nach Strings suchen bzw. prüfen ob vorhanden:
    Code:
    int [COLOR="DarkOrange"]<Bezeichner>[/COLOR] = [COLOR="DarkOrchid"]<Bezeichner>[/COLOR]->IndexOf([COLOR="Red"]<Bezeichner>[/COLOR]);
    int [COLOR="DarkOrange"]<Bezeichner>[/COLOR] = [COLOR="DarkOrchid"]<Bezeichner>[/COLOR]->IndexOf([COLOR="SeaGreen"]"<Wert>"[/COLOR]);
    
    [COLOR="Blue"]/* Beispiel 1: */[/COLOR]
    
    [COLOR="Blue"]// prüfen ob "Hallo" im TStringList-Objekt vorhanden ist
    // 'IndexOf' liefert den Zeilen-Index des Strings als Rückgabewert
    // ist der String nicht im TStringList-Objekt enthalten, liefert
    // 'IndexOf' den Wert '-1' als Rückgabewert[/COLOR]
    int [COLOR="DarkOrange"]iPos[/COLOR] = [COLOR="DarkOrchid"]strList_Test[/COLOR]->IndexOf([COLOR="SeaGreen"]"Hallo"[/COLOR]);
    
    [COLOR="Blue"]// den Rückgabewert auswerten[/COLOR]
    if ([COLOR="DarkOrange"]iPos [/COLOR]!= [COLOR="DarkOrange"]-1[/COLOR])
    {
     [COLOR="Blue"]// Stringliteral "Hallo" hat den Index iPos[/COLOR]
    }
    else
    {
     [COLOR="Blue"]// Stringliteral "Hallo" ist nicht im TStringList-Objekt enthalten[/COLOR]
    }
    
    TStringList: Position von 2 Strings tauschen:
    Code:
    [COLOR="DarkOrchid"]<Bezeichner>[/COLOR]->Exchange([COLOR="DarkOrange"]<Index1>[/COLOR], [COLOR="DarkOrange"]<Index2>[/COLOR]);
    
    [COLOR="Blue"]/* Beispiel 1: */[/COLOR]
    [COLOR="DarkOrchid"]strList_Test[/COLOR]->Add([COLOR="SeaGreen"]"4"[/COLOR]);
    [COLOR="DarkOrchid"]strList_Test[/COLOR]->Add([COLOR="SeaGreen"]"5"[/COLOR]);
    [COLOR="DarkOrchid"]strList_Test[/COLOR]->Add([COLOR="SeaGreen"]"3"[/COLOR]);
    [COLOR="DarkOrchid"]strList_Test[/COLOR]->Add([COLOR="SeaGreen"]"1"[/COLOR]);
    [COLOR="DarkOrchid"]strList_Test[/COLOR]->Add([COLOR="SeaGreen"]"2"[/COLOR]);
    
    [COLOR="Blue"]// Das TStringList-Objekt vor dem Tausch:[/COLOR]
    strList_Test:
     4 [COLOR="Blue"]// Zeilen-Index 0[/COLOR]
     5 [COLOR="Blue"]// Zeilen-Index 1[/COLOR]
     3 [COLOR="Blue"]// Zeilen-Index 2[/COLOR]
     1 [COLOR="Blue"]// Zeilen-Index 3[/COLOR]
     2 [COLOR="Blue"]// Zeilen-Index 4[/COLOR]
    
    [COLOR="Blue"]// Index 0 ("4") und Index 3 ("1") tauschen[/COLOR]
    [COLOR="DarkOrchid"]strList_Test[/COLOR]->Exchange([COLOR="DarkOrange"]0[/COLOR], [COLOR="DarkOrange"]3[/COLOR]);
    
    [COLOR="Blue"]// Index 1 ("5") und Index 4 ("2") tauschen[/COLOR]
    [COLOR="DarkOrchid"]strList_Test[/COLOR]->Exchange([COLOR="DarkOrange"]1[/COLOR], [COLOR="DarkOrange"]4[/COLOR]);
    
    [COLOR="Blue"]// Das TStringList-Objekt sieht dann wie folgt aus:[/COLOR]
    strList_Test:
     1 [COLOR="Blue"]// Zeilen-Index 0[/COLOR]
     2 [COLOR="Blue"]// Zeilen-Index 1[/COLOR]
     3 [COLOR="Blue"]// Zeilen-Index 2[/COLOR]
     4 [COLOR="Blue"]// Zeilen-Index 3[/COLOR]
     5 [COLOR="Blue"]// Zeilen-Index 3[/COLOR]
    
    TStringList: Strings sortieren:
    Code:
    [COLOR="DarkOrchid"]<Bezeichner>[/COLOR]->Sort();
    
    [COLOR="Blue"]// Mit 'Sort' werden die Strings im TStringList-Objekt
    // in aufsteigender Reihenfolge sortiert[/COLOR]
    
    [COLOR="Blue"]/* Beispiel 1: */[/COLOR]
    
    [COLOR="Blue"]// Das TStringList-Objekt unsortiert:[/COLOR]
    strList_Test:
     4 [COLOR="Blue"]// Zeilen-Index 0[/COLOR]
     5 [COLOR="Blue"]// Zeilen-Index 1[/COLOR]
     3 [COLOR="Blue"]// Zeilen-Index 2[/COLOR]
     1 [COLOR="Blue"]// Zeilen-Index 3[/COLOR]
     2 [COLOR="Blue"]// Zeilen-Index 4[/COLOR]
    
    [COLOR="Blue"]// TStringList-Objekt sortieren[/COLOR]
    [COLOR="DarkOrchid"]strList_Test[/COLOR]->Sort();
    
    [COLOR="Blue"]// Das TStringList-Objekt sortiert:[/COLOR]
    strList_Test:
     1 [COLOR="Blue"]// Zeilen-Index 0[/COLOR]
     2 [COLOR="Blue"]// Zeilen-Index 1[/COLOR]
     3 [COLOR="Blue"]// Zeilen-Index 2[/COLOR]
     4 [COLOR="Blue"]// Zeilen-Index 3[/COLOR]
     5 [COLOR="Blue"]// Zeilen-Index 4[/COLOR]
    

    Eigenschaften von TStringList:

    Spoiler
    Anzahl der Strings im TStringList-Objekt:
    Code:
    int [COLOR="DarkOrange"]<Bezeichner>[/COLOR] = [COLOR="DarkOrchid"]<Bezeichner>[/COLOR]->[COLOR="DarkOrange"]Count[/COLOR];
    
    [COLOR="Blue"]/* Beispiel 1: */[/COLOR]
    [COLOR="DarkOrchid"]strList_Test[/COLOR]->[COLOR="DarkOrange"]Add[/COLOR]([COLOR="SeaGreen"]"4"[/COLOR]);
    [COLOR="DarkOrchid"]strList_Test[/COLOR]->[COLOR="DarkOrange"]Add[/COLOR]([COLOR="SeaGreen"]"5"[/COLOR]);
    [COLOR="DarkOrchid"]strList_Test[/COLOR]->[COLOR="DarkOrange"]Add[/COLOR]([COLOR="SeaGreen"]"3"[/COLOR]);
    [COLOR="DarkOrchid"]strList_Test[/COLOR]->[COLOR="DarkOrange"]Add[/COLOR]([COLOR="SeaGreen"]"1"[/COLOR]);
    [COLOR="DarkOrchid"]strList_Test[/COLOR]->[COLOR="DarkOrange"]Add[/COLOR]([COLOR="SeaGreen"]"2"[/COLOR]);
    
    [COLOR="Blue"]// Anzahl der Strings im TStringList-Objekt = 5[/COLOR]
    int [COLOR="DarkOrange"]iListCnt[/COLOR] = [COLOR="DarkOrchid"]strList_Test[/COLOR]->[COLOR="DarkOrange"]Count[/COLOR];
    
    Strings im TStringList-Objekt bearbeiten / abfragen:
    Code:
    String [COLOR="Red"]<Bezeichner>[/COLOR] = [COLOR="DarkOrchid"]<Bezeichner>[/COLOR]->Strings[[COLOR="DarkOrange"]<Index>[/COLOR]];
    ([COLOR="Red"]String[/COLOR]) [COLOR="DarkOrchid"]<Bezeichner>[/COLOR]->Strings[[COLOR="DarkOrange"]<Index>[/COLOR]] = [COLOR="Red"]<Bezeichner>[/COLOR];
    ([COLOR="Red"]String[/COLOR]) [COLOR="DarkOrchid"]<Bezeichner>[/COLOR]->Strings[[COLOR="DarkOrange"]<Index>[/COLOR]] = [COLOR="SeaGreen"]"<Wert>"[/COLOR];
    
    [COLOR="Blue"]// jeden String im TStringList-Objekt verändern[/COLOR]
    for (int [COLOR="DarkOrange"]i[/COLOR] = [COLOR="DarkOrange"]0[/COLOR]; [COLOR="DarkOrange"]i[/COLOR] < [COLOR="DarkOrange"]iListCnt[/COLOR]; [COLOR="DarkOrange"]++i[/COLOR])
    {
     [COLOR="DarkOrchid"]strList_Test[/COLOR]->Strings[[COLOR="DarkOrange"]i[/COLOR]] = [COLOR="SeaGreen"]"Index: "[/COLOR] + [COLOR="Red"]String[/COLOR]([COLOR="DarkOrange"]i[/COLOR]);
    }
    
    [COLOR="Blue"]// Das TStringList-Objekt sieht dann wie folgt aus:[/COLOR]
    strList_Test:
     Index: 0 [COLOR="Blue"]// Zeilen-Index 0[/COLOR]
     Index: 1 [COLOR="Blue"]// Zeilen-Index 1[/COLOR]
     Index: 2 [COLOR="Blue"]// Zeilen-Index 2[/COLOR]
     Index: 3 [COLOR="Blue"]// Zeilen-Index 3[/COLOR]
     Index: 4 [COLOR="Blue"]// Zeilen-Index 4[/COLOR]
    
    TStringList: doppelte Strings:
    Code:
    [COLOR="DarkOrchid"]<Bezeichner>[/COLOR]->Duplicates = <Wert>;
    
    [COLOR="Blue"]// Die Eigenschaft 'Duplicates' legt fest, ob zu einer sortierten Liste
    // String-Duplikate (identische Stringliterale) hinzugefügt
    // werden können
    
    // '<Wert>' legt dabei die Aktion fest, die ausgeführt werden soll,
    // wenn ein String mehrfach zu einer sortierten Liste hinzugefügt
    // werden wird[/COLOR]
    
    [COLOR="Blue"]/* Beispiel 1: */[/COLOR]
    
    [COLOR="Blue"]// dupIgnore - Der Versuch, der sortierten Liste ein
    // String-Duplikat hinzuzufügen, wird ignoriert[/COLOR]
    [COLOR="DarkOrchid"]strList_Test[/COLOR]->Duplicates = dupIgnore;
    
    [COLOR="Blue"]// dupError - Der Versuch, der sortierten Liste ein
    // String-Duplikat hinzuzufügen, führt zu einer Exception[/COLOR]
    [COLOR="DarkOrchid"]strList_Test[/COLOR]->Duplicates = dupError;
    
    [COLOR="Blue"]// dupAccept - doppelte Strings in der sortierten Liste
    // sind erlaubt[/COLOR]
    [COLOR="DarkOrchid"]strList_Test[/COLOR]->Duplicates = dupAccept;
    
    TStringList: einen einzelnen String durch ein Trennzeichen trennen:
    Code:
    (char) [COLOR="DarkOrchid"]<Bezeichner>[/COLOR]->Delimiter = '<einzelnes Zeichen>'; [COLOR="Blue"]// Trennzeichen[/COLOR]
    
    [COLOR="Blue"]// Die Eigenschaft 'DelimitedText' stellt alle Strings im TStrings-Objekt
    // in einem einzigen String dar.
    // Durch Zuweisung eines Strings kann dieser getrennt werden und
    // wird somit in einzelne Strings zerlegt[/COLOR]
    ([COLOR="Red"]String[/COLOR]) [COLOR="DarkOrchid"]<Bezeichner>[/COLOR]->DelimitedText = [COLOR="Red"]<Bezeichner>[/COLOR];
    
    [COLOR="Blue"]/* Beispiel 1: */[/COLOR]
    
    [COLOR="Blue"]// Trennzeichen = ',' (Komma)[/COLOR]
    [COLOR="DarkOrchid"]strList_Test[/COLOR]->Delimiter = ',';
    
    [COLOR="Blue"]// String zum Zerlegen - getrennt durch das Trennzeichen (Delimiter)[/COLOR]
    String [COLOR="Red"]strCut[/COLOR] = [COLOR="SeaGreen"]"Das,ist,ein,Beispiel"[/COLOR];
    
    [COLOR="Blue"]// String zerlegen[/COLOR]
    [COLOR="DarkOrchid"]strList_Test[/COLOR]->DelimitedText = [COLOR="Red"]strCut[/COLOR];
    
    [COLOR="Blue"]// Das TStringList-Objekt sieht dann wie folgt aus:[/COLOR]
    strList_Test:
     Das [COLOR="Blue"]// Zeilen-Index 0[/COLOR]
     ist [COLOR="Blue"]// Zeilen-Index 1[/COLOR]
     ein [COLOR="Blue"]// Zeilen-Index 2[/COLOR]
     Beispiel [COLOR="Blue"]// Zeilen-Index 3[/COLOR]
    
    TStringList: Strings im Format "Bezeichner=Wert" (INI-Datei):
    Code:
    [COLOR="Blue"]// Bezeichner (den Teil des Strings vor dem '=') in
    // Zeile <Index> ermitteln[/COLOR]
    String [COLOR="Red"]<Bezeichner>[/COLOR] = [COLOR="DarkOrchid"]<Bezeichner>[/COLOR]->Names[[COLOR="DarkOrange"]<Index>[/COLOR]];
    
    [COLOR="Blue"]// Wert (den Teil des Strings nach dem '=') auslesen[/COLOR]
    String [COLOR="Red"]<Bezeichner>[/COLOR] = [COLOR="DarkOrchid"]<Bezeichner>[/COLOR]->Values[[COLOR="SeaGreen"]"<Name des Bezeichners>"[/COLOR]];
    [COLOR="Blue"]/* Beispiel 1: */[/COLOR]
    
    [COLOR="Blue"]// Das TStringList-Objekt sieht wie folgt aus:[/COLOR]
    strList_Test:
     Test1=a [COLOR="Blue"]// Zeilen-Index 0[/COLOR]
     Test2=b [COLOR="Blue"]// Zeilen-Index 1[/COLOR]
     Test3=c [COLOR="Blue"]// Zeilen-Index 2[/COLOR]
    
    [COLOR="Blue"]// Bezeichner auslesen[/COLOR]
    String [COLOR="Red"]strBezeichner1[/COLOR] = [COLOR="DarkOrchid"]strList_Test[/COLOR]->Names[[COLOR="DarkOrange"]0[/COLOR]]; [COLOR="Blue"]// = Test1[/COLOR]
    String [COLOR="Red"]strBezeichner2[/COLOR] = [COLOR="DarkOrchid"]strList_Test[/COLOR]->Names[[COLOR="DarkOrange"]1[/COLOR]]; [COLOR="Blue"]// = Test2[/COLOR]
    String [COLOR="Red"]strBezeichner3[/COLOR] = [COLOR="DarkOrchid"]strList_Test[/COLOR]->Names[[COLOR="DarkOrange"]2[/COLOR]]; [COLOR="Blue"]// = Test3[/COLOR]
    
    [COLOR="Blue"]// Werte auslesen - manuell[/COLOR]
    String [COLOR="Red"]strWert1[/COLOR] = [COLOR="DarkOrchid"]strList_Test[/COLOR]->Values[[COLOR="SeaGreen"]"Test1"[/COLOR]]; [COLOR="Blue"]// = a[/COLOR]
    String [COLOR="Red"]strWert2[/COLOR] = [COLOR="DarkOrchid"]strList_Test[/COLOR]->Values[[COLOR="SeaGreen"]"Test2"[/COLOR]]; [COLOR="Blue"]// = b[/COLOR]
    String [COLOR="Red"]strWert3[/COLOR] = [COLOR="DarkOrchid"]strList_Test[/COLOR]->Values[[COLOR="SeaGreen"]"Test3"[/COLOR]]; [COLOR="Blue"]// = c[/COLOR]
    
    [COLOR="Blue"]// Werte auslesen - mit den ermittelten Bezeichnern[/COLOR]
    String [COLOR="Red"]strWert1[/COLOR] = [COLOR="DarkOrchid"]strList_Test[/COLOR]->Values[[COLOR="Red"]strBezeichner1[/COLOR]]; [COLOR="Blue"]// = a[/COLOR]
    String [COLOR="Red"]strWert2[/COLOR] = [COLOR="DarkOrchid"]strList_Test[/COLOR]->Values[[COLOR="Red"]strBezeichner2[/COLOR]]; [COLOR="Blue"]// = b[/COLOR]
    String [COLOR="Red"]strWert3[/COLOR] = [COLOR="DarkOrchid"]strList_Test[/COLOR]->Values[[COLOR="Red"]strBezeichner3[/COLOR]]; [COLOR="Blue"]// = c[/COLOR]
    
    [COLOR="Blue"]// nur um es genauer zu zeigen[/COLOR]
    String [COLOR="Red"]strGesamt[/COLOR] = [COLOR="Red"]strWert1[/COLOR] + [COLOR="Red"]strWert2[/COLOR] + [COLOR="Red"]strWert3[/COLOR]; [COLOR="Blue"]// = abc[/COLOR]
    

    Ich hoffe das Tutorial hat euch geholfen!
     
  2. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.