Expected but indentifier found-deklaracja zmiennej nie jest rozpoznawana

0

Witam
zadeklarowałem zmienne w taki oto sposób

a,c,d,e,f:extended;
b:string;

a oto kod przycisków

procedure TForm1.Button11Click(Sender: TObject);
begin
a:=StrToFloat(edit1.text);
b:='+';
edit1.Text:=' ';
end;
procedure TForm1.Button23Click(Sender: TObject);
begin
c:=StrToFloat(edit1.text);
d:=(a b c);
edit1.text=FloatToStr(d);
end;

NIestety wyskakuje mi błąd
expected but indentifier b found
nie wiem dlaczego pojawia się taki komunikat skoro za zmienną b przypisuję znak +, a następnie jedynie chcę go wykorzystać

0

d:=(a b c);

A to co?

I nie podałeś w której linii masz błąd.

0
d:=(a b c);

błąd jest właśnie w tej linijce
a ta linijka ma być wykonaniem działania, to moje pierwsze kroki w delphi ale w taki sposób w pascalu wykonywało się obliczenia

0

a ta linijka ma być wykonaniem działania, to moje pierwsze kroki w delphi ale w taki sposób w pascalu wykonywało się obliczenia

Oczywista herezja. Poczytaj sobie w tutorialach, nie można podawać identyfikatorów po spacji. Musi być operator.

0

Poczytaj o ONP, tak łatwo jak próbujesz zrobić się nie da :P
Dla tych, co nie wiedzą co on stara się zrobić:
Mamy zmienne:

var A, C, D: Integer;
    B: String;

I przypisujemy do zmiennej B pewną wartość (jakiś operator), np.

B := '+';

I teraz on chce aby taki zapis:

D := (A B C);

Zamienił się na to:

D := A+C;

I obliczyło.

Tak łatwo jeszcze nie ma :D

0

Problem rozwiązałem dosyć szybko. Wstyd jest świetną motywacją.
Oto kod gdyby komuś się mogło przydać

procedure TForm1.Button23Click(Sender: TObject);
begin
c:=StrToFloat(edit1.text);
if b =1 then d:=a+c
else if b = 2 then d:=a-c
else if b = 3 then d:=a*c
else if b = 4 then
if c<>0 then d:=a/c
else Showmessage('Nie można dzieli przez zero');
edit1.Text:=FloatToStr(d);
end;
0

Tak dla formalności, formatowanie dorzucam za Ciebie, żebyś Spacji i Shiftu nie uszkodził:

procedure TForm1.Button23Click(Sender: TObject);
begin
  C := StrToFloat(Edit1.Text);

  case B of
    1: D := A + C;
    2: D := A - C;
    3: D := A * C;

    4: if C <> 0 then
         D := A / C
       else
         ShowMessage('Nie można dzielić przez zero!');

    Edit1.Text := FloatToStr(D);
  end;
end;

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