OK. Zacznijmy od początku.
Program okienkowy jest oparty na zdarzeniach: w momencie, gdy użytkownik naciska przycisk (Button1), zmienia tekst w polu edycji (Edit1), zaznacza lub odznacza pole wyboru (Checkbox1) itp, wywoływane są odpowiednie procedury obsługi zdarzeń.
Dlaczego więc wyniki obliczeń w Twoim programie nie chcą się pojawić w kontrolce Memo1, mimo iż wpisałeś
procedure TForm1.Memo1Change(Sender: TObject);
begin
If Suma=Liczba then write(Liczba,',');
End;
Aby się przekonać, kiedy będzie wywołana ta procedura obsługi zdarzenia zapisz ją tak:
procedure TForm1.Memo1Change(Sender: TObject);
const i: Integer = 0;
begin
Label1.Caption:= IntToStr(i);
Inc(i);
end;
i następnie wpisuj, kasuj, wklejaj cokolwiek w kontrolce Memo1. Z każdą zmianą tekstu w Memo1 zmienia się napis kontrolki Label1 W przypadku Twojego programu nie potrzeba nic wpisywać w procedurach obsługi zdarzeń. Oczywiście w bardziej skomplikowanych programach można je wykorzystywać i to się robi.
procedure TForm1.Memo1Change(Sender: TObject);
begin
end;
procedure TForm1.Edit1Change(Sender: TObject);
begin
end;
Zostaw je w takiej postaci jak napisałem i dokonaj kompilacji kodu, a Delphi je usunie z kodu źródłowego Całą procedurę obliczania liczb doskonałych wystarczy zawrzeć w procedurze Button1Click (tak jak to zresztą zrobiłeś). W tej procedurze można również zapisywać wyniki bezpośrednio w kontrolce Memo1. Poniżej przykład, który wypisuje liczby parzyste od 0 do liczby w polu edycji Edit1. Liczby doskonałe pozostawiam dla Ciebie, ja nie jestem doskonały
procedure TForm1.Button1Click(Sender: TObject);
var i, maks: Integer;
begin
maks:= StrToInt(Edit1.Text); // Edit1 musi zawierać poprawną liczbę!
Memo1.Text:= 'Liczby parzyste do ' + Edit1.Text;
for i:= 0 to maks do begin
if i mod 2 = 0 then Memo1.Lines.Add(IntToStr(i));
end;
end;
Reasumując: jeżeli chcesz wypisać gdzieś wyniki działania programu okienkowego, to używasz do tego właściwości takich obiektów jak:
Label1.Caption, Edit1.Text, Memo1.Text, Memo1.Lines i wiele innych. Polecam zapoznanie się z opisem w Pomocy Delphi
Jeżeli masz jeszcze jakieś pytania, to pisz. Postaram się pomóc