PDA

View Full Version : سوال: مشکل با gotoxy در ++dev_c



vb8334
پنج شنبه 18 شهریور 1389, 20:04 عصر
با سلام به تمامی دوستان

دوستان نحوه استفاده از دستور gotoxy در ++dev_c چطوریه ؟

ممنون

r00tkit
پنج شنبه 18 شهریور 1389, 20:32 عصر
تو کامپایلر های 32بیتی این تابع وجود ندارد

در عوض:

SetConsoleCursorPosition




#include <windows.h>
void gotoxy( short x, short y )
{
HANDLE hStdout = GetStdHandle(STD_OUTPUT_HANDLE) ;
COORD position = { x, y } ;

SetConsoleCursorPosition( hStdout, position ) ;
}

یا



#include <windows.h>

void gotoxy(int x, int y)
{
COORD coord;
coord.X = x;
coord.Y = y;
SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_H ANDLE), coord);
}

Salar Ashgi
پنج شنبه 18 شهریور 1389, 20:40 عصر
با سایر کامپایلرها نباید فرق کنه ؛



#include <conio.h>
gotoxy(int col,int row);

col : شماره ستون صفحه
row : شماره سطر صفحه
موفق باشید ./

vb8334
پنج شنبه 18 شهریور 1389, 21:12 عصر
تو کامپایلر های 32بیتی این تابع وجود ندارد

در عوض:




#include <windows.h>

void gotoxy(int x, int y)
{
COORD coord;
coord.X = x;
coord.Y = y;
SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_H ANDLE), coord);
}



میشه در مورد این کد یه توضیحی بدین من هیچی نفهمیدم چجوری باید تو برنامه

ازش استفاده کنم

ممنون

r00tkit
پنج شنبه 18 شهریور 1389, 21:43 عصر
با سایر کامپایلرها نباید فرق کنه ؛



this function is not in standard C/C ++ library
its borland specific
in old day {DOS }
you can find more about it in google
please read it


Windows does not allow 32bit programs direct access to memory.
This is to protect other programs and data to be overwritten.

Under DOS, text mode memory is useually b800h:0, which can be
accessed through a pointer, so it is easy to create clrscr()
and gotoxy(). However, DevC++‎ compilies 32bit programs, so
Windows will not allow this.

In order to access system resources (such as text mode memory),
you have to go through Windows. To do this, you need to use the
Win32 PSDK (Platform Software Development Kit) ak, the Win32 API.

Salar Ashgi
پنج شنبه 18 شهریور 1389, 23:07 عصر
جناب geek1982 (http://www.barnamenevis.org/forum/member.php?u=113200) منظور من نوع کامپایلرها نبود ، بلکه در یک نوع ثابت از کامپایلرها مد نظرم بود !
زیاد سخت گیر نباشید ./

vb8334
جمعه 27 اسفند 1389, 17:11 عصر
دوستان من که نستونم از این کد استفاده کنم من C کار میکنم نه C++ با dev c++ چیکار کنم ؟

ممنون