begin
A := 5 ;
B := 10 ;
C := A+B ;
Label1.Caption := C ;
end ;
қате шақырар еді, өйткені мұндағы Text және Caption қасиеттері String типті, ал айнымалылар – Integer типті болып тұр. Мұндай бағдарлама есептеу жүргізе алмайды. Бұдан шығатын жол бар, ол үшін С айнымалысының мәнін жолдық мәнге түрлендіру қажет. Delphi-дің мұны орындайтын IntToStr ішкі функциясы бар. Сонда қате шақырған бағдарлама мына түрде жазылар еді:
Label1.Capton:=IntToStr(C);
Бірақ бұл бағдарлама 15 санын ғана көрсетеді.
Енді Edit компонентін пайдаланып көрейік. Енгізілген сандар осы компоненттердің Text қасиеттерінде жатады. Пішінге Edit-тің екі, бір Label компонентін және батырманы басқанда есептеу жүргізетін Button батырмасын орналастырайық. Edit1 және Edit2 компоненттеріне қосындыны табу үшін сандар енгізейік. Сонда ол бағдарлама былай жазылады:
var A, B, C: Integer;
begin
A := Edit1.Text;
B := Edit2.Text;
C := A+B;
Label1.Caption := IntToStr(C);
end ;
Бұл да жоғарыдағы сияқты, қате шақырады, себебі мұнда да А мен В айнымалылары сандық Integer типті болса, ал Text қасиеті – String типті. Осы қатені жөндеуге StrToInt функциясы көмектесе алады, өйткені ол мәтінді бүтін санға түрлендіреді. Сонда А мен В айнымалысына мән меншіктеу операторлары былай жазылады:
A:=StrToInt(Edit1.Text);
B:=StrToInt(Edit2.Text);
Мұнда біз А,В,С айнымалыларын түсінуге оңай болу үшін пайдаландық. Осы бағдарлама операторларын бір жолға былай жазған өте ыңғайлы:
Label1.Caption:=IntToStr(StrToInt(Edit1.Text)+StrToInt(Edit2.Text));
Осыған ұқсас Real типті жылжымалы үтірлі нақты сандарды жолдық айнымалыға(FloatToStr) және оны кері түрлендіретін (StrToFloat) функциялары бар. Көбінесе Delphi-де Real типті есептеулер нәтижесінде үтірден соң ұзын «құйрық» болады. Мұны қалай шектеуге болатынын «Жолдық айнымалымен жұмыс» тақырыбында қарастырамыз.
Достарыңызбен бөлісу: |