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.


