Der 2. Ansatz ist auf jeden Fall richtiger, wenn auch umständlich gelöst. Versuch es mal so:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var eins, zwei, drei, vier, fuenf: Integer;
begin
//Du solltest hier auf jeden Fall eine Fehlerbehandlung einbauen
eins:=StrToInt(edit1.text);
zwei:=StrToInt(edit2.text);
drei:=StrToInt(edit3.text);
vier:=StrToInt(edit4.Text);
fuenf:=StrToInt(edit5.Text);
//sprechende Bezeichner wären auch nicht schlecht ;)
Label2.Visible := (eins = fuenf) and (zwei = vier);
Label3.Visible := not Label2.Visible;
{
If (eins = fuenf) and (zwei = vier) then begin
Label3.Visible:=StrToBool('False');
Label2.Visible:=StrToBool('True');
end
else
begin
Label2.Visible:=StrToBool('False');
Label3.Visible:=StrToBool('True');
end;}
end;
Und zum Einsetzen von Funktionen solltest Du Dir die Einsteiger-Tutorials in diesem und anderen Foren mal ansehen. Ein kleines Beispiel:
Delphi-Quellcode:
function IsSymmetricNumber(const i: Cardinal): Boolean;
begin
Result := IntToStr(i) = ReverseString(IntToStr(i));
end;
procedure TForm1.Button1Click(Sender: TObject);
var eins, zwei, drei, vier, fuenf: Integer;
begin
//Du solltest hier auf jeden Fall eine Fehlerbehandlung einbauen
eins:=StrToInt(edit1.text) * 10000;
zwei:=StrToInt(edit2.text) * 1000;
drei:=StrToInt(edit3.text) * 100;
vier:=StrToInt(edit4.Text) * 10;
fuenf:=StrToInt(edit5.Text);
if IsSymmetricNumber(eins + zwei + drei + vier + fuenf) then
ShowMessage('Palindrom')
else
ShowMessage('Kein Palindrom');
end;