delphi programozás srtnb020

50
Delphi programozás Delphi programozás SRTNB020 Nagyváradi Anett Nagyváradi Anett Delphi programozás Delphi programozás

Upload: thane-nash

Post on 01-Jan-2016

61 views

Category:

Documents


0 download

DESCRIPTION

Delphi programozás. Delphi programozás SRTNB020. Nagyváradi Anett. Delphi programozás. Elérhetőség. Boszorkány utca 2. B138-as iroda [email protected] http://morpheus.pte.hu/~anettn. Delphi programozás. Alkalmazott programok. FreePascal Turbo Delphi 2006 Explorer (full, english) - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Delphi programozás SRTNB020

Delphi programozásDelphi programozásSRTNB020

Nagyváradi AnettNagyváradi Anett

Delphi programozásDelphi programozás

Page 2: Delphi programozás SRTNB020

Boszorkány utca 2. B138-as iroda

[email protected]

http://morpheus.pte.hu/~anettn

Delphi programozásDelphi programozásElérhetőség

Page 3: Delphi programozás SRTNB020

FreePascal

Turbo Delphi 2006 Explorer (full, english)

http://cc.codegear.com/free/turbodelphi

Borland Delphi 7.0

Megjegyzés:

a ppt-ben található színkódok:

forráskód általános szintaxisa

példaprogram részlet

Delphi programozásDelphi programozás

Alkalmazott programok

Page 4: Delphi programozás SRTNB020

1. Pascal alapok - tömbkezelés, függvények, eljárások, fájlkezelés

2. Objektum orientált programozás3. Delphi környezet – formok, unitok, komponensek

4. Alkalmazás fejlesztése – tulajdonságok,

események 5. Adatbáziskezelés – SQL, adathozzáférési

komponensek, adat-érzékeny vezérlők

6. Internet-, webes-alkalmazások7. 2D-, 3D-grafika

Delphi programozásDelphi programozásTematika

Page 5: Delphi programozás SRTNB020

[1] Angster Erzsébet : Programozás tankönyv I.- II.Akadémia nyomda, Martonvásár, 1999

[2] Baga Edit : Delphi másképpAkadémia nyomda, Martonvásár, 1999

[3] Benkő Tiborné : Programozási feladatok és

algoritmusok Delphi rendszerben Computer Books, Budapest,

2002

Delphi programozásDelphi programozásAjánlott irodalom

Page 6: Delphi programozás SRTNB020

[4] Ray Lischner: Delphi kézikönyv Kossuth Kiadó, 2001

[6] Paul Kimmel: Delphi 6 fejlesztők kézikönyve

Panem Kft. , Budapest, 2002

[5] Dr. Fercsik János : Programozás – Delphi Dunaújvárosi Főiskola - jegyzet, 2001

[6] Marco Cantú : Delphi 7 mesteri

szinten I. –II. Kiskapu Kft, 2003

Delphi programozásDelphi programozásAjánlott irodalom

Page 7: Delphi programozás SRTNB020

1. ELŐADÁS

Bevezetés a programozásbaPascal ismeretek felelevenítése

Algoritmikus gondolkodásProgramszerkesztés

Page 8: Delphi programozás SRTNB020

Számábrázolás

• A szg. a számokat mindig meghatározott számú számjeggyel ábrázolja

• Kiegészítve balról a számot nullákkal, a kívánt mennyiségű számjegyből fog állni

• Bit - az információ legkisebb egysége (kettes számrendszer egy számjegyének felel meg)

• Byte – 8 bit• 1 kB=210 bit = 1024bit • Szó - egyszerre feldolgozható bitek száma (pl.:

32 bites processzor)

210 = 0000 00012

Page 9: Delphi programozás SRTNB020

Kettes számrendszer - átváltás

10100110112 =

=1·29 + 0·28 + 1·27 + 0·26 + 0·25 + 1·24 + + 1·23 + 0·22 + 1·21 + 1·20 =

=29 + 27 + 24 + 23 + 21 + 20 =

= 512 + 128 + 16 + 8 + 2 + 1 =

= 667

Page 10: Delphi programozás SRTNB020

A szoftverfejlesztés lépései

• elemzés – problémaelemzés, helyzetfelmérés, igényfelmérés, célok felállítása, idő és költségbecslés

• tervezés – adatstruktúrák és algoritmusok kialakítása, ez a legnehezebb, legösszetettebb része a fejlesztésnek

