Messagebox - string ausgeben



  • hallo leute,

    ich möchte über die MessageBox ein String ausgeben:

    AnsiString test = "111";
    
    if(Application->MessageBox("Soll der Katalog "+test+" runtergeladen werden ?","Auswählen",MB_YESNO) == IDYES)
    

    allerdings kommt der fehler
    [BCC32 Fehler] main.cpp(136): E2034 Konvertierung von 'UnicodeString' nach 'const wchar_t *' nicht möglich

    wie kann ich Strings ausgeben ?

    gruß,

    Bernd



  • AnsiString test = "111";
    
    if(Application->MessageBox(("Soll der Katalog "+test+" runtergeladen werden ?").c_str(),"Auswählen",MB_YESNO) == IDYES)
    

    MessageBox verlangt ein const char array



  • hm, dann kommt diese Fehlermeldung:

    [BCC32 Fehler] main.cpp(140): E2034 Konvertierung von 'const char *' nach 'const wchar_t *' nicht möglich

    wenn ich folgendes mache:

    const char frage_c[] = "Soll der Katalog heruntergeladen werden ?";
    

    kannst du mir ein konkretes Beispiel geben ?



  • Hab ich doch oben schon gepostet ... den Unterschied nicht gesehen ?
    Die Klammern und das .c_str() dahinter.



  • oh tut mir leid, hab mich verlesen gehabt...

    kommt jedoch immer noch der Fehler:

    [BCC32 Fehler] main.cpp(137): E2034 Konvertierung von 'char *' nach 'const wchar_t *' nicht möglich
      Vollständiger Parser-Kontext
        main.cpp(55): Analyse: void _fastcall TForm1::Button3Click(TObject *)
    

    Mein Code

    AnsiString test = "test";
    
    		if(Application->MessageBox(("Soll der Katalog "+test+" runtergeladen werden ?").c_str(),"Auswählen",MB_YESNO) == IDYES ){
    


  • hmmm

    .w_str() 😉

    oder

    if (MessageBox(NULL,("Text" + STRINGVARIABLE + "more Text").c_str(),"Title",MB_YESNO) == 6)
    


  • Oder

    Application->MessageBox( (L"Soll der Katalog " + test + L" hinzugefügt werden?").w_str(), L"Anfrage", MB_YESNO);
    

    edit
    wobei

    String test   = L"111";
    


  • Tim06TR schrieb:

    hmmm

    oder

    if (MessageBox(NULL,("Text" + STRINGVARIABLE + "more Text").c_str(),"Title",MB_YESNO) == 6)
    

    Perfekt so gehts, danke euch beiden 😃


Anmelden zum Antworten