AnsiString().sprintf Formatzeichen %C Auswahlmöglichkeiten



  • Hallo,
    gibt es bei dem sprintf Formatzeichen %C eine Auswahlmöglichkeit welche Zeichen dargestellt werden sollen und welche durch ein ausgewähltes Zeichen
    dargestellt werden.
    Z.b. die ASCII Zeichen 0-9 sowie a-z sollen ausgegeben werden, alle anderen
    sollen als "." dargestelllt werden.



  • Hallo

    das gehört ins C-Forum.
    Wenn du den BCB benutzt, kannst du das mit AnsiStrings und Format() machen.

    bis bald
    akari



  • Werde es dort mal Versuchen.
    Danke



  • Aus dem Ansi C Forum.

    unsigned char c = 0x31;
    StringGrid1->Cells[17][1]  = AnsiString().sprintf("%C",((c >= '1') && (c <= '9') || (c >= 'a' && c <= 'z')) ? c : '.');
    

    Erscheint in der Celle "1"

    unsigned char c = 0xaa;
    StringGrid1->Cells[17][1]  = AnsiString().sprintf("%C",((c >= '1') && (c <= '9') || (c >= 'a' && c <= 'z')) ? c : '.');
    

    Erscheint in der Celle"."
    Man sollte den Ausdruck "? c : '.'" da es nicht jedem
    geläufig ist genauer erklären.
    Wenn das Ergebniss in der vorherigen Klammer"",((c >= '1') && (c <= '9') || (c >= 'a' && c <= 'z'))"true ist, wird der linke Ausdruck von dem ":" zur Ausgabe gebracht, sonst der rechte "."!

    Danke für die Hilfe.


Anmelden zum Antworten