unit Unit1;
interface
uses
FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs, FMX.StdCtrls,
FMX.Controls.Presentation, FMX.Edit;
type
TForm1 = class(TForm)
ImageControl1: TImageControl;
Label1: TLabel;
Label2: TLabel;
Edit1: TEdit;
Label3: TLabel;
Label4: TLabel;
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
var
Form1: TForm1;
implementation
{$R *.fmx}
{$R *.NmXhdpiPh.fmx ANDROID}
{$R *.SmXhdpiPh.fmx ANDROID}
procedure TForm1.Button1Click(Sender: TObject);
var
score: integer;
grade: string;
begin
// ตรวจสอบว่าผู้ใช้ป้อนค่าหรือไม่
if Edit1.Text = '' then
begin
ShowMessage('กรุณาป้อนคะแนนก่อน');
// ตรวจสอบว่าค่าที่ป้อนเป็นตัวเลขหรือไม่
if not TryStrToInt(Edit1.Text, score) then
begin
ShowMessage('กรุณาป้อนค่าตัวเลขเท่านั้น');
// ตรวจสอบว่าคะแนนอยู่ในช่วงที่ถูกต้อง (0-100)
if (score < 0) or (score > 100) then
begin
ShowMessage('กรุณาป้อนคะแนนระหว่าง 0 ถึง 100');
// กำหนดเกรดตามช่วงคะแนน
if (score >= 80) and (score <= 100) then
grade := 'A'
else if (score >= 70) and (score < 80) then
grade := 'B'
else if (score >= 60) and (score < 70) then
grade := 'C'
else if (score >= 50) and (score < 60) then
grade := 'D'
else
grade := 'F';
// แสดงผลเกรดใน Label4
Label4.Text := 'Grade: ' + grade;
dW5pdCBVbml0MTsKCmludGVyZmFjZQoKdXNlcwogIFN5c3RlbS5TeXNVdGlscywgU3lzdGVtLlR5cGVzLCBTeXN0ZW0uVUlUeXBlcywgU3lzdGVtLkNsYXNzZXMsIFN5c3RlbS5WYXJpYW50cywKICBGTVguVHlwZXMsIEZNWC5Db250cm9scywgRk1YLkZvcm1zLCBGTVguR3JhcGhpY3MsIEZNWC5EaWFsb2dzLCBGTVguU3RkQ3RybHMsCiAgRk1YLkNvbnRyb2xzLlByZXNlbnRhdGlvbiwgRk1YLkVkaXQ7Cgp0eXBlCiAgVEZvcm0xID0gY2xhc3MoVEZvcm0pCiAgICBJbWFnZUNvbnRyb2wxOiBUSW1hZ2VDb250cm9sOwogICAgTGFiZWwxOiBUTGFiZWw7CiAgICBMYWJlbDI6IFRMYWJlbDsKICAgIEVkaXQxOiBURWRpdDsKICAgIExhYmVsMzogVExhYmVsOwogICAgTGFiZWw0OiBUTGFiZWw7CiAgICBCdXR0b24xOiBUQnV0dG9uOwogICAgcHJvY2VkdXJlIEJ1dHRvbjFDbGljayhTZW5kZXI6IFRPYmplY3QpOwogIHByaXZhdGUKICAgIHsgUHJpdmF0ZSBkZWNsYXJhdGlvbnMgfQogIHB1YmxpYwogICAgeyBQdWJsaWMgZGVjbGFyYXRpb25zIH0KICBlbmQ7Cgp2YXIKICBGb3JtMTogVEZvcm0xOwoKaW1wbGVtZW50YXRpb24KCnskUiAqLmZteH0KeyRSICouTm1YaGRwaVBoLmZteCBBTkRST0lEfQp7JFIgKi5TbVhoZHBpUGguZm14IEFORFJPSUR9Cgpwcm9jZWR1cmUgVEZvcm0xLkJ1dHRvbjFDbGljayhTZW5kZXI6IFRPYmplY3QpOwp2YXIKICBzY29yZTogaW50ZWdlcjsKICBncmFkZTogc3RyaW5nOwpiZWdpbgogIC8vIOC4leC4o+C4p+C4iOC4quC4reC4muC4p+C5iOC4suC4nOC4ueC5ieC5g+C4iuC5ieC4m+C5ieC4reC4meC4hOC5iOC4suC4q+C4o+C4t+C4reC5hOC4oeC5iAogIGlmIEVkaXQxLlRleHQgPSAnJyB0aGVuCiAgYmVnaW4KICAgIFNob3dNZXNzYWdlKCfguIHguKPguLjguJPguLLguJvguYnguK3guJnguITguLDguYHguJnguJnguIHguYjguK3guJknKTsKICAgIEV4aXQ7CiAgZW5kOwoKICAvLyDguJXguKPguKfguIjguKrguK3guJrguKfguYjguLLguITguYjguLLguJfguLXguYjguJvguYnguK3guJnguYDguJvguYfguJnguJXguLHguKfguYDguKXguILguKvguKPguLfguK3guYTguKHguYgKICBpZiBub3QgVHJ5U3RyVG9JbnQoRWRpdDEuVGV4dCwgc2NvcmUpIHRoZW4KICBiZWdpbgogICAgU2hvd01lc3NhZ2UoJ+C4geC4o+C4uOC4k+C4suC4m+C5ieC4reC4meC4hOC5iOC4suC4leC4seC4p+C5gOC4peC4guC5gOC4l+C5iOC4suC4meC4seC5ieC4mScpOwogICAgRXhpdDsKICBlbmQ7CgogIC8vIOC4leC4o+C4p+C4iOC4quC4reC4muC4p+C5iOC4suC4hOC4sOC5geC4meC4meC4reC4ouC4ueC5iOC5g+C4meC4iuC5iOC4p+C4h+C4l+C4teC5iOC4luC4ueC4geC4leC5ieC4reC4hyAoMC0xMDApCiAgaWYgKHNjb3JlIDwgMCkgb3IgKHNjb3JlID4gMTAwKSB0aGVuCiAgYmVnaW4KICAgIFNob3dNZXNzYWdlKCfguIHguKPguLjguJPguLLguJvguYnguK3guJnguITguLDguYHguJnguJnguKPguLDguKvguKfguYjguLLguIcgMCDguJbguLbguIcgMTAwJyk7CiAgICBFeGl0OwogIGVuZDsKCiAgLy8g4LiB4Liz4Lir4LiZ4LiU4LmA4LiB4Lij4LiU4LiV4Liy4Lih4LiK4LmI4Lin4LiH4LiE4Liw4LmB4LiZ4LiZCiAgaWYgKHNjb3JlID49IDgwKSBhbmQgKHNjb3JlIDw9IDEwMCkgdGhlbiAgCiAgICBncmFkZSA6PSAnQScKICBlbHNlIGlmIChzY29yZSA+PSA3MCkgYW5kIChzY29yZSA8IDgwKSB0aGVuICAKICAgIGdyYWRlIDo9ICdCJwogIGVsc2UgaWYgKHNjb3JlID49IDYwKSBhbmQgKHNjb3JlIDwgNzApIHRoZW4gIAogICAgZ3JhZGUgOj0gJ0MnCiAgZWxzZSBpZiAoc2NvcmUgPj0gNTApIGFuZCAoc2NvcmUgPCA2MCkgdGhlbiAgCiAgICBncmFkZSA6PSAnRCcKICBlbHNlICAKICAgIGdyYWRlIDo9ICdGJzsKCiAgLy8g4LmB4Liq4LiU4LiH4Lic4Lil4LmA4LiB4Lij4LiU4LmD4LiZIExhYmVsNAogIExhYmVsNC5UZXh0IDo9ICdHcmFkZTogJyArIGdyYWRlOwplbmQ7CgplbmQu
unit Unit1;
interface
uses
System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants,
FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs, FMX.StdCtrls,
FMX.Controls.Presentation, FMX.Edit;
type
TForm1 = class(TForm)
ImageControl1: TImageControl;
Label1: TLabel;
Label2: TLabel;
Edit1: TEdit;
Label3: TLabel;
Label4: TLabel;
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.fmx}
{$R *.NmXhdpiPh.fmx ANDROID}
{$R *.SmXhdpiPh.fmx ANDROID}
procedure TForm1.Button1Click(Sender: TObject);
var
score: integer;
grade: string;
begin
// ตรวจสอบว่าผู้ใช้ป้อนค่าหรือไม่
if Edit1.Text = '' then
begin
ShowMessage('กรุณาป้อนคะแนนก่อน');
Exit;
end;
// ตรวจสอบว่าค่าที่ป้อนเป็นตัวเลขหรือไม่
if not TryStrToInt(Edit1.Text, score) then
begin
ShowMessage('กรุณาป้อนค่าตัวเลขเท่านั้น');
Exit;
end;
// ตรวจสอบว่าคะแนนอยู่ในช่วงที่ถูกต้อง (0-100)
if (score < 0) or (score > 100) then
begin
ShowMessage('กรุณาป้อนคะแนนระหว่าง 0 ถึง 100');
Exit;
end;
// กำหนดเกรดตามช่วงคะแนน
if (score >= 80) and (score <= 100) then
grade := 'A'
else if (score >= 70) and (score < 80) then
grade := 'B'
else if (score >= 60) and (score < 70) then
grade := 'C'
else if (score >= 50) and (score < 60) then
grade := 'D'
else
grade := 'F';
// แสดงผลเกรดใน Label4
Label4.Text := 'Grade: ' + grade;
end;
end.