Laskin aliohjelmilla

aloittelija1111

hei,

Minulla on seuraava koodattuna:

procedure TLaskin.LaskePainike1Click(Sender: TObject);

var
EkaLuku, TokaLuku, Summa: Real;

begin

EkaLuku :=StrToInt(Luku1.Text);
TokaLuku :=StrToInt(Luku2.Text);
Summa :=EkaLuku TokaLuku;
Tulos.caption :=IntToStr(Summa);

end;

procedure TLaskin.LaskePainike2Click(Sender: TObject);

var
EkaLuku, TokaLuku, Erotus: Real;

begin

EkaLuku :=StrToInt(Luku1.Text);
TokaLuku :=StrToInt(Luku2.Text);
Erotus :=EkaLuku - TokaLuku;
Tulos.caption :=IntToStr(Erotus);

end;

procedure TLaskin.LaskePainike4Click(Sender: TObject);
begin

end;

procedure TLaskin.LaskePainike4Click(Sender: TObject);

var
EkaLuku, TokaLuku, Tulo: Real;

begin

EkaLuku :=StrToInt(Luku1.Text);
TokaLuku :=StrToInt(Luku2.Text);
Tulo :=EkaLuku * TokaLuku;
Tulos.caption :=IntToStr(Tulo);


end;

Nyt samat toiminnot pitäisi saada aikaan aliohjelmilla. Miten summa, erotus ja tulo toteutetaan aliohjelmien avulla.

1

481

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • :::::::::::::

      Tuon esimerkkisi voi tehdä hyvin monella eri tavalla. Tässä jotain vinkkiä.
      Jos lisäät jakolaskun niin huomio se että mitä teet tai tapahtuu kun jakajana on nolla.


      TLaskin = class(TForm)
      ...
      private
      function Laske(const Laskettava1: string; const operaatio: char;
      const laskettava2: string): string;
      ...
      public
      ...


      procedure TLaskin.LaskePainike1Click(Sender: TObject);
      begin
      Tulos.caption := Laske(Luku1.Text,' ',Luku2.Text);
      end;

      procedure TLaskin.LaskePainike2Click(Sender: TObject);
      begin
      Tulos.caption := Laske(Luku1.Text,'-',Luku2.Text);
      end;



      procedure TLaskin.LaskePainike4Click(Sender: TObject);
      begin
      Tulos.caption := Laske(Luku1.Text,'*',Luku2.Text);
      end;

      function TLaskin.Laske(const Laskettava1:string;const operaatio:char; const laskettava2:string):string;
      var
      EkaLuku, TokaLuku, laskun_tulos: Real;
      begin
      EkaLuku :=StrToFloat(Laskettava1);
      TokaLuku :=StrToFloat(Laskettava2);
      case operaatio of
      ' ': laskun_tulos := ekaluku tokaluku;
      '-': laskun_tulos := ekaluku - tokaluku;
      '*': laskun_tulos := ekaluku * tokaluku;
      else laskun_tulos :=0;
      end;
      result := FloatToStr(laskun_tulos);
      end;

    Ketjusta on poistettu 0 sääntöjenvastaista viestiä.

    Luetuimmat keskustelut

    1. Yksi viesti häneltä ja ottaisin takaisin

      Mutta ei sitä tule. Ja ehkä parempi niin, tein jo valintani. En saanut häneltä tarpeeksi, kaikki muu meni minun edelle j
      Ikävä
      61
      3910
    2. Sä olet epävakaa

      tai ainakin yrität onnistuneesti vaikuttaa siltä. Ei sun kanssa uskalla ruveta yhtään mihinkään, menis hommat ojasta all
      Ikävä
      49
      2424
    3. Mieti miten paljon yritin

      Löytää yhteyttä kanssasi uudelleen sen väärinymmärryksen jälkeen. Koen etten tullut puoleltasi hyvin kohdelluksi mies😔
      Ikävä
      61
      2074
    4. Keskisarjan puheet

      Onko kansanedustajan sopivaa puhua tuollai vai pitäisikkö potkia pois eduskunnasta?
      Suomussalmi
      416
      1863
    5. Kaikki on hyvin rakkaani

      Ja tulee olemaan.
      Ikävä
      81
      1422
    6. En enää uskalla laittaa sulle viestiä

      Naiselta miehelle ****
      Ikävä
      69
      1404
    7. Sovitaanko ja halataanko?

      Pyydetään toisiltamme anteeksi...❤️
      Ikävä
      74
      1290
    8. En ikinä koskaan

      En tule ikinä hyväksymään!
      Tunteet
      68
      1110
    9. Helena Ahti-Hallberg laukoo suorat sanat - Tämä voi olla ongelma uudella TTK kaudella: "Jos on..."

      Helena Ahti-Hallberg - tuo upea ja vaativa TTK-tuomari! Tanssii Tähtien Kanssa suosikkiohjelma starttaa syksyn iloksi ja
      Tanssii tähtien kanssa
      21
      1084
    10. Olen selvästi rikki

      Narsistiset ihmiset jotenkin koukuttaa minut.
      Ikävä
      28
      1045
    Aihe