ComboBox->Items->CommaText fkt nicht? [gelöst]



  • Hallo,

    Ich wollte mehrere Listen-Einträge einer ComboBox in einer Codezeile bearbeiten. In der Hilfe habe ich dazu "CommaText" gefunden. Dort ist beschrieben:

    Hilfe schrieb:

    Eine Eingabe der Form

    ...->CommaText= "AB","C D","EF";
    

    sieht in der ComboBox so aus:

    AB
    C D
    EF
    

    Das Ergebnis sieht aber bei mir so aus:

    AB
    

    Alternativ soll man die Strings auch so angeben können

    ...->CommaText= "AB" "C D" "EF";
    

    Hat aber auch nicht funktioniert - Ergebnis bei mir:

    ABC
    DEF
    

    Wie kann man denn nun korrekt mit der Eigenschaft CommaText arbeiten? So, wie es in der Hilfe steht funktioniert es jedenfalls nicht?! 😕

    Hier noch der Auszug aus der Hilfe:

    BCB3-Hilfe schrieb:

    Wenn eine Wertzuweisung an CommaText erfolgt, wird der Wert entsprechend dem SDF-Format zerlegt. Dies setzt voraus, daß Zeichenketten durch Kommas oder Leerzeichen getrennt und optional in Anführungszeichen eingeschlossen sind. Anführungszeichen, die Teil des Strings sind, müssen zweimal hintereinander stehen (““), sonst werden sie als Begrenzungszeichen interpretiert. Leerzeichen und Kommas, die nicht von Anführungszeichen eingeschlossen sind, werden als Trennzeichen behandelt. Zwei aufeinanderfolgende Kommas gelten als Leer-String. Leerzeichen, die unmittelbar vor oder nach einem Trennzeichen stehen, werden dagegen ignoriert. Nehmen wir an, CommaText wird folgendermaßen gesetzt:

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

    Die String-Liste enthält danach folgende Einträge:

    Stri,ng 1

    Stri"ng 2
    String
    3
    String4



  • Hallo,

    hast Du das wirklich genau so gemacht wie Du geschrieben hast?

    Kolumbus schrieb:

    ...->CommaText= "AB","C D","EF";
    

    Wenn ja, würde ich mal vorschlagen, das so zu schreiben (wie es auch gemeint ist):

    ...->CommaText= "\"AB\",\"C D\",\"EF\"";
    

    Gruß

    Alexander



  • List->CommaText= "\"AB\",\"C D\",\"EF\"";
    

    edith: tsu speht



  • Guten Morgen,

    Alexander Kempf schrieb:

    ...hast Du das wirklich genau so gemacht wie Du geschrieben hast?

    Ja. Wie sonst (dachte ich mir vor euren Antworten 😉 )? In der Hilfe steht's ja so.

    Alexander Kempf schrieb:

    Wenn ja, würde ich mal vorschlagen, das so zu schreiben (wie es auch gemeint ist):

    ...->CommaText= "\"AB\",\"C D\",\"EF\"";
    

    Wie soll ich denn darauf kommen? 😮 Toll, die Hilfe ist eine Frau - ich habs immer gewusst! 😃 Ich hab das jetzt mal so eingegeben und es funktioniert (mit einer kleinen Ergänzung beim "AB\"):

    FormX->ComboBoxY->Items->CommaText= "\"A/B\",\"C D\",\"EF\"";
    

    Also Danke!

    Jetzt mal ernsthaft - habe ich etwas überlesen? In meiner Hilfe steht echt nix von ** ! Oder ist das jetzt einer dieser berühmten Erfahrungswerte? Warum steht das so nicht in meiner Hilfe? Das ärgert mich - ich will ja die Hilfe benutzen etc, aber wenn da nur Mist (mit Verlaub) drinsteht kann man die Lust verlieren! *mecker*

    @Morris Szyslak: Trodsdem fiehlen dank auch dia



  • Kolumbus schrieb:

    Jetzt mal ernsthaft - habe ich etwas überlesen? In meiner Hilfe steht echt nix von ** ! Oder ist das jetzt einer dieser berühmten Erfahrungswerte? Warum steht das so nicht in meiner Hilfe? Das ärgert mich - ich will ja die Hilfe benutzen etc, aber wenn da nur Mist (mit Verlaub) drinsteht kann man die Lust verlieren! *mecker*

    Naja, mal ein paar Anmerkungen dazu:

    - Hier wird ein String zugewiesen, in C++ muss man für " einen Escape-Charakter voranstellen --> \"
    - Die VCL ist in Delphi geschrieben, die Hilfe war ursprünglich wahrscheinlich auch für Delphi. Dort werden Strings in Hochkommas gesetzt. D.h. in Delphi würde keiner auf die Idee kommen, das Beispiel direkt zuzuweisen (Syntaxfehler).
    - Es gibt ziemlich viele Leute, die mit den Beispielen der Hilfe ausgezeichnet klar kommen. Ich komme meistens sehr gut mit der Hilfe klar. Das soll natürlich nicht heißen, dass die Hilfe nicht verbesserungsfähig ist...

    Diskussionen über die BCB-Hilfe gibt es hier im Forum übrigens auch schon zuhauf.

    Gruß

    Alexander



  • Alexander kempf schrieb:

    Naja, mal ein paar Anmerkungen dazu:

    - Hier wird ein String zugewiesen, in C++ muss man für " einen Escape-Charakter voranstellen --> \"
    - Die VCL ist in Delphi geschrieben, die Hilfe war ursprünglich wahrscheinlich auch für Delphi. Dort werden Strings in Hochkommas gesetzt. D.h. in Delphi würde keiner auf die Idee kommen, das Beispiel direkt zuzuweisen (Syntaxfehler).
    - Es gibt ziemlich viele Leute, die mit den Beispielen der Hilfe ausgezeichnet klar kommen. Ich komme meistens sehr gut mit der Hilfe klar. Das soll natürlich nicht heißen, dass die Hilfe nicht verbesserungsfähig ist...

    Diskussionen über die BCB-Hilfe gibt es hier im Forum übrigens auch schon zuhauf.

    - Gut, ich habe mir gleich mal den Hilfe-Artikel über Escape-Sequenzen zu Gemüte geführt. Das wusste ich bisher nicht.
    - Die VCL ist in Delphi geschrieben, aha... Auch neu für mich (war bisher nicht relevant), aber interessant zu wissen! Von Delphi habe ich keine Ahnung.
    - Naja, zugegeben - inzwischen komme ich auch mit der Hilfe ganz gut klar. Die Beispiele könnten zwar manchmal etwas umfangreicher sein, aber das liegt viell an meinem Wissenstand. Zu diskutieren gibts da IMHO nichts, die BCB3-Hilfe wird eh keiner mehr ändern. Und ich denke: besser so, als gar keine Hilfe!

    Vielen Dank für die Anmerkungen


Anmelden zum Antworten