This simple program is using an edit as input, a button to trigger processing and a memo for output.
I used edit.text as s value and then reverse its value using for command and saved to rs variable.
We compared s and rs to determine that s is palindrom or not.
Here's the code
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Edit1: TEdit; Memo1: TMemo; Button1: TButton; procedure proses; procedure FormCreate(Sender: TObject); procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} procedure tform1.proses; var s,rs:string; i:integer; palindrom:boolean; begin memo1.Text:=''; palindrom:=true; s:=edit1.Text; for i:=length(s) downto 1 do begin rs:=rs+s[i]; end; for i:=1 to length(s) do begin if s[i]<>rs[i] then begin palindrom:=false; break; end; end; memo1.Lines.Append(s); memo1.Lines.Append(rs); if palindrom=true then memo1.Lines.Append('is palindrom') else memo1.Lines.Append('is not palindrom'); end; procedure TForm1.FormCreate(Sender: TObject); begin memo1.Text:=''; end; procedure TForm1.Button1Click(Sender: TObject); begin proses; end; end.