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

432

    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. Kuuluuko ehkäisy parisuhteessa molemmille

      Mieheni pelkää kovasti sitä, että minun käyttämä ehkäisy (pillerit) pettävät ja että tulisin raskaaksi. Hänellä on jo en
      Parisuhde
      62
      1214
    2. Suhun ihastuminen oli liikaa mulle ...

      Se meni jo sairauden ja sekavuuden puolelle. Oisin tehnyt melkein mitä vain, että saisin sut ja se ei ole tervettä. Vars
      Ikävä
      34
      1020
    3. Mihin ihastuit ensimmäisenä

      kaivatussasi? 💯
      Ikävä
      63
      1010
    4. Tänään valtuustossa

      Striimi rikki. Mennään saliin ja otetaan pussillinen mätiä omenoita mukaan. Popcornit valmiiksi kun Savola alkaa puhumaa
      Ähtäri
      26
      1007
    5. Miten paljon odotat hänen

      Kohtaamisia tai näkemistä? Kuinka hyvä keskusteluyhteys teillä on?
      Ikävä
      69
      955
    6. Onko kaivattunne puhelias

      Vai hiljainen hissukka.
      Ikävä
      46
      941
    7. Jiille kysymys

      Oletko kuitenkin mennyt eteenpäin ja sinulla joku uusi nainen kuvioissa? 🥹
      Ikävä
      73
      892
    8. Suomussalmen mustalaiset

      Uutena suomussalmelaisena mietin, että millasta porukkaa ovat?
      Suomussalmi
      17
      870
    9. Oletko mielestäsi kaivattusi

      ihannetyyppi ulkoisesti?
      Ikävä
      56
      852
    10. Minkälaiset hiukset

      kaivatullasi on? Miehellä Kenties ananas, puolikalju jne jne Naisella kenties vaaleat kiharat jne jne
      Ikävä
      27
      836
    Aihe