• kódolás – az elkészült terv implementálása, azaz a forráskód elkészítése adott nyelven

• tesztelés – próbafuttatások végzése, ilyenkor merülnek fel a felhasználás közbeni problémák, melyeket orvosolni kell; szélsőséges helyzetek vizsgálata

• dokumentálás – igen fontos része a fejlesztésnek az egyes fázisok pontos leírása, a felhasználói leírás; ez a továbbfejlesztésnél,

felhasználásnál játszik fontos szerepet

Page 11: Delphi programozás SRTNB020

Keretrendszer - turbo.exe

Állományok:Turbo.TPL – turbo pascal library, magasszintű rutinok

gyűjteménye

Turbo.TPH – help, a súgó állományok találhatók itt (F1)

Turbo.TP – a pascal konfigurációs állománya

Turbo.DSK – desktop állomány , legutóbb használt képernyő minta

*.PAS – pascal forrásprogram

*.BAK – biztonsági másolat

Page 12: Delphi programozás SRTNB020

A Pascal program szerkezete

program nev; {Programfej}

uses egysegnev; {Beépített utasítások}

var valtozonev:tipus; {Deklarációs rész}

{ide kerül a konstans, eljárás, függvény deklaráció is}

begin {Végrehajtó rész}

programtörzsend.

Page 13: Delphi programozás SRTNB020

Változók

• Egy hely, ami alkalmas egy érték tárolására a számítógép memóriájában

• Nevet kap - segítségével a későbbiekben a változóban lévő objektumra hivatkozni lehet

• Érvényességi kör (lokális, globális változók)

• Tartalom: szám, szöveg, boolean kifejezés, konstans, stb.

Page 14: Delphi programozás SRTNB020

Változó típusok – egészek

Shortint: -128 - 127, előjeles, 8 bites

Integer:-32768 - 32767, előjeles, 16 bites

Longint:-2147483648 - 2147483647, előjeles, 32 bites

Byte: 0 - 255, előjel nélküli, 8 bites

Word:0 - 65535, előjel nélküli, 16 bites

Page 15: Delphi programozás SRTNB020

Változó típusok – valósak

Real: -2.9-39- 1.738, 11-12 számjegy, 6 byte-os.

Single:-1.5-45- 3.438, 7-8 számjegy, 4 byte-os.

Double:-5.0-324- 1.7308, 15-16 számjegy, 8 byte-os.

Extended:-3.4-4932- 1.14932, 19-20 számjegy, 10 byte-

os.Comp:

-9.2-18- 9.218, 19-20 számjegy, 8 byte-os.

Page 16: Delphi programozás SRTNB020

Tömb, rekord, típus

Tömb: Ugyanolyan típusú változók tárolására szolgáló adathalmaz

Rekord: Összetartozó adatokat, de többféle típusú változót tudunk eltárolni benne (például egy személy neve, címe, születési ideje és helye, stb)

Pointer: A pointer a memória meghatározott címére mutat

Text: Típus nélküli file

File of-:Típusos file

Page 17: Delphi programozás SRTNB020

Deklaráció - szintaktika

Változó var valtozonev1 : tipus;

valtozonev2, valtozonev3 : tipus;Tömb

nev : array[1..10] of integer;matrix : array[1..10,1..10] of

integer;Típusdefniálás

type nev = set of elemek felsorolása; Record típus

type nev = record a,b,c,d:típus; end;Konstans

const konstansvaltozo = ertek;

Page 18: Delphi programozás SRTNB020

Iteráció

elöl tesztelős ciklus

while kifejezes do utasitas;

hátul tesztelős ciklus

repeat utasitas until feltetel;

növekményes ciklus fel

for kezdo to veg do utasitas;

növekményes ciklus le

for kezdo down to veg do utasitas;

Page 19: Delphi programozás SRTNB020

Szelekció

választáscase kifejezes of

ertek:utasitas;ertek:utasitas;…else utasitas;

end;

feltételes utasításif feltetel then utasitas;if feltetel then utasitas else

utasitas;

Page 20: Delphi programozás SRTNB020

Műveletek

maradékos osztás mod

egészosztás div

és and

léptetés balra shl

igaz, hamis true, false

Page 21: Delphi programozás SRTNB020

Függvények, eljárások

Használatuk: - többször szeretnénk meghívni- máshol is használni szeretnénk- paraméterek adhatók át (lokálisak)- a függvény visszatér egy értékkel

