Il blog per tutti gli smanettoni del pc

GotoXY sul compilatore DevC++

feb 1

Lo scopo della funzione gotoxy, presente nella libreria conio.h , è quello di spostare il cursore della console.
DevC++ non contiene la libreria perciò,se non vogliamo installarla, l’unica soluzione è quella di creare la funzione:

#include <windows.h>
#include <stdio.h>
#include <iostream.h>
void gotoxy(int x,int y){     
     HANDLE HConsole;
     CONSOLE_SCREEN_BUFFER_INFO ConsoleInfo;     
     HConsole = GetStdHandle(STD_OUTPUT_HANDLE);
     ConsoleInfo.dwCursorPosition.X = x;
     ConsoleInfo.dwCursorPosition.Y = y;     
     SetConsoleCursorPosition(HConsole,ConsoleInfo.dwCursorPosition);     
}
int main(){
    gotoxy(3,2);
    printf("IOSMANETTO.it\n");
    gotoxy(3,1);
    system("pause");
    return 1;
    }

HANDLE HConsole; HANDLE è simile ad un puntatore ma è piu’ complesso.

CONSOLE_SCREEN_BUFFER_INFO ConsoleInfo; Dichiariamo ConsoleInfo come struttura CONSOLE_SCREEN_BUFFER_INFO . La struttura contiene informazioni sulla console come la posizione del cursore, il colore del testo e dello sfondo ecc.

HConsole = GetStdHandle(STD_OUTPUT_HANDLE); Otteniamo l’Handle della console

ConsoleInfo.dwCursorPosition.X = x; ConsoleInfo.dwCursorPosition.Y = y; Inseriamo le nuove coordinate

SetConsoleCursorPosition(HConsole,ConsoleInfo.dwCursorPosition);
SetConsoleCursorPosition setta la posizione del cursore. Come parametri passiamo l’handle della console e la nuova posizione.

2 Commenti a “GotoXY sul compilatore DevC++”

  1. uqypycysewaqo
    06:06 on marzo 25th, 2010
  2. Umberto
    10:23 on marzo 9th, 2011

    Grazie a quanto ho trovato in questa pagina mi sono
    guadagnato i complimenti per l’impegno da parte del mio
    prof di Informtica all’ISIS Newton di Varese.

    Naturalmente non mi sono preso alcun merito, ho detto
    subito dove ho trovato il codice.

    Un grazie anche da parte dei miei compagni di classe

    Auguri e saluti per tutti voi

Lascia un Commento