Mikä on varattujen sanojen is ja as tarkoitus?
is ja as
2
279
Vastaukset
- ...
if Sender is TButton then (Sender as TButton).Caption := '&Ok';
is vertaa onko objecti tiettyä tyyppiä, as suorittaa tyypinmuunnoksen. - sanaa testata
Varattua sanaa is voidaan testata myös näin.
Eli aluksi Formille on luotu Memo ja Button sekä Buttonille
tapahtumankäsittelijä. Sitä on täydennetty näin:
Tyyppien esittelyosassa on
...
type
TIhminen = Class
public
nimi:String;
constructor Create(annettuNimi:String);
end;
TMies = Class(TIhminen);
TNainen = CLass(TIhminen);
{ TForm1 }
TForm1 = class(TForm)
Button1: TButton;
Memo1: TMemo;
procedure Button1Click(Sender: TObject);
private
{ private declarations }
procedure kerroSukupuoli(hlo:TIhminen);
public
{ public declarations }
end;
...
ja implementation-osaan on täydennetty näin
...
constructor TIhminen.Create(annettuNimi:String);
begin
nimi := annettuNimi;
end;
procedure TForm1.kerroSukupuoli(hlo:TIhminen);
begin
if hlo is TMies then Memo1.Lines.Add(hlo.nimi ' on mies');
if hlo is TNainen then Memo1.Lines.Add(hlo.nimi ' on nainen');
end;
procedure TForm1.Button1Click(Sender: TObject);
var Mara:TMies;
Mimuli:TNainen;
begin
Memo1.Clear;
Mara := TMies.Create('Martti');
Mimuli := TNainen.Create('Minna-Liisa');
if Mara is TIhminen then Memo1.Lines.Add(Mara.nimi ' on ihminen');
if Mimuli is TIhminen then Memo1.Lines.Add(Mimuli.nimi ' on ihminen');
kerroSukupuoli(Mara);
kerroSukupuoli(Mimuli);
Mimuli.Free;
Mara.Free;
end;
...
Ketjusta on poistettu 0 sääntöjenvastaista viestiä.
Luetuimmat keskustelut
Vesikin maksaa, miksei hengitysilma?
Jatkuvasti itketään ettei ole rahaa mihinkään, mutta tilastojen mukaan rahaa on enemmän kuin koskaan, joten miksei asial341962Satuolennoista tarinointi ei kuulu peruskoulun tehtäviin
Opetustunteja on muutenkin käytössä vain rajallinen määrä. Eli nämä satuhommat koulun ulkopuolelle vapaaehtoisiin harras1651890Suomalainen perheenisä vaatii Suvivirren esittämisestä hyvityksiä
Itse lapsena uskonnonopetuksesta vissiin traumoja saanut ihka suomalainen (!) perheenisä vaatii Espoon kaupungilta korva3821792Mies profiloin sinut
Etsit täysin hallittavaa mutta samalla poikkeuksellista ihmistä. Etsit jotain mitä et koskaan tule saamaan.2161248- 921123
Kiantama kartelli
Onko alhaisempaa kuin toimia ensin kartellissa ja lopuksi koittaa pelastaa nahkasa vasikoimalla muut kun jää kiinni? Eip34970- 95765
Kiantama oy
Tämän päivän uutiset.....https://www.is.fi/taloussanomat/art-2000012036470.html.15698- 32674
Saako 60 v vielä töitä? Arto Nyberg puhuu suoraan elämästä ilman töitä
Arto Nyberg täyttää tänään 60 v. Onnea! Nyberg totuttiin näkemään suoran haastatteluohjelman kapteenina vuodesta toise47665