Függvényekfunction nev(argumentumok):tipus;Pl.: Abs(numerikus kifejezés);

függvény valós vagy egész szám abszolút értékét adja vissza

Eljárásokprocedure nev (argumentumok);Pl.: Arc(X, Y, Kezdőszög, Zárószög, Sugár); eljárás grafikus módban - körcikket rajzol

Page 22: Delphi programozás SRTNB020

Függvények

adatbevitel Readln[(változóaz.)];Read[(változóaz.)];

megjelenítés képernyőn Write[(kifejezés)];Writeln[(kifejezés)];

képernyő pozíció GotoXY(Xpoz, Ypoz);képernyő törlés ClrScr;képernyő sor törlése ClrEol; /crt unit/véletlen szám (0- h) Radom(h);négyzet Sqr(i);négyzet gyökvonás Sqrt(i);kerekítés Round(i);

Page 23: Delphi programozás SRTNB020

Karakterlánc függvények:

lánc hossza

length(karakterlánc);

a lánc egy darabját adjacopy(karakterlánc,kezd,darab);

részláncot keres

pos(részlánc, karakterlánc);

Page 24: Delphi programozás SRTNB020

Karakterlánc eljárások

törlésdelete(karlánc,kezd, darab);

beszúrás

insert(részlánc,karlánc,pozíció);

számot karakterlánccá alakítjastr(szám, karakterlánc);

karláncot számmá alakítjaval(karlánc, szám, kód);

Page 25: Delphi programozás SRTNB020

Egyéb

a karakterrel visszatérő fvReadKey;

billentyűzet puffert vizsgáló boolean fvKeyPressed;

késleltetésdelay(ezredmásodperc);

zenéléssound(frekvencia);

Page 26: Delphi programozás SRTNB020

Fájlkezelés

Lépései programozási nyelvtől függetlenek:- fájl megnyitása- adatok írása, olvasása- fájl lezárása

Fajtái:- szöveges fájlok- típusos fájlok- típus nélküli fájlok

Page 27: Delphi programozás SRTNB020

Szöveges fájlok

- Karaktereket tartalmazó sorokból épülnek fel

- Lezárása: CR/LF (kocsi vissza/soremelés)

(ASCII kódja: 13 és 10)

- Szekvenciális elérés és használat

- Vagy csak olvasható vagy csak írható

Page 28: Delphi programozás SRTNB020

Szöveges fájlok

- Használatakor deklarálni kell egy változót, típusa: text

var fájl_változó: Text;

- A fájlváltozóhoz hozzá kell rendelni a fájltAssign(fájl_változó, fájl_név);

- Ezek után jöhetnek a műveletek

Page 29: Delphi programozás SRTNB020

Szöveges fájlok - megnyitás

reset(fájl_változó);

csak olvasásra nyitja

eof függvény true értékkel jelzi, ha a fájl üres.

rewrite(fájl_változó);

új szövegfájlt hoz létre, vagy felülír egy létezőt

append(fájl_változó);

létező fájlt nyit meg csak hozzáírásra

Page 30: Delphi programozás SRTNB020

Szöveges fájlok –I/O műveletek

Írás

write(fájl_változó, kifejezéslista);

writeln(fájl_változó, kiflista);

Olvasás

read(fájl_változó, kifejezéslista);

readln(fájl_változó, kifejezéslista);

Page 31: Delphi programozás SRTNB020

Szöveges fájlok – eof, eoln

- Fájl végének ellenőrzéseeof(fájl_változó);

true: az aktuális pozíció a fájl utolsó eleme után helyezkedik el

- Sor végének ellenőrzéseeoln(fájl_változó); függvény true értékkel tér vissza, ha az aktuális pozíció az end-of-line (sorvége - CR/LF) jelzőn áll

seekeoln(fájl_változó); (true: sor vége) seekeof(fájl_változó); (true:állomány vége)

http://www.lib.uni-miskolc.hu/digital/0001/html/delphi5.htm

Page 32: Delphi programozás SRTNB020

Fájlkezelés

Assignfile hozzárendelésReset nyitás csak olvasásra Rewrite nyitás írásara, felülírásraRead I/O olvasásWrite I/O írásClosefile lezárás

Page 33: Delphi programozás SRTNB020

Hibakezelés

- I/O műveleteknél fellépő hibák kezelése lehetséges

