 بسم اللہ الرحمن الرحیم، آج ہم موڈیول 26 دیسکس کریں گے، موڈیول 26 ہے کنسول آئے ہو کنسول جو ہے یہ ایک تم use ہوتی ہے عام طور پہ یہ تم کو سمجھنے کے لیے جو پرانیز معنے کے اندر مین فریمز یا بڑے کمپیوٹرز use ہوتے تھے ان کو تھوڑا سا انڈرسٹینٹ کرنے کے لیے ہوتا ہے وہ عام طور پہ کنسول کے تھوڑا کرتے تھے ایک کمپیوٹر کے ساتھ کئی کنسول لگتے تھے جن کو virtual terminals بھی کہا جاتا تھا وہ کنسول کیا تھا وہ ایک سکرین تھی اور ساتھ ایک کیبور تھا تو جو بھی انپرٹ اوٹپٹ ہوتی تھی اس کنسول کی مدل سے ہوتی تھی تو اس کو کنسول کہا جاتا تھا تو ان فکٹ جو آپ کی سکرین ہے اور جو آپ کا کیبور ہے جو standard input output devices ہیں وہ بیسکلی آپ کا کنسول بن رہے ہیں آپ اگر کنسول کے پر کسی کسم کی انپرٹ اوٹپٹ اوپرشن پر فرم کرنا جاتے ہیں کنسول کے پر کچھ دسپلے کرنا جاتے ہیں یا کنسول سے کچھ انپرٹ لینا چاہتے ہیں تو اس کے اندر ایسا کرنے بیسکلی کیونکہ windows کنسول کو جو انپرٹ دوائیسز ہیں اور جو اوٹپٹ دوائیسز ہیں ان کو بھی as files تریٹ کرتا تو اس لیے ان سے انپرٹ لینے کے لیے ہے اور ان کو اوٹپٹ سینٹ کرنے کے لیے ہے آپ بلکل وہی فنکشنز use کر سکتے ہیں جو کہ file انپرٹ اوٹپٹ کے لیے استمعال ہوتے ہیں یعنی کہ read file اور write file لیکن اس کے لوہ special console انپرٹ اوٹپٹ کے لیے بھی windows نے کچھ فنکشنز Provide کیا ہے جس طرح read console اور write console ان فنکشنز کو اگر آپ نے console کے پر ہی انپرٹ اوٹپٹ پر فرم کرنی ہے تو read file اور write file سے use کرنے سے بہتر ہے کہ آپ ان console io functions کو use کریں کیونکہ یہ console io functions جہاں جنارک انپرٹ اوٹپٹ use کرتے ہیں جس طرح ہماری t-chart type تھی جنارک تھی وہ unicode بھی ہو سکتی ہے وہ as کی بھی ہو سکتی ہے جنارک انپرٹ اوٹپٹ use کرتے ہیں اور سیکنڈلی جو console کے آپ پرامیٹز ہیں اس کی جو سیٹنگز ہیں وہ آپ چینج کر سکتے ہیں using the set console mode set console mode کا function use کرکس کہ آپ سیٹنگز modes چینج کر سکتے ہیں اور جو ہمارے console والے API's ہیں وہ اس چینجد mode کے according لی اپنی working کریں گے اس چینج and environment کے لحاظ سے working کریں گے جب read file اور write file ایکی طریقے سے کام کریں گے تو ان API's کی ہم ڈیٹیل دیکھتے ہیں پہلی ہماری جو API ہے سب سے important console انپرٹ اوٹپٹ پر فرم کرنے کے لیے that is set console mode اس API کو آپ نے پرامیٹرز کے اندر دو چیزیں دینی ہے console کا ہینڈل دینے اور mode سپیسفائی کریں گے mode جو ہے وہ ایک ڈبلورڈہ اس کے لیے جو بھی values ہے اس کی وہ windows.h کے اندر ڈفائند ہے جو console ہینڈل ہے وہ آپ نے previously تکنیخز دیکھیں تھیں کہ console کا ہینڈل ڈیٹ کرنے کے لیے کیا طریقہ ڈیٹ ہوتا standard input output کا ہینڈل ڈیٹ کرنے کے لیے کیا طریقہ ڈیٹ ہوتا تو وہ کوئی file بھی ہو سکتی ہے وہ standard input output output ڈوائیس بھی ہو سکتا ہے لیکن جب آپ نے console کا ہینڈل ڈیٹ کرنے تو یہ یاد رکھیں جب بھی آپ اس file کو اوپن کریں یا standard input output ڈوائیس کو اوپن کریں تو جناریک right کے ساتھ آپ نے اوپن کرنے جناریک right ڈیٹ ایکسیس ہونی جھئی ہے پھر DW mode جو ہے یہ mode ہے کہ کس mode کے اندر آپ console کلانا چاہتے ہیں اس کے اندر مختلف قسم کی options ہے enable echo input یعنی کہ جو بھی input ہوگا وہ ساست echo بھی ہوگا enable line input line by line input ہو سکے گی یعنی کہ آپ پوری جب line input کریں گے اور carriage and line feed یعنی کہ انٹرپریس کریں گے تب ہی input جائے گی enable processed input یعنی کہ console سے input output آپ پر فرم کر رہے ہوتے ہیں تو add instances وہ processed نہیں بھی ہوتی یعنی کہ اگر آپ backspace پرس کرتے ہیں تو backspace کا کوئی jebrish سا کرکٹر جو ہے وہ display ہو جاتا ہے جو previously printed character ہوتا ہے وہ delete نہیں ہوتا processed input کے اندر ہوگا کہ previous جو کرکٹر ہے وہ بھی delete ہو جائے گا اسی طرح processed output ہے input کی case میں input جو جاری ہے وہ process ہوگی in unprintable character جیسے backspace ہے delete ہے in characters کی وجہ سے اور جو arrow keys اوگرہ اور جو output والای option ہے اس کی case میں output جو ہے اس کو بھی آپ process کر سکیں گے اور جو last option enable wrap at end of line یہ wrapping کیلئے use ہوگی جو بھی آپ line لکھیں گے اگر screen console ختم ہوگی or line پوری ہوگیا تو automatically text جو ہے next line پہانا شروع ہو جائے گا this is line wrapping اب یہ ہمارے پس دو functions ہے ایک read console کا اور ایک write console کا دونوں تقریبا نے ایک جیسے ہی functions ہے read console کی اندر آپ دیکھ سکتے ہیں جو پہلہ parameters ہے that is the handle to console جو کہ آپ نے general read کی طرف ایکسیس کرنا اور کیونکہ آپ console read کرے ہیں تو آپ اس کے اس میں data get کرے ہوں گے تو جو data آپ get کرے ہیں receive کرے ہیں وہ کہیں پہ store ہوگا کس buffer میں store ہوگا اس کا آپ نے address specify کرنے lp buffer کے اندر اور اس کے اندر جتنے آپ نے characters read کرنے ہے ان کی کوئی limit ہوگی جتنے آپ maximum characters read کرنا جاتے ہیں وہ n number of characters to read کے اندر آپ specify کریں گے اور ضروری نہیں کہ ہمیشہا اتنے ہی characters read ہو سکتا ہے اسے کم بھی characters read ہو سکتے ہیں تو actually جتنے characters read ہوئے اس کا pointر ہے lp number of characters read یہ ایک variable ہوگا اس کا آپ نے در pointer پاس کرنے اس variable کے اندر actual number of characters read ہوئے وہ آجائے گا اور last parameter جو اس کو آپ نے نالی رکھنا ہے کیونکہ وہ reserve دا اور بالکل similar API جو ہے وہ write console ہے بس اس کے اندفر کتنا ہے کہ direction جو ہے reverse ہو جاتی ہے جو آپ نے buffer specify کیا اس buffer میں جو دیتا پڑا ہوئے وہ console کے اوپر write ہو جاتے ہیں جو number of characters آپ write کرنا جاتے ہیں وہ number of characters to read کے اندر آپ specify کریں گے اور جو number of characters actually write ہو پائیں گے وہ number of characters write کے اندر آپ specify کریں گے اور last parameter جو ہے وہ اسی طرح سے آپ نے نال رکھنا ہے بالکل same API's ہیں صرف direction کا فرق ہوگا اس کے لوہا console سرٹن ایسے processes ہوتے ہیں جو کہ by default console کو use نہیں کرتے ہیں جس طرح GUI بیست اگر کوئی process ہے windows کا تو وہ console کو استعمال نہیں کرے گا اگر اس نے console کے اوپر کوئی io پر فرم کرنی ہے تو console allocate کرنا پڑے گا اس کے لئے API use ہوگی allocate console اور اس کو جب once allocate کر دیا تو اسے واپس بھی لینا پڑے گا جب آپ console کو use کرنگے تو اس کے لئے API ہے free console