(DOS und Win...) Zeilenfehler im Vollbildmodus



  • Nabend,
    ich habe eine Funktion erstellt, mit der ich ein Zeichen bzw. einen String in bestimmter Farbe an bestimmter Position ausgeben kann. Es gibt kein Problem mit der Funktion, sondern dass Problem besteht darin, den Code im Vollbildmodus auszuführen. Führe ich den Code unter Windows2000 oder Windows XP aus, so habe ich eine Zeilenanzahl von 80, führe ich den Code aber unter Windows NT 4.0 aus, so habe ich eine Zeilenanzahl von 25.

    Mein Code:
    //Funktion zur Ausgabe von Zeichen an den Bildschirm in bestimmter Farbe und an bestimmter Position
    void printcg(char *ptr_ctext, int icolor, int ixpos, int iypos)
    {
    int i=0;
    HANDLE houtput;
    WORD *ptr_wcolorbuf=NULL;
    int ilength=0;
    COORD cscreenpos={ixpos, iypos};
    DWORD dresult=0;

    houtput = GetStdHandle(STD_OUTPUT_HANDLE)
    ilength = strlen(ptr_ctext);

    ptr_wcolorbuf = (WORD*)malloc(sizeof(WORD) * ilength);

    for (i=0; i < ilength; i++)
    {
    ptr_wcolorbuf[i] = icolor;
    }

    WriteConsoleOutputAttribute(houtput, ptr_wcolorbuf, ilength, cscreenpos, &dresult);

    WriteConsoleOutputCharacter(houtput, ptr_ctext, ilength, cscreenpos, &dresult);

    free(ptr_wcolorbuf);

    ptr_wcolorbuf = NULL;
    }



  • Wo ist da der Bezug zu C# bzw. zum .NET-Framework? Sieht mir eher nach WinAPI aus.


Anmelden zum Antworten