- programrészletet a {$I-} és {$I+} direktívák közé kell helyezni

- IOResult függvény visszaadott értékéből következtethetünk a hiba megjelenésére (tároljuk integer változóba!)

- IOResult visszatérési értéke:0, ha a legutolsó I/O művelet sikeres

volt run-time hiba kódja, ha sikertelen

Page 34: Delphi programozás SRTNB020

Hibakezelés - példa

{$I-} Reset(f); {megnyitás} Ior:=IOResult; {változóba mentés} if Ior<>0 then begin WriteLn('A fájl nem létezik!'); Exit; end; {$I+}

Page 35: Delphi programozás SRTNB020

Grafika

Grafikus képernyő használatához:

- GRAPH unit- .BGI fájlok

- a TP/BGI könyvtárban található

- az általunk használt VGA üzemmódhoz az EGAVGA.BGI fájlra lesz

szükség

- ez a fájl a videokártya vezérléséhez szükséges alacsonyszintű

parancsokat tartalmazza

Page 36: Delphi programozás SRTNB020

Grafika

DetectGraph(gd,gm); gd a grafikus meghajtó, a monitor típus

kódja gm a képernyőfelbontás kódja

InitGraph(gd,gm,'c:\tp\bgi');kapcsolja be a grafikus képernyőt

ReadLn; az ábra megjelenítése

CloseGraph; a grafikus képernyő bezárása

Page 37: Delphi programozás SRTNB020

Grafika

SetBkColor(white); beállítja a háttérszínt, majd ezzel a színnel töröljük a képernyőt: ClearDevice;

SetColor(red); eljáráshívással a rajz színét állítjuk be

SetTextStyle(0,0,2); a megjelenítendő szöveg karaktertípusát, irányát és a nagyítás mértékét

Page 38: Delphi programozás SRTNB020

Grafikai függvényekputpixel(x,y:integer;szin:word);

az (x,y) koordinátájú pontot szin színűre festigetpixel(x,y):word;

visszaadja az (x,y) koord. pont színétline(x1,y2,x2,y2);

adott színnel és stílussal vonalat húz két pont közöttsetcolor(szin:word);

aktuális szín beállítása (16 szín 0-15ig, konstansok)getcolor:szin;

értéke 0 és 15 között lehet, visszaadja az aktuális színt

setlinestyle(stilus, minta, vastagsag);a húzott vonalak stílusát SolidLn (0,normál), DottedLn (1,pontozott), CenterLn (2,szaggatott), DashedLn (3,szaggatott), UserBitLn (4, a minta-ban definiált mintájú) vastagságát NormWidth (0,1,2), illetve ThickWidth (3)

Page 39: Delphi programozás SRTNB020

Grafikai alakzatok

rectangle(x1,y1,x2,y2); téglalapot rajzol

circle(x,y,radius:integer);kört rajzol x,y középponttal és radius

sugárral

drawpoly(p:word; var pontok);sokszöget rajzol

Page 40: Delphi programozás SRTNB020

Feladatok1. Számok bekérése, sorrendben való kiíratása2. Osztás adott pontossággal3. Maximumelem kiválasztás tömbből4. Buborékrendezés5. Lotto – legtöbbször kisorsolt elem6. Fájlkezelés – a rejtö.txt fájl tartalmát átmásolni egy másik

fájlba7. Menürajzolás8. Vonal, kör, rúd kirajzoltatása9. Egy pontba érintkező koncentrikus körök kirajzolásaHf.:1. Mátrix szorzása (tükrözése)2. Bekért személyi adatok fájlba mentése3. Alakzatok kirajzolása bekért paraméterek szerint

Page 41: Delphi programozás SRTNB020

Megoldás 1.Számok bekérése, sorrendben való kiíratása

Program hf1; {szam beolvasasa, sorrenben kiiratasa}

uses Crt;

vari,j,n,tmp: integer;A : array[1..30] of integer;

begin clrscr; {bekeres} for i:=1 to n do A[i]:=0; write('mennyi n erteke?'); readln(n); if n>30 then writeln('tul sok a szam') else for i:=1 to n do begin write('kerem ezt az ',i,'szamot'); readln(A[i]); end;

if n<30 then

begin

{sorrend}

for i:= 1 to n do

begin

for j :=1 to n do

begin

if A[i]<A[j] then

begin

tmp:=A[i];

