PDA

View Full Version : سوال: برگشتن به سطر های قبل و اول صفحه



aheahe
سه شنبه 14 آبان 1387, 11:36 صبح
سلام به همه دوستان عزیز
چطوری می شه تو C به سطر های قبل یا اول صفحه برگشت البته بدون استفاده از gotoxy و مشابه اون یعنی به سطر قبل برگردیم بدون ایکه از مختصات اون خبر داشته باشیم البته اگه خیلی ساده باشه ممنون می شم چون برای کسی که تازه برنامه نویسی رو شروع کرده می خوام مرسی

Nima_NF
سه شنبه 14 آبان 1387, 21:55 عصر
به هر حال باید موقعیت مورد نظر خود را بدانید، می توانید موقعیت کنونی را دریافت کنید و نسبت به آن موقعیت بعدی را با SetConsoleCursorPosition تنظیم کنید.
در کامپایلرهای جدید SetConsoleCursorPosition جایگزین gotoxy است. (http://barnamenevis.org/forum/showthread.php?t=92264)

اگر از کامپایلرهای جدید استفاده می کنید از طریق تابع GetConsoleScreenBufferInfo و پارامتر dwCursorPosition در پارامتر دوم می توانید این کار را انجام دهید:



HANDLE hStd ;
CONSOLE_SCREEN_BUFFER_INFO cBuffer;

hStd = GetStdHandle(STD_OUTPUT_HANDLE);

// Get the current screen buffer size and window position.

if (! GetConsoleScreenBufferInfo(hStd , &cBuffer))
{
// Error
}

بعد برای دریافت موقعیت کنونی به این شکل:



SHORT X = cBuffer.dwCursorPosition.x
SHORT Y = cBuffer.dwCursorPosition.y

به این شکل حتی می توانید برنامه را scroll کنید با تغییر دادن cBuffer.srWindow