Arraylänge, Zeichen auslesen, Unicode



  • Hi

    Ich habe ein Textfeld (Edit2) ausdem ich wenn man auf n Button (Button1) drückt der Text ausgelesen wird und zwar immer Zeichen für Zeichen und diese in einer for Schleife in immer dieselbe Variabel geschrieben werden.
    Bsp:
    Text= Hallo
    Var= x
    x=H
    (Aktion mit x)
    x=a
    (Aktion mit x)
    x=l
    (Aktion mit x)
    ...

    Bis jetzt sieht das so aus

    int lCount;
    UnicodeString x = Edit2->Text;
    int y = x->Length;
    UnicodeString b[y] = Edit2->Text;
    for (lCount = 0; lCount <= y; lCount++) {
    	char c = b[lCount];
    //Aktion
    }
    

    Fehlermeldungen:

    [BCC32 Fehler] main.cpp(21): E2288 Zeiger auf Struktur auf linker Seite von -> oder von ->* erforderlich
    [BCC32 Fehler] main.cpp(22): E2313 Konstantenausdruck erforderlich
    [BCC32 Fehler] main.cpp(23): E2294 Auf linker Seite der Struktur ist . oder .* erforderlich
    [BCC32 Fehler] main.cpp(24): E2034 Konvertierung von 'UnicodeString' nach 'char' nicht möglich
    [BCC32 Warnung] main.cpp(28): W8004 '' wurde ein Wert zugewiesen, der nie verwendet wird
    [BCC32 Warnung] main.cpp(28): W8004 '' wurde ein Wert zugewiesen, der nie verwendet wird
    

    Achja ich arbeite mit dem C++ Builder 2009 von Codegear da ich das Interface von Delphi her kenne.



  • Habe gerade CString und CArray gefunden. Dafür muss ich aber afxtempl.h deklarieren. Die ist aber nirgends auffindbar.



  • {
    const char * text = "ok das ist komisch";
    int x = strlen(text);
    char b[x] = "ok das ist komisch";
    for (int i = 0; i <= x; i++) {
    	char c = b[i];
    	keybd_event(c, 0, 0, NULL); // "taste" drücken
    	keybd_event(c, 0, KEYEVENTF_KEYUP, 0); // "taste" loslassen
    	}
    }
    

    Befor ich es mit Textfeldern wo ich ja dann auf das Problem mit dem Unicode stosse probierte ich noch das aus allerdings schlug es hier fehl, da es eine feste Grösse beim Array b braucht.



  • const char * text = "ok das ist komisch";
    int x = strlen(text);
    char *b;
    b = new char [x];
    b = "ok das ist komisch";
    for (int i = 0; i <= x; i++) {
    	char c = b[i];
    	keybd_event(c, 0, 0, NULL); // "taste" drücken
    	keybd_event(c, 0, KEYEVENTF_KEYUP, 0); // "taste" loslassen
    	}
    delete[] b;
    

    Dies funktioniert soweit, allerdigns werden nur Zahlen ausgespuckt?? 🙄


Anmelden zum Antworten