A[i]:=A[j];

A[j]:=tmp;

end;

end;

end;

{kiiratas}

for i:= 1 to n do

begin

if A[i]<>A[i+1] then write(' ' ,A[i], '');

end;

readln;

end

else

readln;

end.

Page 42: Delphi programozás SRTNB020

program osztas;uses crt;

var eredmeny,t:string; osztando, oszto:longint; pontossag:byte; i:byte; {ciklusvaltozo}

szam1,szam2:longint; hanytizedesig,tmp,maradek,j:integer;

beginclrscr;

writeln('kerem az osztot');readln(oszto);writeln('kerem az osztandot');readln(osztando);writeln('hany tizedesig');readln(pontossag);

Str(osztando div oszto, eredmeny);eredmeny:=eredmeny+',';

for i:=1 to pontossag do begin osztando:=10*(osztando mod oszto);

Megoldás 2.Osztás adott pontossággal

Str(osztando div oszto, t);

eredmeny:=eredmeny+t;

end;

writeln('az eredmeny',eredmeny);

{ masik}

writeln;

writeln;

writeln('kerem az osztot');

readln(szam1);

writeln('kerem az osztandot');

readln(szam2);

writeln('hany tizedesig');

readln(hanytizedesig);

tmp:= szam1 div szam2;

write('az eredmeny: ',tmp,',');

maradek:=szam1 mod szam2;

tmp:= (maradek*10) div szam2;

write(tmp);

for j:=1 to hanytizedesig do

begin

maradek:=maradek mod szam2;

tmp:=(maradek*10) div szam2;

write(maradek);

end;

readkey;

end.

Page 43: Delphi programozás SRTNB020

PROGRAM CiklusDemo2;{Jelsz˘ beˇr sa} Uses CRT; VAR jelszo,tipp:string; c:char; BEGIN jelszo:='TM'; Repeat tipp:=''; Write('K‚rem a jelsz˘t (Enter=kil‚p‚s): '); repeat c:=Readkey; if c<>#13 then begin Write('*'); tipp:=tipp+c; end; until c=#13; Writeln; Until (tipp=jelszo) or (tipp=''); if tipp=jelszo then Writeln('Bel‚pett!') else Writeln('Nem l‚pett be'); END.

Megoldás 3.Jelszóbekérő

Page 44: Delphi programozás SRTNB020

PROGRAM maximumkivalasztas; Uses CRT; CONST n=10; a:array[1..n] of integer=(2,20,2,2,2,-2,5,2,2,2); VAR m,cv:integer;

BEGIN clrscr; m:=1; for cv:=2 to n do if a[cv]>a[m] then m:=cv; writeln('a legnagyobb elem helye: ', m, ' erteke', a[m]);

readkey;

END.

Megoldás 4. Maximumelem kiválasztás tömbből

Page 45: Delphi programozás SRTNB020

PROGRAM buborekrendezes; Uses CRT; CONST n=10; a:array[1..n] of integer=(2,20,2,2,2,-2,5,2,-5,2); VAR m,cv,temp:integer; volt:Boolean; {false, true}

BEGIN clrscr; repeat volt:=false; for cv:=1 to n-1 do if a[cv]>a[cv+1] then begin temp:=a[cv]; a[cv]:=a[cv+1]; a[cv+1]:=temp; volt:=true; end; until not volt; for cv:=1 to n do write(a[cv]:5); writeln; readkey;

END.

Megoldás 5. Buborékrendezés

Page 46: Delphi programozás SRTNB020

program lotto_proceduras;uses crt;CONST N=90;{ Huzas:array[1..N] of word=(133,112,156,124,115,131,140,128,117,156, 130,150,151,129,140,124,122,136,136,139, 131,141,140,133,140,125,126,122,156,112, 115,133,125,138,139,131,127,127,111,116, 135,148,135,121,131,133,149,125,145,131, 146,134,124,141,126,144,123,124,126,130, 129,125,107,154,130,143,136,125,146,116, 138,143,135,120,155,134,160,135,129,125, 138,125,129,132,131,152,118,109,116,138);} Huzas:array[1..N] of word= (137,115,161,128,118,133,146,130,118,158,

132,155,156,130,141,125,127,142,136,147,136,145,146,139,145,127,127,128,160,116,118,137,133,142,142,134,132,129,113,122,138,154,137,123,134,138,152,126,147,135,149,136,127,146,133,151,124,127,133,138,136,127,107,157,134,149,141,129,149,121,145,146,141,128,157,140,164,139,135,129,141,126,133,133,139,155,121,111,121,142);

