บทที่ 9 การรับและแสดงผลข้อมูล OUTLINE คำสั่งรับข้อมูล read, readln อ่านโดยฟังก์ชัน readkey คำสั่งแสดงผลข้อมูล write, writeln การพิมพ์แบบกำหนดรูปแบบ writeln(n:m) คำสั่งพิมพ์ออกทางเครื่อง คำสั่งจัดหน้าจอ gotoxy, clrscr
คำสั่งแสดงผลข้อมูล คำสั่งแสดงผลข้อมูล write, writeln รูปแบบ เป็นคำสั่งที่ใช้พิมพ์ข้อความ หรือ ตัวแปร หรือ นิพจน์ รูปแบบ writeln (‘ข้อความ’) writln (ตัวแปร1,ตัวแปร2….)
คำสั่งแสดงผลข้อมูล คำสั่ง write เมื่อเขียนแล้วเคอร์เซอร์อยู่บรรทัดเดิม คำสั่ง writeln เมื่อเขียนแล้วเคอร์เซอร์ขึ้นบรรทัดใหม่
การพิมพ์แบบกำหนดรูปแบบ การพิมพ์แบบกำหนดรูปแบบ ใช้คำสั่ง รูปแบบ writeln(ข้อมูล :จำนวนคอลัมน์) กรณี กำหนดคอลัมน์กว้างการพมิพ์จะเติมที่ละคอลัมน์จากขวาไปซ้ายที่เหลือเติม Blank กรณีเนื่อที่ไม่พอก็ยังพิมพ์ครบทุกตัว
การพิมพ์แบบกำหนดรูปแบบ หากตัวแปรเป็นแบบ Real และไม่กำหนดรูปแบบการพิมพ์ จะแสดงในรูปของทศนิยมยกกำลัง เช่น 6.89000000E+01 รูปแบบ writeln(real :a:b) a จำนวนคอลัมน์ที่ใช้ทั้งหมด b จำนวนเลขหลังจุดทศนิยม เลขจำนวนจิรงพิมพ์จากซ้ายไปขวา ถ้าระบุคอลัมน์กว้างพอ ถ้าไม่จะพิมพ์ชิดขวา
คำสั่งพิมพ์ออกทางเครื่อง รูปแบบ writeln(lst, ข้อความ) เนื่องจาก lst เป็นตัวแปรอยู่ในยูนิต printer จึงต้องประการUSES printer ที่ส่วนหัวของโปรแกรม หากมีการใช้หลายยูนิตให้ใช้ , คั่น Uses printer,wincrt;
คำสั่งจัดหน้าจอ คำสั่ง clrscr เป็นคำสั่งลบหน้าจอ พร้อมเลื่อนเคอร์เซอร์ไปอยู่มุมซ้ายของหน้าจอ คำสั่ง gotoxy (col,row) ทำหน้าที่เคอร์เซอร์ไปยังตำแหน่งที่ระบุบนหน้าจอ เช่น goto (20,4) คือไปที่คอลัมน์ 20 บรรทัดที่4 ต้องใช้ USES wincrt ที่ส่วนหัว
โปรแกรมคำสั่งจัดหน้าจอ PROGRAM write1; USES Wincrt; VAR a : integer; b : real; temp : string; begin a := 20; b := 12.5; temp := '///////////////////////////’; gotoxy (10,10); writeln(temp); write(a:3); writeln('**',b:15:2); writeln('a: ',a*b:5:1); gotoxy (10,15); readln; end.
คำสั่งรับข้อมูล คำสั่ง read และ readln เป็นการให้ค่าตัวแปรโดยการป้อนข้อมูลทางแป้นพิมพ์ หรือ อ่านจากหน่วยความจำสำรอง ประเภทข้อมูลที่อ่านเป็นได้ทุกประเภท ยกเว้นบูลีน คำสั่งจะรอให้ผู้ใช้ป้อนข้อมูลและ กด Enter จึงจะนำค่าไปเก็บไว้ในตัวแปร
คำสั่งรับข้อมูล รูปแบบ readln( ตัวแปร1, ตัวแปร2…) หรือ readln;
ตัวอย่างโปรแกรม writeln และ readln PROGRAM writeread; USES Wincrt; VAR age : integer; name : string[30]; begin write('Enter your name: '); readln(name); write('Enter your age:'); readln(age); writeln(name,' is ',age,' year old.'); readln; end.
ฟังก์ชัน Readkey Readkey เป็นฟังก์ชันอยู่ในยูนิต crt เมื่อจะใช้ต้องมี USES ใช้รับข้อมูลแบบ Char เท่านั้น เครื่องจะรอรับข้อมูล เมื่อได้แล้วไม่ต้องกด Enter รูปแบบ ตัวแปร := readkey
โปรแกรม readkey Program readkey1; uses wincrt; var ch: char; begin write('Press any key on keyboard:'); ch := readkey; writeln; writeln('You press character==> ',ch); readln; end.