Witam
Dostałem takie zadanie do rozwiązania i nie mam zielonego pojęcia jak to zrobić.
Opracować aplikacje, która wykorzystuje komponent Memo do wprowadzania wymiarów prostokąta(długość i szerokość). Nie więcej niż 20 prostokątów. Każda linia Memo zawiera dwa wymiary jednego prostokąta rozdzielone znakiem dwukropka. Okienko główne powinno zawierać także pole edycji, dwa przyciski button do inicjowania obliczeń:
Pierwszy Button - Wyświetla liczbę prostokątów i przypisuje wymiary do tablic
Drugi Button - wyświetla okienko zawierające średnia długość boku prostokątów, których obwód jest mniejszy niż liczba wpisana w pole edycyjne.
Poprawność liczby w polu edycyjnym jak i w komponencie Memo powinna być sprawdzana.
unit Unit1;
interface
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls;
type
TForm1 = class(TForm)
Memo1: TMemo;
Button1: TButton;
Label1: TLabel;
Label2: TLabel;
Edit1: TEdit;
Button2: TButton;
Label3: TLabel;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
tytul: String;
N: integer;
x, y: array[1..20] of integer;
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var
i, B: Integer;
begin
N:=0;
B:=0;
with Memo1 do
if Memo1.Lines.Count >0 then
try
Memo1.Lines.NameValueSeparator:=(':');
for i:= 0 to Memo1.Lines.Count -1 do
begin
N:= N+1;
x[i]:=StrToInt(Trim(Memo1.Lines.Names[i]));
y[i]:=StrToInt(Trim(Memo1.Lines.ValueFromIndex[i]));
end;
Label1.Caption:=IntToStr(N);
Button2.Enabled:=true;
except
MessageDlg('Wpisz poprawne dane!', mtWarning, [mbOk], 0);
Memo1.SetFocus;
end;
end;
procedure TForm1.Button2Click(Sender: TObject);
var
i, s, b :integer;
begin
s:=0;
b:=0;
b:= StrToInt(Edit1.Text);
for i := 1 to N do
Begin
if b < ((x[i-1]+y[i-1])*2) then
s:=(x[i-1]+y[i-1])*2;
End;
label3.Caption := IntToStr(s);
end;
end.
Takie coś udało mi się wypocić ale nic z tego nie wychodzi. Liczy jakieś bzdury.