Napisanie programu w języku Pascal w programie Delphi

0

Witam, muszę na zaliczenie przedmiotu napisać program w Delphi w języku Pascal.
Chcę na pisać program sprawdzający możliwość zbudowania trójkąta z trzech zadanych boków, a następnie liczenie dla takiego trójkąta pola ze wzoru Herona.
Niestety nie bardzo orientuje się w tym programie.

Podsyłam treść programu jaką zdołałam napisać, niestety nie potrafię chyba połączyć go z interfejsem. (ja to widzę tak : program powinien miec trzy okienka na długości boku, następnie button oblicz i okienko z komunikatem ze nie można zbudować takiego trójkąta, a w przeciwnym razie przechodzimy do liczenia pola, którego wynik wyskakuje w 4 okienku)

var
  a,b,c,p,S: real;

  begin
   a:=StrToFloat(Edit1.Text);
   b:=StrToFloat(Edit2.Text);
   c:=StrToFloat(Edit3.Text);
   S:=StrToFloat(Edit4.Text);

  if (a+b<c) and (a+c<b) and (b+c<a) then
  Writeln ('Nie mozna zbudowac trojkat')
  else
p =(a+b+c)/2;
S = sqrt(p*(p-a)*(p-b)*(p-c));
  end;

end.

Bede wdzięczna za wszelką pomoc.

dodanie znacznika <code class="delphi"> - fp

0

S:=StrToFloat(Edit4.Text); powoduje przypisanie z kontrolki do zmiennej ale pod koniec programu nie robisz odwrotnej operacji Edit4.Text := FloatToStr(S);

0
Writeln ('Nie mozna zbudowac trojkat')

WTF???

0

Raczej to a:=StrToFloat(Edit1.Text); jest WTF - wystarczy spojrzeć na end.

Write('podaj bok A'); ReadLn(a);
Write('podaj bok B'); ReadLn(b);
Write('podaj bok C'); ReadLn(c);
0

Pomotałam to całkiem. Ja musze napisać progrem z interfejsem a nie z wyświetlanymi komunikatami typu " Nie mozna zbudowac trojkąta" Musze zrobic program w Delphi7.

0

No to w takim razie @szopenfx podal to co potrzebujesz.
I rób to w delphi 7

0

na pm dostałem taki kod:

var
 a,b,c,p,S: real;
 begin
     a:=StrToFloat(Edit1.Text);
     b:=StrToFloat(Edit2.Text);
     c:=StrToFloat(Edit3.Text);
     S:=StrToFloat(Edit4.Text);

     
      if (a+b>c) and ( a+c>b) and (b+c>a) then
      p:=(a+b+c)/2;
      S:=sqrt(p*(p-a)*(p-b)*(p-c));
            else

           end;
           end.

Poprawiłem na coś takiego:

var
  a,b,c,p,S: real;
begin
  a:=StrToFloatDef(Edit1.Text, 0);
  b:=StrToFloatDef(Edit2.Text, 0);
  c:=StrToFloatDef(Edit3.Text, 0);
//  S:=StrToFloat(Edit4.Text); ta linijka jest zbędna tutaj

  if (a+b>c) and ( a+c>b) and (b+c>a) then
  begin     //jesli chcesz wykonac wiecej operacji w jednym "if" uzyj bloku begin..end
    p:=(a+b+c)/2;
    S:=sqrt(p*(p-a)*(p-b)*(p-c));
    Edit4.Text := FloatToStr(S);
  end
  else
    ShowMessage('Nie mozna zbudowac trojkata z podanych bokow');
end;

aha po end z kropką wnioskuje, że nie wiesz gdzie to wkleić albo pod jakiś przycisk, albo w on change Editów 1-3. Obrazka nie dało się otworzyć
StrToFloatDef próbuje przekonwertować liczbę jeśli się nie uda to nadaje liczbie wart. 0 do tego być może trzeba będzie sprawdzić czy nie wysypie się od 0

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