Tastenkombination für spezielle Buchstaben



  • HAllo Leute.

    Ich habe ein Problem mit Tasten, die nicht dem deutschen Alphabet angehören.
    Ich programmiere einen Vokabeltrainer für deutsch/türkisch und brauch die zusätzlichen Buchstaben, um türkische Wörter schreiben zu können.

    Ich hatte mir es so voregstellt, dass der Anwender eine bestimmte Tastenkombi drücken muss, um einen türkischen Buchstaben zu erhalten. Wie kann ich die in C++ umsetzen?

    Bitte helft mir, ich weiss nicht mehr weiter.

    Ich danke schonmal
    Flummi



  • Erst mal musst du gucken ob die Zeichen überhaupt als ASCII Zeichen bzw. im auch im Zeichensatz vorhanden sind.



  • Wenn sie da sind, könntest du die entsprechenden Zeichen zur Laufzeit einfügen, aber nicht direkt über

    Label1->Caption = "b"
    

    , sondern über die entsprechenden ASCII-Werte(in dem Fall ist es b=98)
    Habe aber keine Ahnung, wie, weil ich auch die Zeichen nicht in meiner ASCII-Tabelle finde. Und die ist ja wohl überall gleich, oder?



  • man kann die doch einfach abfragen:

    char a = 0;
    int AnzahlDerASCIIzeichen;
    for (int i = 30; i < AnzahlDerASCIIzeichen;i++)
    {
    a = i;
    Memo1->Lines->Add("");
    Memo1->Text = Memo1->Text + i +" = " + a;
    }
    

    Hoffe es hilft (nur so´n ausschnitt:
    955 = »,956 = ¼,957 = ½,958 = ¾,959 = ¿,960 = À,961 = Á,962 = Â,963 = Ã,964 = Ä , 965 = Å,966 = Æ,967 = Ç,968 = È,969 = É)

    ich weiss alledings
    a) nicht wieviele zeichen der ASCII zeichensatz hat und
    b) warum das programm sich aufhäng wenn AnzahlDerASCIIzeichen > 1000 ist (habs mit >1500 ausprobiert..) und
    c) was die ganzen fettgedruckten I bedeuten....

    Hoffe, dass es irgendwie hilft,
    J0



  • Die ASCII-Tabelle steht im Tafelwerk: Formeln und Tabellen für die Sekundarstufen I und II auf Seite 62 😃
    Falls du ne ASCII-Tab brauchst, surf auf Google und such mal danach, dann gibts bestimmt genug Ergebnisse.

    übrigens: Die ASCII-Tab hat 255 Zeichen. Es geht aber erst bei 32 los, das ist das Leerzeichen



  • Original erstellt von GordonWessel:
    Die ASCII-Tab hat 255 Zeichen. Es geht aber erst bei 32 los, das ist das Leerzeichen

    Stimmt so nicht ganz. Geht bei 0 los. Allerdings sind viele Zeichen < 32 Steuerzeichen. hat historische Gründe. Gebt mal im Google "ASCII-Code" ein, da findet man so einige details dazu.

    -junix



  • Also, in meinem schlauen Buch steht, das die erweiterten Zeichen in den verschiedenen Codepages drin sind. Für unsere Umlaute brauchen wir hier die Codepage 850. Für Türkisch weiß ich die Codepage nicht. Das ist nur ne Info, weil ich noch nicht mit sowas gearbeitet habe.

    Mussu mal auf Google surfen und nach "Codepage Türkei" suchen. Vielleicht findest du was.

    @junix: Ja, hier stehts auch nochmal, "Die ASCII-Werte 0-32 sind Sonderzeichen, die keine sichtbare Ausgabe auf dem Bildschirm hinterlassen. Das heißt allerdings nicht, dass sie keine Funktion haben - ganz im Gegenteil repräsentiert jedes dieser Zeichen den Steuercode für eine Funktiostaste, wie z. B. DELETE oder ENTER. ALT+8 bewirkt z. B. das löschen des letzten Zeichens, während ALT+9 dem Tabulatorsprung entspricht..."



  • Danke erstmal für eure antwaorten.

    Mein Problem hat sich aber noch nicht gelöst. Zwei der türkischen Buchstaben habe ich in dem Ascii Zeichensatz gefunden. 5 fehlen mir leider noch. Kann ich vielleicht irgendwie auf den Unicode zugreifen? Ich weiss zwar nicht ob der mich weiterbringt, aber irgendwie seh ich noch nicht das Licht am ende des tunnels. 😞

    cu Flummi


Log in to reply