Chcę napisać dość prosty program który będzie pobierał liczby z jednego memo i po posortowaniu wyświetlał je w drugim. Niestety podczas pobierania danych z pierwszego memo wygląda tak jak by nie rozpoznawał liczb. po wpisaniu liczby dostaje komunikat:''is not a valid integer value. Gdy wpisze dowolny text na przykład xyz dostaje 'xyz'is not a valid integer value. Nie rozumiem czemu tak jest. Poniżej kod programu który stworzyłem. Proszę o pomoc.
unit sort2;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
Tsort = class(TForm)
Memo1: TMemo;
sortuj: TButton;
Memo2: TMemo;
clear: TButton;
procedure sortujClick(Sender: TObject);
procedure clearClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
sort: Tsort;
implementation
{$R *.dfm}
procedure Tsort.sortujClick(Sender: TObject);
var
e,i,j,n,x,y,m,h,g: integer ;
tab:array of integer;
{f :string;}
begin
{try}
n:=Memo1.Lines.Count ;
SetLength(tab, n);
x:=0;
y:=0;
for m:=0 to n do
begin
tab[y]:= StrToInt ( Memo1.Lines[x]);
y:=y+1;
x:=x+1;
end;
for i:=0 to 3 do
for j:=0 to 3 do
if (tab[j]>tab[j+1]) then
begin
e := tab[j];
tab[j] := tab[j+1];
tab[j+1] := e;
end;
h:=0 ;
for g:=0 to n do
begin
Memo2.Lines.Add(IntToStr (tab[h]));
h:=h+1;
end;
{except
Memo1.Lines.Clear;
Memo1.Lines.Add('podaj liczby');
end; }
end;
procedure Tsort.clearClick(Sender: TObject);
begin
Memo1.Lines.Clear;
Memo2.Lines.Clear;
end;
end.