Оқулық Қазақстан Республикасы Білім жəне ғылым министрлігі бекіткен Алматы, 2011 1



бет132/210
Дата06.01.2022
өлшемі4,42 Mb.
#16437
түріОқулық
1   ...   128   129   130   131   132   133   134   135   ...   210
Байланысты:
boribaev-algoritmdeu

7.11-сурет.


221

Tab2=150;
Tab3=220;
var
d,r,Err, {Графиканы іске қосатын айнымалы-лар}
Y,dY,{Шығару ординатасы жəне оның өсімшесі} Size,{Символдар өлшемі}
MaxFont,{Ең үлкен қаріп нөмірі} k: Integer;{Қаріп нөмірі}
NT, SizeT, SynibT: String;{Шығарылатын жол}
c: Char;
{-------------------}
Procedure OutTextWithTab ( S1, S2, S3, S4:
String);
{Таb1..ТаbЗ табуляция позициясын ескере оты-рып, S1..S4 жолдарын шығарады} begin
MoveTo((Tab1-TextWidth(Sl)) div2,Y);
OutText (S1);
MoveTo(Tabl+(Tab2-Tabl-TextWidth(S2))
div2,Y);
utText (S2);
MoveTo(Tab2+(Tab3-Tab2-TextWidth(S3)) div 2,Y);
OutText(S3);
if S4='Symbols' then {Symbols бағанының тақырыбы}
MoveTo((Tab3+GetMaxX-TextWidth(S4)) div
2,Y)
else {Қалған жолдар}
MoveTo(Tab3+3,Y);
OutText(S4)
end;
{------------}
begin
{Графиканы іске қосамыз} InitGraph(d,r,'');

222

Err:=GraphResult;
if ErrogrOk then
WriteLn(GraphErrorMsg(Err))
else
begin
{Қаріптер санын анықтаймыз:}
{$IFDEF VER70'}
MaxFont:=10;
{$ELSE}
MaxFont:=4;
{$ENDIF}
SetTextStyle(l,0,4);
Y:=0;
OutTextWithTab('N','Name',Size','Symbo
ls');
{Тақырыптың Y сызығының биіктігін анықтаймыз} Y:=4*TextHeight('Z') div3; Line(0,Y,GetMaxX,Y);
{Кестенің Y сызығының басын жəне əр жолдың dY биіктігін анықтаймыз}
Y:=3*TextHeight('Z') div 2; dY:=(GetMaxY-Y) div (MaxFont);
{Символдар жолын дайындаймыз}
SymbT:='';
for с:='a' to 'z' do
SymbT:=SymbT+c;
{Кесте жолдарын шығару цикл} for k:=1 to MaxFont do
begin
Size:=0;
{Жол биіктігі dY тең болғанша өлшемді үлкейтеміз}
repeat
inc(Size);
SetTextStyle(k,0,Size+1);
until (TextHeight('Z')>=dY) or


223

(Size=10) or (TextWidth(FontNames[k])>(Tab2-Tab1));
{Қаріптің NT нөмірін жəне и SizeT өлшемін дай-ындаймыз}
Str(k,NT);
Str(Size,SizeT);
{Кесте жолын шығарамыз}
SetTextStyle(k,HorizDir,Size);
OutTextWithTab(NT,FontNames[k],SizeT,Sy
mbT);
inc(Y,dY)
end;
{Рамка сызықтарын саламыз} Rectangle(0,0,GetMaxX,GetMaxY); Line(Tab1,0,Tabl,GetMaxY); Line(Tab2,0,Tab2,GetMaxY); Line(Tab3,0,ТаЬЗ,GetMaxY);
{Тұтынушы əрекетін күтеміз}
ReadLn;
CloseGraph
end
end.



Достарыңызбен бөлісу:
1   ...   128   129   130   131   132   133   134   135   ...   210




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет