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

417

    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. Donald Trump joutui ammutuksi vaalitilaisuudessaan

      Näin se näyttää olevan, että Trumpilla on niin kannattajia kuin vastustajiakin. Hengissä käveli pois, ilmeisesti jokin
      Maailman menoa
      374
      2989
    2. Tajuatko kuinka hyvää

      seksi meidän välillä tekisi?
      Ikävä
      70
      1238
    3. IS Viikonloppu 13.-14.7.2024

      3- -merkitty kovis Antti Skytältä. Ratkaisulauseita sai kunnolla miettiä senkin jälkeen kun niistä pääsi jyvälle. Jotkut
      Sanaristikot
      64
      1169
    4. Sunnuntain kirjainleikkejä

      Kuinka monta kirjainta kaivattusi etu- ja sukunimissä on yhteensä? Ap vastaa 11 ja miehen nimi alkaa heheee Jiillä 🧑‍🍳
      Ikävä
      20
      1122
    5. Rakastan sua nainen vieläkin

      mut aion pysyy hiljaa 😔
      Ikävä
      45
      1115
    6. Tänään rohkaisin

      Mieleni (tai siis eilen jos tarkkoja ollaan ja kävelin ihan sun kodin ohi molemmin puolin 😂😆🤭 katelin tarkkaan ympäri
      Ikävä
      86
      1099
    7. Kova oli pauke!

      Kyllä oli viime yönä kova pauke Iisalmessa. Koko kaupunki taisi herätä ja säikähtää moista pauketta. Eikö tämä riko jo
      Iisalmi
      35
      1050
    8. Vasemmisto väkivalta kiihtyy

      Nyt joutui uhriksi Trump. Suomessa vasemmistolaiset on kertoneet leikkaavansa päät irti Orpolta ja Purralta. Pitäisik
      Maailman menoa
      267
      976
    9. Kerro kolme hyvää asiaa

      kaivatustasi :)
      Ikävä
      55
      963
    10. Sitä vielä...

      Että tiedätkö olisiko meidän suhde jotenkin kiellettyä/laitonta?
      Ikävä
      52
      909
    Aihe