var temp,tmp,osszhuzas:word; i,m,cv,valt,Kevesebbszer,Tobbszor,Atlag:integer;

PROCEDURE Huzasszam; var i:integer; Begin tmp:=0; for i:=1 to N do tmp:=tmp+Huzas[i]; writeln('A huzasok szama', tmp div 90); End;

Megoldás 6.Lotto – legtöbbször kisorsolt elem

Page 47: Delphi programozás SRTNB020

var i:integer; Begin Atlag:= tmp div 90; Kevesebbszer:=0; for i:=1 to N do if Huzas[i]<Atlag then Inc(Kevesebbszer); Tobbszor:= N-Kevesebbszer; writeln('atlagnal kevesebbszer kihuzott: ',Kevesebbszer); writeln('ill. tobbszor kihuzott ',Tobbszor); End;

PROCEDURE Maximum; var i:integer; BeginPROCEDURE Atlagszamitas; tmp:=0; for i:=1 to N do if (tmp<Huzas[i]) then begin tmp:=Huzas[i]; valt:=i; end; writeln('a leggyakrabban kihuzott szam:',valt); End;

PROCEDURE Minimum;PROCEDURE Minimum; Procedure maxkereses(var m:integer); {hogy tmp Procedure maxkereses(var m:integer); {hogy tmp valt honnet induljon}valt honnet induljon} BeginBegin m:=1;m:=1; for cv:=2 to N dofor cv:=2 to N do if Huzas[cv]>Huzas[m] then m:=cv;if Huzas[cv]>Huzas[m] then m:=cv; End;End; BeginBegin maxkereses(m);maxkereses(m); tmp:=Huzas[m];tmp:=Huzas[m]; for i:=1 to N do if (tmp>Huzas[i]) thenfor i:=1 to N do if (tmp>Huzas[i]) then beginbegin tmp:=Huzas[i];tmp:=Huzas[i]; valt:=i;valt:=i; end;end; writeln('a legritkabban kihuzott szam:',valt);writeln('a legritkabban kihuzott szam:',valt); End;End;

BEGINBEGINclrscr;clrscr;Huzasszam;Huzasszam;Atlagszamitas;Atlagszamitas;Maximum;Maximum;Minimum;Minimum;readkey;readkey;END.END.

Megoldás 6. – folyt.Megoldás 6. – folyt.Fájlkezelés – a rejtö.txt fájl tartalmát átmásolni egy másik fájlbaFájlkezelés – a rejtö.txt fájl tartalmát átmásolni egy másik fájlba

Page 48: Delphi programozás SRTNB020

PROGRAM menu_keszites;Uses CRT;VAR m:char; a,b:integer;

Begin TextBackGround(Blue); TextColor(Black); clrscr;

GotoXY(33,12); write('╔══════════╗'); GotoXY(33,13); write('║ ║ '); GotoXY(33,14); write('╚══════════╝'); a:=0; b:=0; a:=random(21); b:=random(11)+5;

if ((a<10) and (b<10)) then begin GotoXY(33,13); write('║',a,' ',b,'║'); end; if ((a>9) and (b>9)) then begin GotoXY(33,13); write('║',a,' ',b,'║'); end;

readkey;End.

Megoldás 7.Menürajzolás

Page 49: Delphi programozás SRTNB020

PROGRAM grafik; Uses CRT,GRAPH; VAR videokartya,Grafikusmod:integer;

BEGIN videokartya:=Detect; InitGraph(videokartya,Grafikusmod,'C:\tp\bgi'); SetBkColor(9); SetLineStyle(3,3,1); SetFillStyle(HatchFill,1); Bar(300,300,350,350); Line(10,10,200,200); Circle(250,250,20);

readkey; CloseGraph;END.

Megoldás 8.Vonal, kör, rúd kirajzoltatása

Page 50: Delphi programozás SRTNB020

Megoldás 9.Egy pontba érintkező koncentrikus körök kirajzolása

program KOROK;uses GRAPH;var gd,gm,i:integer;begin DetectGraph(gd,gm);InitGraph(gd, gm,'');

for i:=1 to 10 do begin Circle(200+i*10,200,60+i*10); end; ReadLn; CloseGraph;

end.