Text mit Variabler in Panel darstellen



  • Komische Beobachtung, die ich da machen durfte!

    Anzeige->Caption = "Anazahl: " + count;
    

    Der Text schrumpft bei jedem erbeuten Aufruf zusammen und die Variable count wird nicht dargestellt! ...beides alleine geht. Was ist also falsch daran es zu kombinieren?



  • meine Kristallkugel ist gerade in Reparatur..
    aber ich versuche es trotzdem mal:

    count ist ein integer?

    int icount = 5;
    
    Anzeige->Caption = icount;  // compiler wandelt den integer automatisch in einen String um (IntToStr())
    
    Anzeige->Caption = "mein StringText"+icount; // String oder char * können nicht mit einem integer addiert werden
    //integer muss "von hand" in einen String umgewandelt werden
    

    mfg
    BigNeal



  • Wenn der Compiler den obigen Quelltext geschluckt hat, scheint es wohl trotzdem zu gehen. Immerhin hat AnsiString Konstruktoren für char* und für int. Da kann er ja problemlos zwei temporäre AnsiStrings erzeugen und dann addieren. Ich würde hier aber trotzdem mal einen AnsiString erzeugen, dann die Zuweisung machen und dann erst der Caption zuweisen. Das kann man auch schön mit dem Debugger durchgehen und kontrollieren.



  • Ein Test hat jetzt gezeigt, dass es zwar so kompiliert wird, aber nicht funktioniert.
    Diese beiden Varianten gehen aber.

    Anzeige->Caption = AnsiString("Anzahl: ") + AnsiString(count);
    // oder
    Anzeige->Caption = "Anzahl: ";
    Anzeige->Caption += count;
    


  • Danke! ...wieder was dazugelernt!


Anmelden zum Antworten