Delphi เทคนิคการเขียน Function ที่ Return ค่าได้มากว่า 1 ตัวแปร
เคยเจอปัญหาเวลาเขียน function แล้ว Return ค่ากับมาค่าเดียวไหมครับ แล้วก็แก้ด้วยการเขียนเป็น class เป็น Type มารับค่าแทน เพื่อให้ Return ได้มากกว่า 1 ค่า แต่จริงๆแล้วมีวิธี Basic ที่เรามองข้ามกันไป นั้นคือ Precedure
ฟังไม่ผิดหรอกครับ Procedure ที่ปกติ Return ไม่ได้ ที่เรามักใช้ ทำเป็น ชุดคำสั่ง จำพวก Excute คำสั่งต่างๆ นั่นแหละครับ จริงๆมันมีวิธีการที่สามารถ Return ได้ครับโดยการ ใส่ var เข้าไปหน้า ตัวแปรที่เราประกาศไว้
procedure Employee_Info(var Fullname : String;var age:integer;emp_code : string) ;
จากตัวอย่างผมนำเอาตัวแปร Fullname กับ age ไปใส่ค่าลงไป โดยใช้เงื่อนไขจากตัวแปรที่ชื่อ emp_code
procedure TForm5.Employee_Info(var Fullname: String; var age: integer;
emp_code: string);
begin
if emp_code = '001' then
begin
Fullname := 'Piyanat Nimkhun';
age := 39;
end
else if emp_code = '002' then
begin
Fullname := 'Suchada Nimkhun';
age := 39;
end;
end;
จาก code เมื่อเรากดปุ่มค้นหา โดยส่งตัวแปรเข้าไป จะเห็นว่า ผมสามารถนำตัวแปรที่ส่งเข้าไป ไปใช้ต่อได้ โดยตัวแปรนั้นยังจดจำค่าที่ได้จาก Procedure ก่อนหน้าอยู่ โดยผมนำไปใส่ใน Textbox
procedure TForm5.BtnFindClick(Sender: TObject);
var
Fullname: String;
age: integer ;
begin
Employee_Info(Fullname,age,TxtCode.Text);
TxtName.Text := Fullname;
TxtAge.Text := IntToStr(age);
end;
เป็นไงครับพอเอาไปประยุกต์ใช้ได้ไหมครับ เอาไว้ผมจะนำ Tips เล็กๆน้อยๆพวกนี้มาฝากอีกนะครับ