Char wird nicht in WORD gespeichert



  • Hallo,

    ich hab eine Ereignisroutine FormKeyPress. Diese möchte ich mit simulierten Tastendrücken aufrufen. Ich will also den Parameter wchar_t &Key mit je einem Zeichen aus meinem String laden.

    Leider hapert es schon bei der Vorbereitung:

    wchar_t   kkk;
    wchar_t   ccc[5];
    
    wcscpy(ccc,ml->Strings[i].w_str());    // jetzt ist in ccc meine Zeichfolge
    for ( i=0; i<4; i++)
         {
         kkk = ccc[i];                     // jetzt sollte in kkk ein Zeichen sein - ist aber nicht!
         FormKeyPress( NULL, kkk );
         }
    

    Ich habs statt wchar_t auch mit Char und WORD versucht...in kkk kommt einfach nix an, und damit geht auch FormKeyPress ins leere.
    please help me



  • Hi,

    und so :

    wchar_t   kkk;
       wchar_t   ccc[5];
       wcscpy(ccc, StringToOleStr(ml->Strings[i]));    
       for ( i=0; i<=4; i++) {
           kkk = ccc[i];                     
           FormKeyPress( NULL, kkk );
       }
    

    mfg
    kpeter



  • @ kpeter,

    obwohl wcscpy() nicht mein Problem ist, habs ich probiert und es funktioniert genauso wie mit w_str().

    Der Fehler liegt darin:
    kkk wird mit \x12 initialisiert. und dieser Wert ändert sich auch nicht so of ich auch die Schleife mit kkk = ccc[i]; durchlaufe. Laut Debugger hat ccc[i] den richtigen Wert, aber er wird halt nicht zugewiesen.
    Mit den ganz alten char[] Typen gabs sowas nicht, erst mit diesem sch... Unicode und dem BCB2009. 😕
    Also ich steh weiterhin auf der Leitung, und es ärgert mich soviele Stunden mit Fehlersuche für so ein kleines Statement zu vergeuden 😡



  • Hallo

    Warum das unnötige Herumkopiere in einem C-String?

    String buffer = ml->Strings[i];
    for ( i=1; i<=5 && i<=buffer.Length(); i++) // Index bei 1 beginnen
    { 
      FormKeyPress( NULL, buffer[i] );
    }
    

    bis bald
    akari



  • Danke 😋

    ich habs dann so probiert:

    FormKeyPress( NULL, (wchar_t &)(ccc[i]) );
    

    das geht auch, welche Freude! Beide Versionen sind sogar erganter.

    Aber es frustriert mich doch, nicht zu wissen warum in kkk nix reingeht. Vorläufig brauch ich es aber nicht mehr.

    Wird's mit der nächsten Version wirklich besser?

    Grüße Rudi


Anmelden zum Antworten