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

453

    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. 533
      8586
    2. Aamuseuraa/rehevää naista

      uhkean rehevät m-xxxl naiset/rouvat/pari 18-80v kutsu luokses 31.1 aamusta päiväpanoille 32v hetero mies.oon innokas nuo
      Keuruu
      5
      3688
    3. 24h Kirppis

      Olen muuttamassa paikkakunnalle ja mietin olisiko tälläiselle liikkeelle tarvetta alueella?
      Jämsä
      7
      2203
    4. Suomessa eletään liian pitkään

      "Ihmisten on kuoltava" Asiantuntija varoittaa: Suomi ei ole valmis siihen, että niin moni elää pitkään: ”Kaiken täytyy
      Maailman menoa
      161
      1203
    5. Kerotakaa joensuun kontiolahden paiholan laitoksesta jotain

      Mun kaveri joutuu paiholan laitokseen nyt lähi aikoina niin voisko ihmiset kertoa minkälaista siellä on tarinoita jne ja
      Joensuu
      17
      846
    6. Sun ulkonäkö on

      Kyllä viehättävä. Kauniit piirteet. Todella sievät. Ja olemus on ihana. Olet tehnyt vaikutuksen.
      Ikävä
      40
      764
    7. Olen niin haaveillut

      Sinusta. Ollut hullun rakastunut. Ajatellut kaikkea mitä yhdessä voisimme tehdä. Mutta ei ei yhtään mitään. Usko vaan lo
      Ikävä
      57
      752
    8. Oletko koskaan

      Tavannut/tuntenut ihmistä, jonka kanssa vuosisadan rakkaustarina olisi ollut mahdollinen, mutta joku este tuli väliin?
      Sinkut
      68
      716
    9. Näyttääkö kaivattusi

      Miten hyvältä ❤️
      Ikävä
      46
      715
    10. En voi ottaa

      Jos ikinä aiot ottaa yhteyttä, niin tee se nyt. On aika, kun todella todella tarvitsisin sinua. Naiselle.
      Ikävä
      36
      647
    Aihe