type
Birthday=record
day, month:Byte
year: word
end;
var
c:=record
name:string;
bd: birthday
end;
begin
………………
if c.bd.year=1939 then ………
end.
Ёзув майдонлари билан ишлашни енгиллаштириш учун ќўшилиш оператори – WITH ишлатилади.
WITH <ўзгарувчи> DO <оператор>
бу ерда:
WITH, DO – калит сўзлар (дан, бажариш)
<ўзгарувчи> - ёзув туридаги ўзгарувчи исми, ундан кейин ичма-ич келган майдонлар рўйхати берилади;
<оператор> - Турбо Паскалнинг ихтиёрий оператори.
Мисол:
with c.bd do month:=9;
Бунга ќуйидагилар тенг кучли:
with c do with bd do month:=9;
ёки with c, bd do month:=9;
ёки c. bd month:=9;
Турбо Паскал, вариант ёзувлар деб аталувчи, ёзувлар билан ишлашга рухсат этади, масалан:
type
Forma=record
Name:String
Case Byte of
0: (BirhtPlace : String[40]);
1: (Country : String[20]);
EntryPort : String[20]);
EntryDate : 1 .. 31;
ExitDate : 1 .. 31
end;
Бу мисолда FORMA тури NAME – битта белгиланган майдон ва CASE…OF ифода билан берилган вариант ќисмидан иборат ёзувни аниќлаябди. Вариант ќисм бир нечта вариантлардан (мисолда, иккитасидан: о ва 1) иборат бўлади. Ћар бир вариант танлов ўзгармаси билан аниќланади. Танлов ўзгармасидан кейин икки нуќта, айлана ќавслар ичида ёзилган майдонлар рўйхати келади. Ћар ќандай ёзувда фаќат битта вариантли ќисм бўлади, ва, агар у бўлса, вариантли ќисм ћамма белгиланган майдонлардан кейин жойлашиши керак.
Вариант ќисмининг ажойиб хусусияти шундай ћолдан иборатки, унда берилган вариантлар бир-бири устига «ќўйилади», яъни уларнинг ћар бирига хотиранинг битта ва ўша адреси ажратилади. Бу турларни ўзгартиришнинг янги ќўшимча имкониятларини очади, масалан:
Do'stlaringiz bilan baham: |