Oppure

Loading
04/09/05 21:35
skirk
#include <windows.h>

BOOL SetConsoleCursorPosition(HANDLE hConsoleOutput,COORD dwCursorPosition);

hConsoleOutput
dwCursorPosition

typedef struct _COORD {
SHORT 32;
SHORT 12;
} COORD, *PCOORD;


Dovrebbe essere cos
aaa
05/09/05 10:14
Rand
hConsoleOutput e dwCursorPosition sono gli argomenti accettati dalla funzione.

Il primo (hConsoleOutput) pu? assumere due valori:
- GENERIC_READ => richiede l'accesso (in lettura) al buffer della console, abilitando il processo di lettura.

- GENERIC_WRITE => fa lo stesso ma per la scrittura (es. se devi cambiare colore ad una determinata porzione di testo, o quello dello sfondo, ecc..)

Il secondo dwCursorPosition invece, rappresenta le coordinate del cursore nello schermo e viene utilizzato tramite una struttura (come quella che ti ho gi? postato).
aaa
05/09/05 10:38
Rand
Ecco qua un esempio di come si usa la "nuova funzione gotoxy" ;)

#include <stdio.h>
#include <windows.h>

//definisco l'handle per la scrittura sul buffer console dei nuovi attributi
HANDLE Hout;
//struttura che contiene gli attributi correnti della console (colore testo, colore sfondo, posizione X cursore, posizione Y, ecc..)
CONSOLE_SCREEN_BUFFER_INFO ConsoleInfo;


int main();
int randgotoxy(int x, int y);

int main() {

//ottengo l'handle
Hout = GetStdHandle(STD_OUTPUT_HANDLE);

randgotoxy(12,12);

printf("#### Nuova Gotoxy ####\n\tBy Rand(rand@hackernetwork.com)\n\n";);

system("pause";);
return 0;
}


int randgotoxy(int x, int y) {
//setto le nuove coordinate del cursore...
ConsoleInfo.dwCursorPosition.Y = x;
ConsoleInfo.dwCursorPosition.X = y;

//chiamo la funzione che aggiorna il buffer della console, con i nuovi attributi
SetConsoleCursorPosition(Hout,ConsoleInfo.dwCursorPosition);

}

...se hai domande chiedi pure! :k:
Ultima modifica effettuata da Rand 05/09/05 10:45
aaa
05/09/05 11:47
skirk
Grazie...scusa ma non avevo capito bene...:k:
aaa
05/09/05 12:24
Rand
Non c'? problema! ;)
...sono qua per aiutare e x essere aiutatoa anch'io! :k:
aaa
05/09/05 13:52
skirk
:k:
aaa
06/09/05 16:21
hedo
Aggiungo solo che di questa API faccio largamente uso in Snake per spostare il cursore e ogni tanto, molto casualmente, diventa scarsamente performante... nn lo avete mai notato?

HeDo
aaa
07/09/05 16:33
Rand
si Hedo... ma penso si tratti solo di quando la si utilizza in modo continuo, all'interno di un loop! Altrimenti, come in questo caso, non dovrebbe dare problemi. :-|
aaa