Mikä on varattujen sanojen is ja as tarkoitus?
is ja as
2
226
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
- 406983
- 323948
- 453330
- 402939
- 172716
- 372238
- 162196
- 412143
Voi ei! Jari Sillanpää heitti keikan Helsingissä - Hämmästyttävä hetki lavalla...
Ex-tangokuningas on parhaillaan konserttikiertueella. Hän esiintyi Savoy teatterissa äitienpäivänä. Sillanpää jakoi kons482077- 402048