Witam, mam problem z programem w ktory ma za zadanie obliczac 2 liczby. W kodzie zamieszczam 2 unity, ktore zrobilem, moze ktos sie w tym polapie.. Tylko klasa jest do poprawienia/dopisania (brakuje chyba funkcji oblicz), wiem ze reszta dziala na 100%
klasa:
unit Unit1;
interface
type
TOperacja=class
private
a,b:integer;
public
constructor Create(fx,fy:integer);
function plus :extended;
function minus : extended;
function mnoz:extended;
function dziel:extended;
end;
implementation
constructor TOperacja.Create(fx,fy:integer);
begin
a:=fx;
b:=fy;
end;
function TOperacja.plus : Extended;
var
wynik : Extended;
a,b : integer;
begin
wynik := a + b;
plus := wynik;
end;
function TOperacja.minus : Extended;
var
wynik : Extended;
a,b : integer;
begin
wynik := a - b;
minus := wynik;
end;
function TOperacja.mnoz : Extended;
var
wynik : Extended;
a,b : integer;
begin
wynik := a * b;
mnoz := wynik;
end;
function TOperacja.dziel : Extended;
var
wynik : Extended;
a,b : integer;
begin
wynik := a div b;
dziel := wynik;
end;
end.
reszta:
unit Unit8;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs,Unit1, StdCtrls, ExtCtrls;
type
TOperacje = class(TForm)
Label1: TLabel;
eLiczba1: TEdit;
eLiczba2: TEdit;
Label2: TLabel;
RadioGroup1: TRadioGroup;
cOperacjaPlus: TRadioButton;
cOperacjaMinus: TRadioButton;
cOperacjaDziel: TRadioButton;
cOperacjaMnoz: TRadioButton;
Button1: TButton;
ListaOperacji: TListBox;
eWynik: TEdit;
Label3: TLabel;
error: TLabel;
bZapisz: TButton;
bOtworz: TButton;
bCzysc: TButton;
procedure Button1Click(Sender: TObject);
procedure bZapiszClick(Sender: TObject);
procedure bOtworzClick(Sender: TObject);
procedure bCzyscClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Operacje: TOperacje;
implementation
{$R *.dfm}
procedure TOperacje.bCzyscClick(Sender: TObject);
begin
ListaOperacji.Clear;
end;
procedure TOperacje.bOtworzClick(Sender: TObject);
var plik : TextFile;
op : string;
begin
AssignFile(plik, 'C:/plik.txt');
Reset(plik);
ListaOperacji.Clear;
while not eof(plik) do
begin
readln(plik,op);
ListaOperacji.Items.Add(op);
end;
CloseFile(plik);
end;
procedure TOperacje.Button1Click(Sender: TObject);
var
oper : TOPeracje;
dzial : char;
a,b : integer;
begin
error.Caption := '';
if (eLiczba1.Text <> '') and (eLiczba2.Text <> '') then
begin
if cOperacjaPlus.Checked then
dzial := '+';
if cOperacjaMinus.Checked then
dzial := '-';
if cOperacjaDziel.Checked then
dzial := '/';
if cOperacjaMnoz.Checked then
dzial := '*';
a := StrToInt(eLiczba1.Text);
b := StrToInt(eLiczba2.Text);
oper := TOperacje.Create(a,b,dzial);
eWynik.Text := IntToStr(oper.Oblicz);
ListaOperacji.Items.AddObject(eLiczba1.Text + dzial + eLiczba2.Text + ' = ' + eWynik.Text , oper );
end
else
begin
error.Caption := ' Podaj obie liczby ' ;
end;
end;
procedure TOperacje.bZapiszClick(Sender: TObject);
var
plik : TextFile;
i: Integer;
begin
AssignFile(plik, 'C:/plik.txt');
Rewrite(plik);
for i := 0 to ListaOperacji.Count - 1 do
begin
writeln(plik, ListaOperacji.Items[i]);
end;
CloseFile(plik);
end;
end.
a tu zdjecie wygladu:
[url]http://images42.fotosik.pl/210/c5e93b51a4cb3016.jpg[/url]
mam nadzieje ze mi ktos pomoze, program sie nawet nie wlacza