Wątek przeniesiony 2015-10-16 00:27 z Delphi i Pascal przez furious programming.

Prosty kalkulator

0

cześć
wyskakuje mi błąd "Missing operator or semicolon" , nie bardzo wiem o co biega. TO prosty kalkulator z dwoma polami Edit i przyciskiem Button.
Prosze o pomoc.

 
var
  Form1: TForm1;
  arg1, arg2, wynik: Double;

implementation

{$R *.DFM}

function Suma(a,b:Double) : Double;
begin
Result:=a+b;
end;

function Roznica(a,b:Double) : Double;
begin
Result:=a-b;
end;

function Iloczyn(a,b:Double) : Double;
begin
Result:=a*b;
end;

{ ... itd }

procedure TForm1.SumaClick(Sender: TObject);
begin
arg1:=StrToFloat(Edit1.Text);
arg2:=StrToFloat(Edit2.Text);
wynik:=Suma(arg1,arg2); // <<<<<<<<<<<<<<<< -------------------- tutaj podświetla błąd.
end;

end.
0

Na pierwszy rzut oka wydaje się ok, wrzuć więcej kodu.
Btw, dlaczego arg1, arg2 oraz wynik są zmiennymi globalnymi? :|

0
Patryk27 napisał(a):

Na pierwszy rzut oka wydaje się ok, wrzuć więcej kodu.
Btw, dlaczego arg1, arg2 oraz wynik są zmiennymi globalnymi? :|

nie wiem :) chyba chce argumenty (arg1, arg2) zapisać w osobnej funkcji aby nie powielać w każdym buttonie rzutowania (chociaż nie wiem czy to ma sens, na razie tak kombinuje :)

 
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls, ComCtrls, Buttons;

type
  TForm1 = class(TForm)
    Edit1: TEdit;
    Edit2: TEdit;
    Label1: TLabel;
    Suma: TButton;
    Label2: TLabel;
    Roznica: TButton;
    Iloczyn: TButton;
    Iloraz: TButton;
    Button1: TButton;
    Button2: TButton;
    StatusBar1: TStatusBar;
    procedure SumaClick(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  arg1, arg2, wynik: Double;

implementation

{$R *.DFM}

function Suma(a,b:Double) : Double;
begin
Result:=a+b;
end;

function Roznica(a,b:Double) : Double;
begin
Result:=a-b;
end;

function Iloczyn(a,b:Double) : Double;
begin
Result:=a*b;
end;

procedure TForm1.SumaClick(Sender: TObject);
begin
arg1:=StrToFloat(Edit1.Text);
arg2:=StrToFloat(Edit2.Text);
wynik:=Suma(arg1,arg2);
end;

end.
0

chyba chce argumenty (arg1, arg2) zapisać w osobnej funkcji aby nie powielać w każdym buttonie rzutowania

Wiesz, do czego służy ten magiczny parametr Sender? ;)
Napisz jedną funkcję, którą przypiszesz do każdego przycisku związanego z operacją (tj. wspólna funkcja obejmująca dodawanie, odejmowanie, mnożenie i dzielenie).

A generalnie kod wygląda ok, może kompilujesz jakąś starą wersję.
Uruchom ponownie Delphi, zapisz projekt gdzie indziej etc.

0
Patryk27 napisał(a):

chyba chce argumenty (arg1, arg2) zapisać w osobnej funkcji aby nie powielać w każdym buttonie rzutowania

Wiesz, do czego służy ten magiczny parametr Sender? ;)
Napisz jedną funkcję, którą przypiszesz do każdego przycisku związanego z operacją (tj. wspólna funkcja obejmująca dodawanie, odejmowanie, mnożenie i dzielenie).

A generalnie kod wygląda ok, może kompilujesz jakąś starą wersję.
Uruchom ponownie Delphi, zapisz projekt gdzie indziej etc.

cholera, poszło, zauważyłem że w dpr miałem nieprawidłową ścieżkę :/

Unit1 in '..\Kalkulator\Unit1.pas' {Form1};

zamykamy

1 użytkowników online, w tym zalogowanych: 0, gości: 1