Doteraz sme programovali pomerne nudné programy. Kreslilo, či vypisovalo to iba to, čo bolo zadané priamo v kóde, ak ste niekomu chceli ukázať, ako rôzne sa správa váš program pri rôznych vstupných údajoch (napr. veľkosť štvorca, vypisovaný text a pod.), museli ste to meniť v zdrojovom kóde.
Teraz sa naučíme, ako meniť vstupné údaje bez toho, aby sme museli program vypínať a nanovo zapínať.
Začneme používať nový komponent – Edit. Nájdete ho základnej ponuke komponentov. Je to orámované políčko, do ktorého sa dá písať počas behu programu.
A ako to funguje?
- umiestnime Edit niekde do formulára
- po zatlačení tlačidla (napr. Button1) má náš program možnosť zistiť text zapísaný v Edite a ďalej ho spracovať, napr. tak, že z neho spraví číslo (prekonvertuje) a priradí do nejakej premennej
- vďaka tomuto môžeme pred každým zatlačením tlačidla zadať nejaký nový text a program bude zakaždým pracovať s nejakou inou hodnotou
K tomu, čo je vpísané do Editu, sa vieme dostať cez takúto premennú: Edit1.text. Za týmto sa „schováva“ to, čo je aktuálne vpísané do políčka vo vašom bežiacom programe. Pochopiteľne, Edity sa môžu volať rôzne (môžeme im meniť mená v inšpektore objektov), preto časť názvu tejto premennej, ktorá je pred bodkou, meníme podľa názvu konkrétneho Editu.
Skúsme si na začiatok veľmi jednoduchú úlohu (bez nejakého hlbšieho významu):
1. Naprogramujte program, ktorý po kliknutí na tlačidlo vypíše do Image-u text, ktorý vpíšete do Editu.
Veľmi často (skutočne veľmi často) nám Edit poslúži ako priestor na zadávanie čísel (veľkosť štvorca, ktorého obsah, obvod chceme vyrátať, počet kružníc, ktoré sa majú vykresliť, a pod.). Do Editu teda budeme zadávať číslo, s ktorým aj chceme pracovať ako s číslom (nebudem s ním pracovať ako s textom – napríklad vypisovať ho, ale budeme ho používať napr. v matematických výpočtoch). Ale niečo takéto:
var cislo: integer;
begin
cislo := edit1.text;
end;
nebude fungovať. Prečo? Za premennou edit1.text sa vždy schováva text. Pascal proste neráta s tým, že vy tam chcete mať číslo, on je pripravený tak, že tam vždy vidí text. Ale existuje spôsob, ako z textu urobiť číslo…
Spomínate si, ako sa robí z čísla text? Keď sme napr. hodnotu nejakej integerovskej premennej chceli vypisovať do Image-u: čo sme museli pridať do kódu? Konverziu IntToStr(premenná)!
Máte už teraz nápad, ako z textu spravíme číslo? … Stále nič?
Odpoveď je jednoduchá: použijeme konverziu StrToInt(text). Pozor ale! Text, ktorý chcete takto zmeniť na číslo, musí byť správne napísaný, môže obsahovať iba číslice a žiadne iné znaky (ani medzery na začiatku, či na konci).
Tak napríklad takáto úloha:
2. Napíšte program, ktorý po kliknutí na tlačidlo nakreslí štvorec, vypočíta a vypíše jeho obsah a obvod, pričom dĺžku strany štvorca budeme zadávať do Editu.
3. Napíšte program, ktorý bude kresliť sústredné kružnice so stredom v bode [100;100] a s rôznym polomerom zadaným do Editu.
Hint: isto zistíte, že kružnice sa kreslia aj s bielou výplňou, čo je na nič, keď chceme vidieť všetky kružnice, ktoré sme nakreslili. Vtip je v tom, že vykresľovanie výplne treba vypnúť, docielite to týmto príkazom:
Image1.Canvas.Brush.Style := bsClear;
Ak budete potom potrebovať kresliť kružnice s výplňou, musíte si to naspäť zapnúť, a to pomocou tohto príkazu:
Image1.Canvas.Brush.Style := bsSolid;
4. Napíšte program, ktorý z dvoch vstupných riadkov načíta dĺžky strán obdĺžnika a vykreslí ho.
5. Napíšte program, ktorý z jedného vstupného riadku prečíta nejaký text, z druhého číslo, ktoré vyjadruje posunutie tieňa. Potom vypíše tento text aj s bledošedým tieňom, ktorý je posunutý aj v x-ovom aj v y-ovom smere o zadané číslo.
Nepovinná omáca úloha, deadline pre:
-
3A1: 15.11.2015 o 22,00
-
3B1, 3A2: 17.11.2015 o 22,00
-
3B2: 30.11.2015 o 22,00
Napíšte program, ktorý z jedného vstupného riadku načíta dĺžku strany štvorca. Potom vykreslí tri štvorce s touto dĺžkou strany vedľa seba tak, aby mali spoločnú vždy jednu stranu (pozri obrázok):
BONUSová úloha za 2 okamžité body, deadline rovnaký ako vyššie
Napíšte program, ktorý z dvoch vstupných riadkov načíta hranice intervalu, z ktorého potom vygeneruje a vypíše náhodné číslo. Teda ak zadáme dolnú hranicu intervalu napr. 50 a hornú 100, program vygeneruje a vypíše napríklad číslo 74.
Najnovšie články
Najnovšie komentáre
- Kaťa komentoval 08 – Hodnotená aktivita z hardware-u
- Alica komentoval 08 – Hodnotená aktivita z hardware-u
- Daniel komentoval 08 – Hodnotená aktivita z hardware-u
- Marek komentoval 08 – Hodnotená aktivita z hardware-u
- kaja komentoval 08 – Hodnotená aktivita z hardware-u
nika.blog.matfyz.sk
Join Us On Facebook
Join Us On Twitter
Join Us On In.com
Subscribe to RSS
Follow Us On Google+
Subscribe Us On Youtube
Follow Us On Pinterest
Follow Us On Instagram
Follow Us On Tumblr
Subscribe Us On Flickr