typenumwandlung



  • schönen guten morgen.

    hab da mal ne frage, unzwar hab ich eine variable deklariert. diese will bzw muss ich jetzt aber in ein anderes format umformatieren, weil immer der fehler hier kommt.

    error C2664: 'DrawTextW' : cannot convert parameter 1 from 'char' to 'unsigned short *'

    kuckts euch mal an:

    char *a="Hallo";
    char *b="Du"; 
    
    spPrinterCE->DrawText(a,NULL,NULL,NULL); //Datum(ddmmyy)
    

    nun will ich halt das die variable a da steht bzw dann ausgdruckt wird. wie mache ich das!? vielen dank für die hilfe



  • Entweder du compilierst das Projekt im ANSI-Modus (laut Fehlermeldung arbeitest du im UNICODE-Modus) oder du passt die Variablen an:

    TCHAR* a = TEXT("Hallo");
    


  • leider gibt es diese funktion nicht in embedded visual c++, gibts da noch velleicht ne andere möglichkeit. danke



  • Welche Funktion? Zur Not kannst du auch direkt mit wchar's arbeiten: wchar_t* a = L"Hallo"; , aber für dich dürfte es wohl einfacher sein, in den Projektoptionen den UNICODE-Support auszuschalten.



  • CStoll schrieb:

    aber für dich dürfte es wohl einfacher sein, in den Projektoptionen den UNICODE-Support auszuschalten.

    Unter Windows CE gibt's die WinAPI nur für Unicode, also fällt das flach. Er muss seinen Code auf Wide Character umstellen.



  • na die mit tchar. unter project -> settings -> hab da nichts mit unicode gefunden.
    und wo stell ich das ein wide character



  • shader schrieb:

    und wo stell ich das ein wide character

    Du musst deinen Code ändern. Statt char nimmst du wchar_t, und vor jedes Stringliteral setzt du ein L, so wie CStoll es bereits gezeigt hat.



  • w_char gibts in embedded auch nicht, haste mal ein kurzes beispiel wie mans anwendet. thx



  • shader schrieb:

    w_char gibts in embedded auch nicht,

    von w_char hat auch niemand etwas geschrieben 🙄

    Wenn es wchar_t nicht gibt, dann versuch's mal mit WCHAR.



  • schuldigung war ein schreibfehler von mir, wchar_t gibts genauso wie WCHAR. nur weiß nicht wie man die nutzt. kannst mir da mal so für beide vieleicht ein kleines beispiel geben!? vielen dank für deine hilfe



  • wchar_t kannst du (fast) genauso nutzen wie normale char's - du mußt nur gelegentlich bedenken, daß ein wchar etwas größer ist 😉

    (wichtig für dich: wchar_t-Literale werden durch ein L"..." gekennzeichnet)



  • danke für die hilfe, aber habs mit TCHAR gemacht ist genauso. jetzt aber mal ne andere frage, wie bekomme ich mein datum in diese form dd.mon yy

    _stprintf(szDate, TEXT("Heute ist der: %02d.%02d.%02d")
    

Anmelden zum Antworten