Пример #1
0
char vm_getchxy(char x, char y)
{
    char ch;
    USHORT len = 1;
    VioReadCharStr(&ch, &len, (USHORT) (y - 1), (USHORT) (x - 1), 0);
    return ch;
}
Пример #2
0
void ReadScreen( int next_line )
/******************************/
{
    USHORT len;

    len = SCREEN_WIDTH - ( StartCol + ColOffset );
    if( next_line ) {
        len += SCREEN_WIDTH;
        if( len > LINE_WIDTH ) {
            len = LINE_WIDTH;
        }
    }
    VioReadCharStr( Line, &len, Row + RowOffset, StartCol + ColOffset, 0 );
    for( MaxCursor = len; len-- > 0; MaxCursor = len ) {
        if( Line[len] != ' ' ) {
            break;
        }
    }
    Cursor = next_line ? MaxCursor : 0;
    Draw = TRUE;
    Base = 0;
    Edited = TRUE;
    if( !next_line && MaxCursor == SCREEN_WIDTH ) {
        ReadScreen( 1 );
    }
}
Пример #3
0
char vm_getchxy(char x, char y)
{
    if (_osmode == DOS_MODE)
    {
        char cell[2];
        vi_init();
        v_getline(cell, (int)(x - 1), (int)(y - 1), 1);
        return *cell;
    }
    else
    {
        char cell[2];
        USHORT len = sizeof cell;
        VioReadCharStr(cell, &len, (USHORT) (y - 1), (USHORT) (x - 1), 0);
        return *cell;
    }
}
Пример #4
0
USHORT __pascal VIOREADCHARSTR(CHAR * CellStr, USHORT * Count, const USHORT Row, const USHORT Column, const HVIO Handle)
{
  return VioReadCharStr(CellStr, Count, Row, Column, Handle);
}