From 96e5c7e020ba5c70241651d2c7d17bed17019c3a Mon Sep 17 00:00:00 2001 From: dlutov <130660961+dlutov@users.noreply.github.com> Date: Thu, 29 Aug 2024 14:30:44 +0200 Subject: [PATCH] centriranje slika --- .../05_nasledjivanje.md | 27 ++++++++-- source/2_programski_jezik_cs/000_uvod.md | 16 ++++-- .../010_izrada_projekta.md | 33 +++++++++--- .../042_referentni_tipovi.md | 5 +- source/3_klase/012_dodavanje_klase.md | 11 +++- source/3_klase/070_parcijalne_klase.md | 12 ++++- source/3_klase/080_dinamicke.md | 12 ++++- .../dinamicko_kreiranje.md | 36 ++++++++++--- .../dogadjaji_misa.md | 10 +++- .../dogadjaji_tastature.md | 20 ++++++-- source/6_windows_forms_aplikacije/dugme.md | 37 +++++++++++--- source/6_windows_forms_aplikacije/forma.md | 6 ++- .../kastovanje_kontrola.md | 15 ++++-- .../kombinovani_okvir.md | 50 +++++++++++++++---- source/6_windows_forms_aplikacije/labela.md | 32 +++++++++--- .../okvir_za_grupu.md | 16 ++++-- .../okvir_za_listu.md | 45 +++++++++++++---- .../okvir_za_potvrdu.md | 10 +++- .../okvir_za_sliku.md | 21 ++++++-- .../okvir_za_tekst.md | 31 +++++++++--- source/6_windows_forms_aplikacije/panel.md | 30 ++++++++--- .../radio_dugmad.md | 35 ++++++++++--- source/6_windows_forms_aplikacije/svojstva.md | 6 ++- source/6_windows_forms_aplikacije/timer.md | 11 ++-- source/6_windows_forms_aplikacije/uvod.md | 12 ++++- .../zadatak_budilnik.md | 17 +++++-- .../zadatak_igra_memorije.md | 10 +++- .../zadatak_iks_oks.md | 15 ++++-- .../6_windows_forms_aplikacije/zadatak_mcq.md | 7 ++- .../zadatak_memorija.md | 15 ++++-- .../zadatak_pogodi_broj.md | 6 ++- .../6_windows_forms_aplikacije/zadatak_scq.md | 5 +- .../zadatak_typing_test.md | 17 +++++-- .../zadatak_vezbaj_reflekse.md | 12 ++++- .../zadatak_whack_a_mole.md | 6 ++- 35 files changed, 519 insertions(+), 130 deletions(-) diff --git a/source/1_osnovni_koncepti_oop/05_nasledjivanje.md b/source/1_osnovni_koncepti_oop/05_nasledjivanje.md index 604ac5c..bfaca07 100644 --- a/source/1_osnovni_koncepti_oop/05_nasledjivanje.md +++ b/source/1_osnovni_koncepti_oop/05_nasledjivanje.md @@ -14,7 +14,10 @@ Једноставан пример хијерархије класа за твоју школу могао би да изгледа овако: -![Наслеђивање](./images/nasledjivanje-01.png) +```{image} images/nasledjivanje-01.png +:scale: 70 +:align: center +``` Школу похађају ученици, а у школи раде запослени. Запослени могу бити наставници или ненаставно особље. Заједничко за све особе у школи је да имају @@ -41,18 +44,29 @@ **једноструко наслеђивање**: изведена класа наслеђује једну базну класу (најчешћи облик наслеђивања, једноставан за управљање): -![Наслеђивање](./images/nasledjivanje-02.png) +```{image} images/nasledjivanje-02.png +:scale: 70 +:align: center +``` + **вишеструко наслеђивање**: изведена класа истовремено наслеђује више базних класа (сложена структура, потенцијални конфликти, C# не подржава вишеструко наслеђивање класа): -![Наслеђивање](./images/nasledjivanje-03.png) +```{image} images/nasledjivanje-03.png +:scale: 70 +:align: center +``` + **вишесложно наслеђивање**: једна изведена класа је наслеђена из друге изведене класа (чест облик наслеђивања): -![Наслеђивање](./images/nasledjivanje-04.png) +```{image} images/nasledjivanje-04.png +:scale: 70 +:align: center +``` У дијаграму изнад, `БазнаКласа` је базна класа за `ИзведенаКласа1`, а `ИзведенаКласа1` је базна класа за `ИзведенаКласа2`. @@ -60,7 +74,10 @@ **хијерархијско наслеђивање**: једна базна класа је базна класа за више изведених класа (чест облик наслеђивања): -![Наслеђивање](./images/nasledjivanje-05.png) +```{image} images/nasledjivanje-05.png +:scale: 70 +:align: center +``` У дијаграму изнад, `БазнаКласа` је базна класа и за `ИзведенаКласа1` и за `ИзведенаКласа2`. diff --git a/source/2_programski_jezik_cs/000_uvod.md b/source/2_programski_jezik_cs/000_uvod.md index 0d18664..f6f0fd7 100644 --- a/source/2_programski_jezik_cs/000_uvod.md +++ b/source/2_programski_jezik_cs/000_uvod.md @@ -21,15 +21,20 @@ C# програми извршавају се у оквиру *.NET*-а. Шта извршавају у оперативном систему? У I и II разреду развијао си апликације у програмском језику C које се извршавају у оквиру оперативног система: -![Увод](./images/uvod-01.png) +```{image} images/uvod-01.png +:scale: 70 +:align: center +``` Како би се превазишао проблем са компатибилношћу - да старији програми не могу да функционишу на новијим верзијама оперативног системима и обрнуто - осмишљен је још један слој под називом *.NET Framework*. Захваљујући том слоју, функционалност апликације више не зависи од оперативног система: -![Увод](./images/uvod-02.png) - +```{image} images/uvod-02.png +:scale: 70 +:align: center +``` *.NET Framework* је данас саставна компонента *Windows*-а која садржи општу језичку извршну платформу (енгл. *The Common Language Runtime, CLR*) и скуп од преко 4000 библиотека класа (енгл. *The Base Class Library, BCL*). *CLR* @@ -50,7 +55,10 @@ C# програми извршавају се у оквиру *.NET*-а. Шта *automatic garbage collection*). Кôд који извршава *CLR* назива се "управљив кôд", супротно од компајлираног машинског кôда који се назива "неуправљив кôд". -![Увод](./images/uvod-03.png) +```{image} images/uvod-03.png +:scale: 70 +:align: center +``` Интероперабилност језика је једна од главних *.NET* карактеристика. Пошто је *IL* кôд произведен од стране компајлера у складу са заједничком спецификацијом diff --git a/source/2_programski_jezik_cs/010_izrada_projekta.md b/source/2_programski_jezik_cs/010_izrada_projekta.md index 77d15ab..aeb0dfb 100644 --- a/source/2_programski_jezik_cs/010_izrada_projekta.md +++ b/source/2_programski_jezik_cs/010_izrada_projekta.md @@ -14,12 +14,21 @@ система *Windows* кликнеш на `Start` дугме, па пронађеш и покренеш **Visual Studio Installer** и кликнеш на дугме `Modify`: -![Visual Studio Installer](./images/vs-01.png) +```{image} images/vs-01.png +:scale: 70 +:align: center +``` + + За наставни предмет Програмирање у III разреду довољно је да одабереш радни пакет `.NET Desktop Development`. -![Visual Studio Installer](./images/vs-02.png) +```{image} images/vs-02.png +:scale: 70 +:align: center +``` + Од наставника веб-програмирања и других стручних предмета добићеш информације о осталим неопходним радним пакетима за те предмете. Када си одабрао @@ -69,20 +78,32 @@ *Windows*. Покрени развојно окружење Visual Studio и кликни на `Create a new project`: -![Креирање новог пројекта](./images/vs-03.png) +```{image} images/vs-03.png +:scale: 70 +:align: center +``` Одабери `Console App (.NET Framework)` и кликни `Next` (да би брже пронашао овај тип пројекта у комбинованим оквирима, можеш одабрати `C#`, `Windows` и `Console`): -![Креирање новог пројекта](./images/vs-04.png) +```{image} images/vs-04.png +:scale: 70 +:align: center +``` Унеси име пројекта, локацију на којој ћеш сачувати пројекат, име решења које може бити исто као и име пројекта (решење је контејнер за један или више пројеката), одабери *.NET Framework* верзију и кликни `Create`: -![Креирање новог пројекта](./images/vs-05.png) +```{image} images/vs-05.png +:scale: 70 +:align: center +``` Развојно окружење биће одмах спремно за рад: -![Креирање новог пројекта](./images/vs-06.png) +```{image} images/vs-06.png +:scale: 70 +:align: center +``` diff --git a/source/2_programski_jezik_cs/042_referentni_tipovi.md b/source/2_programski_jezik_cs/042_referentni_tipovi.md index fd02bca..b001b01 100644 --- a/source/2_programski_jezik_cs/042_referentni_tipovi.md +++ b/source/2_programski_jezik_cs/042_referentni_tipovi.md @@ -33,7 +33,10 @@ базне класе. Више о наслеђивању учићеш у наредним поглављима. Инстанце типова класа се креирају помоћу израза за креирање објеката. Тип класе може бити: -![Референтни тип](./images/referentni-02.png) +```{image} images/referentni-02.png +:scale: 100 +:align: center +``` Одређени унапред дефинисани типови класа имају посебно значење у програмском језику C#: diff --git a/source/3_klase/012_dodavanje_klase.md b/source/3_klase/012_dodavanje_klase.md index 3ee8f29..bb57e57 100644 --- a/source/3_klase/012_dodavanje_klase.md +++ b/source/3_klase/012_dodavanje_klase.md @@ -27,7 +27,11 @@ Додавање нове класе у пројекат је једноставно и интуитивно. У Solution Explorer прозору... -![Solution Explorer](./images/solution_explorer.png) +```{image} images/solution_explorer.png +:scale: 100 +:align: center +``` + ...кликни десним кликом на назив пројекта (у овом примеру `MojaAplikacija`), па одабери `Add`, па `Class`: @@ -41,4 +45,7 @@ ...па кликни `Add`. Овим поступком си додао класу `MojaKlasa` у свој пројекат у засебном фајлу: -![Solution Explorer](./images/solution_explorer4.png) +```{image} images/solution_explorer4.png +:scale: 100 +:align: center +``` diff --git a/source/3_klase/070_parcijalne_klase.md b/source/3_klase/070_parcijalne_klase.md index 1df735a..d135b77 100644 --- a/source/3_klase/070_parcijalne_klase.md +++ b/source/3_klase/070_parcijalne_klase.md @@ -34,7 +34,11 @@ окружења *Visual Studio* кликни десним кликом на пројекат, одабери `Add` и кликни на `Class`. -![Креирање класе](/3_klase/images/partial-01.png) +```{image} images/partial-01.png +:scale: 100 +:align: center +``` + Назови фајл `Pravougli1.cs`. @@ -92,7 +96,11 @@ namespace Trouglovi Наставник ће прикључити фајлове `Pravougli1.cs` и `Pravougli2.cs` у свом пројекту... -![Класе у пројекту](/3_klase/images/partial-04.png) +```{image} images/partial-04.png +:scale: 100 +:align: center +``` + ...додати именски простор `Trouglovi` и проверити функционалност вашег кода на следећи начин: diff --git a/source/3_klase/080_dinamicke.md b/source/3_klase/080_dinamicke.md index bf7ba73..74a7d91 100644 --- a/source/3_klase/080_dinamicke.md +++ b/source/3_klase/080_dinamicke.md @@ -97,7 +97,11 @@ Framework апликацији коју развијаш. Нека то буде Када креираш нову конзолну апликацију, у *Solution Explorer*-у развојног окружења, десним кликом на `References` одабери `Add Reference`. -![Додавање Class Library референце](/3_klase/images/dll-05.png) +```{image} images/dll-05.png +:scale: 100 +:align: center +``` + Затим кликни `Browse`... @@ -109,7 +113,11 @@ Framework апликацији коју развијаш. Нека то буде У *Solution Explorer*-у појавиће се референца на одабрану библиотеку. -![Референца на Class Library](/3_klase/images/dll-08.png) +```{image} images/dll-08.png +:scale: 100 +:align: center +``` + Пре него што почнеш да користиш методе из додате библиотеке динамичких веза, потребно је да у заглављу додаш одговарајући именски простор: diff --git a/source/6_windows_forms_aplikacije/dinamicko_kreiranje.md b/source/6_windows_forms_aplikacije/dinamicko_kreiranje.md index 28d8ef4..0925eb8 100644 --- a/source/6_windows_forms_aplikacije/dinamicko_kreiranje.md +++ b/source/6_windows_forms_aplikacije/dinamicko_kreiranje.md @@ -30,7 +30,10 @@ године дизајнирао Андерс Хејлсберг у компанији Microsoft?" Испод постави два дугмета са текстом "Прикажи текст" и "Прикажи слику". -![Динамичко креирање контрола](./images/dinamicko-01.png) +```{image} images/dinamicko-01.png +:scale: 100 +:align: center +``` Ако корисник кликне на прво дугме, испод треба да се прикаже лабела са текстом "Програмски језик C#", а друго дугме треба да постане онемогућено. Ако корисник @@ -164,13 +167,19 @@ private void btnSlika_Click(object sender, EventArgs e) инстанца контроле лабела са дефинисаним својствима и на крају, креирана контрола биће постављена на форму: -![Динамичко креирање контрола](./images/dinamicko-02.png) +```{image} images/dinamicko-02.png +:scale: 100 +:align: center +``` Кликом на друго дугме, прво дугме постаће онемогућено, креираће се инстанца контроле оквир за слику са дефинисаним својствима и на крају, креирана контрола биће постављена на форму: -![Динамичко креирање контрола](./images/dinamicko-03.png) +```{image} images/dinamicko-03.png +:scale: 100 +:align: center +``` ## Додавање догађаја динамички креираним компонентама @@ -201,7 +210,10 @@ pcbOdgovor.Click += new EventHandler(pcbOdgovor_Click); Сада се кликом на контролу `pcbOdgovor` иницира догађај `pcbOdgovor_Click`: -![Динамичко креирање контрола](./images/dinamicko-04.png) +```{image} images/dinamicko-04.png +:scale: 100 +:align: center +``` ## Уклањање динамички креираних контрола @@ -219,7 +231,10 @@ private void Form1_Load(object sender, EventArgs e) омогућено. Кликом на `btnReset` треба уклонити динамички креирану контролу са форме и поново омогућити дугме `btnTekst` или `btnSlika`. -![Динамичко креирање контрола](./images/dinamicko-05.png) +```{image} images/dinamicko-05.png +:scale: 100 +:align: center +``` Динамичке компоненте могу се уклонити на више начина. Први и најједноставнији начин није погодан за овај пример. Подразумева коришћење `Controls.Remove()` @@ -246,7 +261,10 @@ lblOdgovor.Dispose(); Ако је корисник био кликнуо на дугме `btnSlika` и на форми се налази динамички креирана контрола `pcbOdgovor`... -![Динамичко креирање контрола](./images/dinamicko-06.png) +```{image} images/dinamicko-06.png +:scale: 100 +:align: center +``` ...ову контролу можеш пронаћи и уклонити на следећи начин: @@ -262,8 +280,10 @@ if (kontrolaZaBrisanje != null) Ако је корисник био кликнуо на дугме `btnTekst` и на форми се налази динамички креирана контрола `lblOdgovor`... -![Динамичко креирање контрола](./images/dinamicko-07.png) - +```{image} images/dinamicko-07.png +:scale: 100 +:align: center +``` ...ову контролу можеш пронаћи и уклонити као и претходну: ```cs diff --git a/source/6_windows_forms_aplikacije/dogadjaji_misa.md b/source/6_windows_forms_aplikacije/dogadjaji_misa.md index 57527f3..d05f27b 100644 --- a/source/6_windows_forms_aplikacije/dogadjaji_misa.md +++ b/source/6_windows_forms_aplikacije/dogadjaji_misa.md @@ -56,7 +56,10 @@ Креирај нови *Windows Forms App (.NET Framework)* пројекат са једном формом димензија 320×240 и текстом "Тестирај дугмад миша!" у насловној линији форме. -![Догађаји миша](./images/mouse-01.png) +```{image} images/mouse-01.png +:scale: 100 +:align: center +``` Апликација треба да обавештава порукама корисника којим је тастером миша кликнуо на форму, као и о позицији тачке на форми коју је кликнуо у односу на @@ -77,4 +80,7 @@ private void Form1_MouseClick(object sender, MouseEventArgs e) Када покренеш апликацију и кликнеш на форму, на пример десним дугметом миша, добићеш поруку о томе: -![Догађаји миша](./images/mouse-02.png) +```{image} images/mouse-02.png +:scale: 100 +:align: center +``` diff --git a/source/6_windows_forms_aplikacije/dogadjaji_tastature.md b/source/6_windows_forms_aplikacije/dogadjaji_tastature.md index 0d040cb..bc31a42 100644 --- a/source/6_windows_forms_aplikacije/dogadjaji_tastature.md +++ b/source/6_windows_forms_aplikacije/dogadjaji_tastature.md @@ -24,20 +24,32 @@ `W`, `S`, `A` и `D` се често користе у видео играма за кретање напред, назад, лево, десно. -![Догађаји тастатуре](./images/keyboard-01.png) +```{image} images/keyboard-01.png +:scale: 100 +:align: center +``` Како корисник притиска на тастере `W`, `S`, `A` и `D`, тако треба да се мења текст насловне линије форме у складу са тим. На пример, када корисник притисне `W`, текст треба да се промени у `Играч иде напред!`, када пусти тастер `W` текст треба да се промени у `Играч је стао!`: -![Догађаји тастатуре](./images/keyboard-02.png) -![Догађаји тастатуре](./images/keyboard-03.png) +```{image} images/keyboard-02.png +:scale: 100 +:align: center +``` +```{image} images/keyboard-03.png +:scale: 100 +:align: center +``` Ако корисник притисне неки други тастер, треба га обавестити поруком да се тестирају само тастери `W`, `S`, `A` и `D`. -![Догађаји тастатуре](./images/keyboard-04.png) +```{image} images/keyboard-04.png +:scale: 100 +:align: center +``` Кликни на форму, па дефиниши догађај `KeyDown`... diff --git a/source/6_windows_forms_aplikacije/dugme.md b/source/6_windows_forms_aplikacije/dugme.md index 9de7771..57fc5ef 100644 --- a/source/6_windows_forms_aplikacije/dugme.md +++ b/source/6_windows_forms_aplikacije/dugme.md @@ -29,7 +29,11 @@ остали догађаји. Пример коришћења дугмета на форми може бити апликација из претходне лекције... -![Пример употребе контроле лабела](./images/labela-primer-upotrebe2.png) +```{image} images/labela-primer-upotrebe2.png +:scale: 100 +:align: center +``` + ...где је у четвртом оквиру за групу постављено шест дугмади, а дугмад су постављена и у доњем десном углу апликације. @@ -52,7 +56,10 @@ Форма са иницијално постављеним контролама може да изгледа, на пример, овако: -![Контрола дугме](./images/button-01.png) +```{image} images/button-01.png +:scale: 100 +:align: center +``` Обрати пажњу да је на слици у фокусу прво дугме, јер је његов `TabIndex` постављен на `1`. Притиском на тастер `TAB` на тастатури фокус прелази на друго @@ -74,8 +81,10 @@ private void btnDa_Click(object sender, EventArgs e) Сада ће апликација изгледати овако након клика на прво дугме: -![Контрола дугме](./images/button-02.png) - +```{image} images/button-02.png +:scale: 100 +:align: center +``` На крају, потребно је да дефинишеш догађај клика на дугме са текстом **Затвори**... @@ -107,20 +116,32 @@ private void btnNe_Click(object sender, EventArgs e) Кликни на прво дугме, обриши текст из својства `Text`, својство `BackColor` постави на `White`, па у својству `Image` кликни на три тачке `...`. -![Контрола дугме](./images/panel-1.png)! +```{image} images/panel-1.png +:scale: 100 +:align: center +``` Одабери `Local Resource`, па кликни на `Import` и одабери слику `da.png` и кликни `OK`. -![Контрола дугме](./images/button-03.png) +```{image} images/button-03.png +:scale: 100 +:align: center +``` Сада је дугме потпуно променило изглед: -![Контрола дугме](./images/button-04.png) +```{image} images/button-04.png +:scale: 100 +:align: center +``` Исто уради и за друго дугме: -![Контрола дугме](./images/button-05.png) +```{image} images/button-05.png +:scale: 100 +:align: center +``` Слика на дугмету може бити постављена и путем својства `BackgroundImage`, где се касније својством `BackgroundImageLayout` може дефинисати распоред diff --git a/source/6_windows_forms_aplikacije/forma.md b/source/6_windows_forms_aplikacije/forma.md index a6dcb42..6380a84 100644 --- a/source/6_windows_forms_aplikacije/forma.md +++ b/source/6_windows_forms_aplikacije/forma.md @@ -30,7 +30,11 @@ на `800` и `600` и на крају * боју форме, својство `BackColor`, промени из `Control` у `Blue`. -![Својства форме](./images/form-properties.png) +```{image} images/form-properties.png +:scale: 100 +:align: center +``` + Својства форме у `Properties` прозору организована су по категоријама: *Accessibility*, *Apperance*, *Behavior*,... зато што је притиснута икона diff --git a/source/6_windows_forms_aplikacije/kastovanje_kontrola.md b/source/6_windows_forms_aplikacije/kastovanje_kontrola.md index a44b7be..09bea28 100644 --- a/source/6_windows_forms_aplikacije/kastovanje_kontrola.md +++ b/source/6_windows_forms_aplikacije/kastovanje_kontrola.md @@ -10,7 +10,10 @@ Креирај нови *Windows Forms App (.NET Framework)* пројекат и додај једно дугме на форму. -![Кастовање контрола](./images/kastovanje-01.png) +```{image} images/kastovanje-01.png +:scale: 100 +:align: center +``` Кликни на дугме, па у `Properties` прозору креирај догађај `Click`. Како изгледају параметри догађаја `Click` за једно дугме? @@ -58,7 +61,10 @@ Button kliknutoDugme = sender as Button; `kliknutoDugme` типа `Button` имати исто својство `Text` као и оригинално дугме `button1`: -![Кастовање контрола](./images/kastovanje-02.png) +```{image} images/kastovanje-02.png +:scale: 100 +:align: center +``` Са кастовањем си се сусрео још у првом разреду, где си променљиве једног типа експлицитно кастовао у други тип. У програмском језику C# кастовање објекта из @@ -101,4 +107,7 @@ private void button1_Click(object sender, EventArgs e) изузетак нити ће се извршити наредбе у оквиру условне наредбе `if`, јер израз `kliknutoDugme != null` није тачан. -![Кастовање контрола](./images/kastovanje-03.png) +```{image} images/kastovanje-03.png +:scale: 100 +:align: center +``` diff --git a/source/6_windows_forms_aplikacije/kombinovani_okvir.md b/source/6_windows_forms_aplikacije/kombinovani_okvir.md index 078445b..9fc0ab6 100644 --- a/source/6_windows_forms_aplikacije/kombinovani_okvir.md +++ b/source/6_windows_forms_aplikacije/kombinovani_okvir.md @@ -52,7 +52,10 @@ Креирај нови *Windows Forms App (.NET Framework)* пројекат са формом димензија 400×240, постави контроле као на слици... -![Комбиновани оквир](./images/combobox-01.png) +```{image} images/combobox-01.png +:scale: 100 +:align: center +``` ...и дај им нека смислена имена. @@ -81,12 +84,18 @@ imePrezime = txtImePrezime.Text; кликни на дугме `...`. Унеси дозвољене вредности за број година, сваку у посебној линији... -![Комбиновани оквир](./images/combobox-02.png) +```{image} images/combobox-02.png +:scale: 100 +:align: center +``` ...и промени својство `DropDownStyle` из `DropDown` у `DropDownList`. Тако ћеш омогућити само одабир ставки са листе, а онемогућити унос: -![Комбиновани оквир](./images/combobox-03.png) +```{image} images/combobox-03.png +:scale: 100 +:align: center +``` Одабрану вредност можеш доделити пољу `brojGodina` на следећи начин: @@ -96,7 +105,10 @@ brojGodina = cmbBrojGodina.Text; Исто понови за разред са вредностима I, II, III или IV... -![Комбиновани оквир](./images/combobox-04.png) +```{image} images/combobox-04.png +:scale: 100 +:align: center +``` ...па одабрану вредност додели пољу `razred`: @@ -112,7 +124,10 @@ razred = cmbRazred.Text; али остави подразумевану вредност својства `DropDownStyle` на `DropDown` како би омогућио и унос других вредности... -![Комбиновани оквир](./images/combobox-05.png) +```{image} images/combobox-05.png +:scale: 100 +:align: center +``` ...па одабрану или унету вредност додели пољу `odeljenje`: @@ -122,7 +137,10 @@ indeksOdeljenja = cmbIndeksOdeljenja.Text; Исто понови за школску годину са вредностима 2023/24. и 2024/25... -![Комбиновани оквир](./images/combobox-06.png) +```{image} images/combobox-06.png +:scale: 100 +:align: center +``` ...па одабрану или унету вредност додели пољу `skolskaGodina`: @@ -133,7 +151,10 @@ skolskaGodina = cmbSkolskaGodina.Text; Такмичење из програмирања постоји само у A и B категорији, па за комбиновани оквир за одабир категорије постави својство `DropDownStyle` на `DropDownList`... -![Комбиновани оквир](./images/combobox-07.png) +```{image} images/combobox-07.png +:scale: 100 +:align: center +``` ...па одабрану вредност додели пољу `kategorija`: @@ -190,15 +211,24 @@ private void resetujSvaPolja() Ако је корисник попунио сва поља... -![Комбиновани оквир](./images/combobox-08.png) +```{image} images/combobox-08.png +:scale: 100 +:align: center +``` ...кликом на дугме приказаће се следећа порука... -![Комбиновани оквир](./images/combobox-09.png) +```{image} images/combobox-09.png +:scale: 100 +:align: center +``` ...а ако није: -![Комбиновани оквир](./images/combobox-10.png) +```{image} images/combobox-10.png +:scale: 100 +:align: center +``` Наравно, у некој конкретној апликацији ове податке бележио би у фајл или базу података. diff --git a/source/6_windows_forms_aplikacije/labela.md b/source/6_windows_forms_aplikacije/labela.md index 1a53426..a3b9f57 100644 --- a/source/6_windows_forms_aplikacije/labela.md +++ b/source/6_windows_forms_aplikacije/labela.md @@ -27,7 +27,11 @@ приказ описног текста за неку другу контролу. На пример, у следећој апликацији... -![Пример употребе контроле лабела](./images/labela-primer-upotrebe1.png) +```{image} images/labela-primer-upotrebe1.png +:scale: 100 +:align: center +``` + ...лабелама су описани садржаји оквира за текст (*Name*, *Code Name*, *Max TDP*, *Package*...), садржај комбинованог оквира за текст (*Selection*) и @@ -36,7 +40,11 @@ У истој апликацији, на овој картици... -![Пример употребе контроле лабела](./images/labela-primer-upotrebe2.png) +```{image} images/labela-primer-upotrebe2.png +:scale: 100 +:align: center +``` + ...у лабелама су приказане информације о верзији и аутору апликације, потом су лабелама реализовани хиперлинкови (`www.cpuid.com`, `CPUID Software...`, @@ -82,7 +90,10 @@ Форма са постављене четири лабеле сада треба да изгледа овако: -![Пројекат са контролама лабела](./images/labela-01.png) +```{image} images/labela-01.png +:scale: 100 +:align: center +``` Текст у другој лабели треба да прошириш са данашњим датумом. Како датум треба да буде видљив приликом приказа форме, исто као и боја четврте лабеле, кликни @@ -99,7 +110,10 @@ private void Form1_Load(object sender, EventArgs e) Сада ће се приликом приказа форме приказати и данашњи датум, а боја текста четврте лабеле биће плава: -![Пројекат са контролама лабела](./images/labela-02.png) +```{image} images/labela-02.png +:scale: 100 +:align: center +``` Следеће, треба да промениш боју текста четврте лабеле и показивач миша када се преко ње пређе мишем. Значи, када се показивач миша нађе изнад четврте лабеле, @@ -132,7 +146,10 @@ private void lblSajt_MouseLeave(object sender, EventArgs e) склониш миша са четврте лабеле, текст лабеле ће опет постати плав, а показивач миша вратиће се на подразумевани: -![Пројекат са контролама лабела](./images/labela-03.png) +```{image} images/labela-03.png +:scale: 100 +:align: center +``` На крају, треба да дефинишеш догађај клика миша на четврту лабелу. Када се кликне мишем на четврту лабелу, потребно је да се појави пета лабела са текстом @@ -152,4 +169,7 @@ private void lblSajt_Click(object sender, EventArgs e) Сада, када кликнеш на четврту лабелу, приказаће се пета лабела, онако како је тражено у тексту задатка: -![Пројекат са контролама лабела](./images/labela-04.png) +```{image} images/labela-04.png +:scale: 100 +:align: center +``` diff --git a/source/6_windows_forms_aplikacije/okvir_za_grupu.md b/source/6_windows_forms_aplikacije/okvir_za_grupu.md index 24c8dcd..ffe7afa 100644 --- a/source/6_windows_forms_aplikacije/okvir_za_grupu.md +++ b/source/6_windows_forms_aplikacije/okvir_za_grupu.md @@ -29,7 +29,11 @@ Образац би могао да изгледа овако: -![Оквир за групу](./images/groupbox-1.png) +```{image} images/groupbox-1.png +:scale: 100 +:align: center +``` + Додај први оквир за групу на форму. Промени својство `Text` у "Подаци корисника", како би променио наслов оквира за групу, па поређај потребне @@ -47,7 +51,10 @@ private void btnEmail_Click(object sender, EventArgs e) ...а то ће у клијенту за електронску пошту формирати нову поруку, где је поље `To:` попуњено са `podrska@mojdomen.com` и поље `Subject` са `Poruka sa forme`: -![Оквир за групу](./images/groupbox-2.png) +```{image} images/groupbox-2.png +:scale: 100 +:align: center +``` Кликом на друго дугме, корисник се поруком може обавестити о броју телефона подршке: @@ -68,7 +75,10 @@ private void btnTelefon_Click(object sender, EventArgs e) } ``` -![Оквир за групу](./images/groupbox-3.png) +```{image} images/groupbox-3.png +:scale: 100 +:align: center +``` Кликом на треће дугме затвара се форма, а у овом случају и апликација: diff --git a/source/6_windows_forms_aplikacije/okvir_za_listu.md b/source/6_windows_forms_aplikacije/okvir_za_listu.md index cbb4028..0c769d9 100644 --- a/source/6_windows_forms_aplikacije/okvir_za_listu.md +++ b/source/6_windows_forms_aplikacije/okvir_za_listu.md @@ -41,7 +41,10 @@ Креирај нови *Windows Forms App (.NET Framework)* пројекат са формом димензија 400×240, постави контроле као на слици... -![Оквир за листу](./images/listbox-01.png) +```{image} images/listbox-01.png +:scale: 100 +:align: center +``` ...и дај им нека смислена имена. @@ -51,11 +54,17 @@ `Items`, поред `[Collection]`, кликни на дугме `...` и унеси имена наставника, свако у посебној линији: -![Оквир за листу](./images/listbox-02.png) +```{image} images/listbox-02.png +:scale: 100 +:align: center +``` Имена ће се одмах појавити на листи. -![Оквир за листу](./images/listbox-02a.png) +```{image} images/listbox-02a.png +:scale: 100 +:align: center +``` Додавање нових ставки на листу у току извршавања програма прилично је једноставно. Кликом на дугме `btnDodaj` потребно је име унето из оквира за @@ -79,11 +88,17 @@ private void btnDodaj_Click(object sender, EventArgs e) Ако je корисник кликнуо `btnDodaj`, а није унео име полазника, добиће поруку... -![Оквир за листу](./images/listbox-03.png) +```{image} images/listbox-03.png +:scale: 100 +:align: center +``` ...а ако јесте, име ће бити додато на листу: -![Оквир за листу](./images/listbox-04.png) +```{image} images/listbox-04.png +:scale: 100 +:align: center +``` ## Претрага листе @@ -122,7 +137,10 @@ private void btnPretrazi_Click(object sender, EventArgs e) задатом стрингу, вратиће се `-1`, а ако постоји, вратиће се његов индекс и означити полазник на листи. На пример, ако се унесе стринг `Јован`: -![Оквир за листу](./images/listbox-05.png) +```{image} images/listbox-05.png +:scale: 100 +:align: center +``` Оваква имплементација метода `FindString()` није савршена. Ако се у примеру изнад унесе стринг `Ми`, вратиће се само један индекс, односно индекс првог @@ -157,16 +175,25 @@ private void btnObrisi_Click(object sender, EventArgs e) Ако је корисник означио полазника и кликнуо на дугме `btnObrisi`... -![Оквир за листу](./images/listbox-06.png) +```{image} images/listbox-06.png +:scale: 100 +:align: center +``` ...обрисаће се означени полазник на основу његовог индекса: -![Оквир за листу](./images/listbox-07.png) +```{image} images/listbox-07.png +:scale: 100 +:align: center +``` Ако корисник није означио полазника а кликнуо је на дугме `btnObrisi`, добиће поруку о томе: -![Оквир за листу](./images/listbox-08.png) +```{image} images/listbox-08.png +:scale: 100 +:align: center +``` Слично, полазника можеш обрисати методом `Remove()` на основу његовог имена: diff --git a/source/6_windows_forms_aplikacije/okvir_za_potvrdu.md b/source/6_windows_forms_aplikacije/okvir_za_potvrdu.md index d459c7e..bd0a2eb 100644 --- a/source/6_windows_forms_aplikacije/okvir_za_potvrdu.md +++ b/source/6_windows_forms_aplikacije/okvir_za_potvrdu.md @@ -48,7 +48,10 @@ Креирај нови *Windows Forms App (.NET Framework)* пројекат са формом димензија 320×240, постави контроле као на слици... -![Оквир за потврду](./images/okvirzapotvrdu-1.png) +```{image} images/okvirzapotvrdu-1.png +:scale: 100 +:align: center +``` ...и дај им нека смислена имена. @@ -72,7 +75,10 @@ private void btnOdgovor_Click(object sender, EventArgs e) питања, док се прво не сложи са условима коришћења апликације, о чему добија одговарајућу поруку: -![Оквир за потврду](./images/okvirzapotvrdu-2.png) +```{image} images/okvirzapotvrdu-2.png +:scale: 100 +:align: center +``` Како да провериш да ли је корисник све тачно штиклирао? То може да зависи од постављених правила. На пример, на твом матурском испиту, на тесту за diff --git a/source/6_windows_forms_aplikacije/okvir_za_sliku.md b/source/6_windows_forms_aplikacije/okvir_za_sliku.md index ae085b5..690ba8c 100644 --- a/source/6_windows_forms_aplikacije/okvir_za_sliku.md +++ b/source/6_windows_forms_aplikacije/okvir_za_sliku.md @@ -60,7 +60,11 @@ Креирај нови *Windows Forms App (.NET Framework)* пројекат са формом димензија 320×240, постави контроле као на слици... -![Оквир за слику](./images/okvirzasliku-1.png) +```{image} images/okvirzasliku-1.png +:scale: 100 +:align: center +``` + ...и дај им нека смислена имена. Својство `BackColor` треба да буде промењено на `White`, како би позадина оквира била бела, а својство `SizeMode` на @@ -80,18 +84,27 @@ private void btnPristupna_Click(object sender, EventArgs e) Сада, кликом на прво дугме креира се објекат `pristupnaTacka` типа `Bitmap`, па се исти додељује својству `Image` оквира за слику `pcbUredjaj`: -![Оквир за слику](./images/okvirzasliku-2.png) +```{image} images/okvirzasliku-2.png +:scale: 100 +:align: center +``` Исто можеш урадити и за друго и треће дугме, па ако корисник кликне на друго дугме, својству `Image` оквира за слику `pcbUredjaj` биће додељена друга слика... -![Оквир за слику](./images/okvirzasliku-3.png) +```{image} images/okvirzasliku-3.png +:scale: 100 +:align: center +``` ...односно, ако кликне на треће дугме, својству `Image` оквира за слику `pcbUredjaj` биће додељена трећа слика: -![Оквир за слику](./images/okvirzasliku-4.png) +```{image} images/okvirzasliku-4.png +:scale: 100 +:align: center +``` **Шта није у реду са овим решењем?** Ако корисник кликне узастопно десет пута на прво дугме, десет пута ће креирати нови објекат у меморији. Ово може да буде diff --git a/source/6_windows_forms_aplikacije/okvir_za_tekst.md b/source/6_windows_forms_aplikacije/okvir_za_tekst.md index 847a6a5..787f201 100644 --- a/source/6_windows_forms_aplikacije/okvir_za_tekst.md +++ b/source/6_windows_forms_aplikacije/okvir_za_tekst.md @@ -33,7 +33,11 @@ Креирај нови *Windows Forms App (.NET Framework)* пројекат са формом димензија 320×240, постави контроле као на слици... -![Оквир за текст](./images/okvirzatekst-1.png) +```{image} images/okvirzatekst-1.png +:scale: 100 +:align: center +``` + ...и дај им нека смислена имена. Својства првог оквира за текст не треба да мењаш, међутим други оквир за текст не треба да приказује унете карактере него @@ -45,13 +49,19 @@ својство `PasswordChar` и унеси карактер `*`. Сада корисник може да уноси текст у другом оквиру за текст, али ће се у оквиру видети само звездице. -![Оквир за текст](./images/okvirzatekst-2.png) +```{image} images/okvirzatekst-2.png +:scale: 100 +:align: center +``` Да би креирао оквир за приказ текста у више линија, кликни на трећи оквир за текст, па својства `Multiline` и `ReadOnly` постави на `True`. Прошири га по потреби, на пример овако: -![Оквир за текст](./images/okvirzatekst-3.png) +```{image} images/okvirzatekst-3.png +:scale: 100 +:align: center +``` Можеш да приметиш да је позадина трећег оквира из беле боје претворена у сиву, односно у стандардну боју контрола, чиме се даје до знања да се у њој не може @@ -79,17 +89,26 @@ private void btnUnesi_Click(object sender, EventArgs e) Ако је корисник унео корисничко име и лозинку, у трећем оквиру за текст исписаће се тражени текст... -![Оквир за текст](./images/okvirzatekst-4.png) +```{image} images/okvirzatekst-4.png +:scale: 100 +:align: center +``` ...а ако није, добиће одговарајућу поруку: -![Оквир за текст](./images/okvirzatekst-5.png) +```{image} images/okvirzatekst-5.png +:scale: 100 +:align: center +``` Ако предвидиш да ће генерисани текст можда бити превелик да стане у оквир за текст, можеш укључити скрол траке постављањем својства `ScrollBars` на `Horizontal`, `Vertical` или `Both`: -![Оквир за текст](./images/okvirzatekst-6.png) +```{image} images/okvirzatekst-6.png +:scale: 100 +:align: center +``` Понекад ћеш желети да сви карактери у оквиру за текст буду унети или приказани великим словима или да сви карактери у оквиру за текст буду унети или приказани diff --git a/source/6_windows_forms_aplikacije/panel.md b/source/6_windows_forms_aplikacije/panel.md index 2fd5de2..ed413a4 100644 --- a/source/6_windows_forms_aplikacije/panel.md +++ b/source/6_windows_forms_aplikacije/panel.md @@ -42,7 +42,10 @@ ...а образац треба да буде "брендиран" логотипом твоје школе, на пример: -![Логотип школе](./images/logo-skole.png) +```{image} images/logo-skole.png +:scale: 100 +:align: center +``` Кликом на логотип школе треба да се отвори прегледач у којем је приказан веб- сајт школе. @@ -52,7 +55,10 @@ података ученика, а у другом контроле за унос података о успеху на такмичењу. На пример: -![Панел](./images/panel-3.png) +```{image} images/panel-3.png +:scale: 100 +:align: center +``` Превуци први панел на форму и покрени апликацију. Панел којег си поставио јесте видљив на форми у дизајнеру, али се не види на форми када се покрене @@ -64,11 +70,17 @@ одабери својство `Bacground Image`. Кликни на радио-дугме `Local resources`, кликни на дугме `Import`, па одабери слику са логотипом твоје школе... -![Панел](./images/panel-1.png) +```{image} images/panel-1.png +:scale: 100 +:align: center +``` ...и на крају кликни на дугме `OK`: -![Панел](./images/panel-2.png) +```{image} images/panel-2.png +:scale: 100 +:align: center +``` Постави и својство `BorderStyle` трећег панела ако желиш да се приказују оквири око панела. @@ -87,10 +99,16 @@ private void panel3_Click(object sender, EventArgs e) Ако из неког разлога нема довољно места за приказ свих контрола унутар панела, потребно је да промениш својство `AutoScroll` на `True`. У следећем примеру... -![Панел](./images/panel-4.png) +```{image} images/panel-4.png +:scale: 100 +:align: center +``` ...на првом панелу појавио се вертикални скрол, а у следећем... -![Панел](./images/panel-5.png) +```{image} images/panel-5.png +:scale: 100 +:align: center +``` ...и вертикални и хоризонтални. diff --git a/source/6_windows_forms_aplikacije/radio_dugmad.md b/source/6_windows_forms_aplikacije/radio_dugmad.md index 18f03bb..769ee58 100644 --- a/source/6_windows_forms_aplikacije/radio_dugmad.md +++ b/source/6_windows_forms_aplikacije/radio_dugmad.md @@ -27,11 +27,17 @@ Креирај нови *Windows Forms App (.NET Framework)* пројекат са формом димензија 320×240, постави контроле као на слици... -![Радио-дугмe](./images/radio-01.png) +```{image} images/radio-01.png +:scale: 100 +:align: center +``` ...и покрени апликацију: -![Радио-дугмe](./images/radio-02.png) +```{image} images/radio-02.png +:scale: 100 +:align: center +``` Десила се једна ситуација која је иритантна за многе програмере. Унапред је одабрано прво радио-дугме, односно радио-дугме чије својство `TabIndex` има вредност @@ -49,7 +55,10 @@ private void Form1_Load(object sender, EventArgs e) ...и прво радио-дугме остаће и даље одабрано: -![Радио-дугмe](./images/radio-02.png) +```{image} images/radio-03.png +:scale: 100 +:align: center +``` Зашто се ово дешава? Према смерницама за израду *Windows* апликација компаније *Microsoft*, када постоји група радио-дугмади, увек треба да постоји унапред @@ -62,7 +71,10 @@ private void Form1_Load(object sender, EventArgs e) дугме. Ако поставиш својство дугмета `TabIndex` на `0`, ни једно радио-дугме неће бити унапред одабрано: -![Радио-дугмe](./images/radio-03.png) +```{image} images/radio-04.png +:scale: 100 +:align: center +``` Други начин је да за сва четири радио-дугмета својство `TabStop` поставиш на `False`. Овим губиш функционалност тастера `TAB` над радио-дугмадима, што се @@ -92,15 +104,24 @@ private void btnOdgovori_Click(object sender, EventArgs e) Ако је корисник одабрао тачан одговор добиће поруку... -![Радио дугмe](./images/radio-04.png) +```{image} images/radio-04.png +:scale: 100 +:align: center +``` ...ако је одабрао нетачан одговор добиће поруку... -![Радио дугмe](./images/radio-05.png) +```{image} images/radio-05.png +:scale: 100 +:align: center +``` ...и ако није одабрао ни један одговор добиће поруку: -![Радио дугмe](./images/radio-06.png) +```{image} images/radio-06.png +:scale: 100 +:align: center +``` Овако имплементирано решење је можда довољно добро за ову ситуацију. Међутим, у некој конкретној апликацији за квизове, питање, сет одговора и индекс тачног diff --git a/source/6_windows_forms_aplikacije/svojstva.md b/source/6_windows_forms_aplikacije/svojstva.md index ec6deae..39c4d32 100644 --- a/source/6_windows_forms_aplikacije/svojstva.md +++ b/source/6_windows_forms_aplikacije/svojstva.md @@ -40,7 +40,11 @@ public class NekaKontrola : Control иконе `Categorized`. Корисно је и да знаш да се својства која си мењао приказују задебљаним фонтом. -![Својства форме](./images/form-properties.png) +```{image} images/form-properties.png +:scale: 100 +:align: center +``` + Сва својства наведена у `Properties` прозору можеш мењати и у коду, тј. у току извршавања програма. Има их много, па је препорука да увек користиш доступну diff --git a/source/6_windows_forms_aplikacije/timer.md b/source/6_windows_forms_aplikacije/timer.md index 3dd8aa5..db8be7b 100644 --- a/source/6_windows_forms_aplikacije/timer.md +++ b/source/6_windows_forms_aplikacije/timer.md @@ -60,13 +60,18 @@ можеш да промениш подразумевана својства којима се дефинише изглед форме, лабеле и дугмета по жељи, на пример овако: -![Тајмер](./images/timer-01.png) +```{image} images/timer-01.png +:scale: 100 +:align: center +``` На форму превуци и једну контролу Timer. У току дизајна програма ова контрола биће видљива испод форме: -![Тајмер](./images/timer-02.png) - +```{image} images/timer-02.png +:scale: 100 +:align: center +``` Једино својство додате контроле `timer1` које треба да промениш је `Interval`. Како је у задатку тражено да се лабела ажурира сваке секунде, у својству `Interval` потребно је да унесеш број `1000`, јер је $1s=1000ms$. diff --git a/source/6_windows_forms_aplikacije/uvod.md b/source/6_windows_forms_aplikacije/uvod.md index d59c2db..a7be77d 100644 --- a/source/6_windows_forms_aplikacije/uvod.md +++ b/source/6_windows_forms_aplikacije/uvod.md @@ -39,7 +39,11 @@ Погледај изглед неке једноставне *Windows* апликације, на пример Калкулатора: -![Калкулатор](./images/calculator1.png) +```{image} images/calculator1.png +:scale: 100 +:align: center +``` + У насловној линији прозора налазе се икона и назив, испод ње налази се мени, испод њега простор за приказ бројева, па испод њега група дугмади. Ово би био @@ -59,7 +63,11 @@ промениће се његова боја, што представља догађај постављања показивача миша преко контроле: -![Калкулатор](./images/calculator2.png) +```{image} images/calculator2.png +:scale: 100 +:align: center +``` + Ако кликнеш на дугме `0`, док се у простору за приказ бројева налази `0`, неће се десити ништа. Ако кликнеш на дугме `0`, а у простору за приказ бројева diff --git a/source/6_windows_forms_aplikacije/zadatak_budilnik.md b/source/6_windows_forms_aplikacije/zadatak_budilnik.md index ac9e089..bbcaa7b 100644 --- a/source/6_windows_forms_aplikacije/zadatak_budilnik.md +++ b/source/6_windows_forms_aplikacije/zadatak_budilnik.md @@ -4,15 +4,24 @@ треба да се приказује тренутно време. У оквире за текст корисник треба да унесе сате и минуте када жели да се пробуди. -![Задатак - Будилник](./images/zadatak_budilnik1.png) +```{image} images/zadatak_budilnik1.png +:scale: 100 +:align: center +``` -Кликом на дугме, ако је исправно унето време буђења, активира се аларм. -![Задатак - Будилник](./images/zadatak_budilnik2.png) +Кликом на дугме, ако је исправно унето време буђења, активира се аларм. +```{image} images/zadatak_budilnik2.png +:scale: 100 +:align: center +``` У наведено време, аларм се активира приказивањем поруке. -![Задатак - Будилник](./images/zadatak_budilnik3.png) +```{image} images/zadatak_budilnik3.png +:scale: 100 +:align: center +``` ## Могуће решење задатка diff --git a/source/6_windows_forms_aplikacije/zadatak_igra_memorije.md b/source/6_windows_forms_aplikacije/zadatak_igra_memorije.md index b9f6212..339503b 100644 --- a/source/6_windows_forms_aplikacije/zadatak_igra_memorije.md +++ b/source/6_windows_forms_aplikacije/zadatak_igra_memorije.md @@ -5,11 +5,17 @@ пример из фонта `Segoe UI Symbol`. Задатак корисника је кликће на парове дугмади... -![Игра меморије - упари слике](./images/emoji1.png) +```{image} images/emoji1.png +:scale: 100 +:align: center +``` ...све док не упари свих 10 парова емоџија, тј. симбола: -![Игра меморије - упари слике](./images/emoji2.png) +```{image} images/emoji2.png +:scale: 100 +:align: center +``` ## Могуће решење задатка diff --git a/source/6_windows_forms_aplikacije/zadatak_iks_oks.md b/source/6_windows_forms_aplikacije/zadatak_iks_oks.md index 4661d9d..116cefa 100644 --- a/source/6_windows_forms_aplikacije/zadatak_iks_oks.md +++ b/source/6_windows_forms_aplikacije/zadatak_iks_oks.md @@ -6,17 +6,26 @@ обрнуто, а ако је на потезу играч O, кликом на неко дугме, текст дугмета мења се у O. -![Икс-Окс](./images/iksoks1.png) +```{image} images/iksoks1.png +:scale: 100 +:align: center +``` Победник (играч који је поставио три своја симбола у ред, колону или дијагоналу матрице) исписује се у насловној линији форме... -![Икс-Окс](./images/iksoks2.png) +```{image} images/iksoks2.png +:scale: 100 +:align: center +``` ...односно, ако нико није победио, у насловној линији форме исписује се "Нерешено": -![Икс-Окс](./images/iksoks3.png) +```{image} images/iksoks3.png +:scale: 100 +:align: center +``` ## Могуће решење задатка diff --git a/source/6_windows_forms_aplikacije/zadatak_mcq.md b/source/6_windows_forms_aplikacije/zadatak_mcq.md index 04d508d..33dedd0 100644 --- a/source/6_windows_forms_aplikacije/zadatak_mcq.md +++ b/source/6_windows_forms_aplikacije/zadatak_mcq.md @@ -31,7 +31,12 @@ True дефинисано фајлом `pitanja.txt`. На следеће питање прелази се тек када је дат тачан одговор на тренутно питање. -![Задатак - Квиз са вишеструким избором](./images/zadatak_mcq.png) +```{image} images/zadatak_mcq.png +:scale: 100 +:align: center +``` + + ## Могуће решење задатка diff --git a/source/6_windows_forms_aplikacije/zadatak_memorija.md b/source/6_windows_forms_aplikacije/zadatak_memorija.md index d46bd2d..266c6db 100644 --- a/source/6_windows_forms_aplikacije/zadatak_memorija.md +++ b/source/6_windows_forms_aplikacije/zadatak_memorija.md @@ -31,11 +31,20 @@ интелигенција ``` -![Задатак - Игра "Запамти реч"](./images/zadatak_memorija1.png) +```{image} images/zadatak_memorija1.png +:scale: 100 +:align: center +``` -![Задатак - Игра "Запамти реч"](./images/zadatak_memorija2.png) +```{image} images/zadatak_memorija2.png +:scale: 100 +:align: center +``` -![Задатак - Игра "Запамти реч"](./images/zadatak_memorija3.png) +```{image} images/zadatak_memorija3.png +:scale: 100 +:align: center +``` ## Могуће решење задатка diff --git a/source/6_windows_forms_aplikacije/zadatak_pogodi_broj.md b/source/6_windows_forms_aplikacije/zadatak_pogodi_broj.md index ac9f450..3c0c8c7 100644 --- a/source/6_windows_forms_aplikacije/zadatak_pogodi_broj.md +++ b/source/6_windows_forms_aplikacije/zadatak_pogodi_broj.md @@ -3,7 +3,11 @@ На форму постави један оквир за текст, једно дугме и једну лабелу. Креирај игру "ПОГОДИ БРОЈ" за погађање насумично генерисаног броја у интервалу од 1 до 100. -![Задатак - Погађање замишљеног броја](./images/zadatak_pogodi_broj.png) +```{image} images/zadatak_pogodi_broj.png +:scale: 100 +:align: center +``` + ## Могуће решење задатка diff --git a/source/6_windows_forms_aplikacije/zadatak_scq.md b/source/6_windows_forms_aplikacije/zadatak_scq.md index 59df895..ecaac3e 100644 --- a/source/6_windows_forms_aplikacije/zadatak_scq.md +++ b/source/6_windows_forms_aplikacije/zadatak_scq.md @@ -22,7 +22,10 @@ bool На следеће питање прелази се тек када је дат тачан одговор на тренутно питање. -![Задатак - Квиз](./images/zadatak_scq.png) +```{image} images/zadatak_scq.png +:scale: 100 +:align: center +``` ## Могуће решење задатка diff --git a/source/6_windows_forms_aplikacije/zadatak_typing_test.md b/source/6_windows_forms_aplikacije/zadatak_typing_test.md index 7a19eb0..2a13006 100644 --- a/source/6_windows_forms_aplikacije/zadatak_typing_test.md +++ b/source/6_windows_forms_aplikacije/zadatak_typing_test.md @@ -5,11 +5,18 @@ из фајла "tekst.txt". Када корисник у оквиру за текст исправно прекуца дату реченицу, у другој лабели треба да се прикаже брзина куцања корисника. -![Задатак - Тест брзине куцања](./images/zadatak_typing_test1.png) - -![Задатак - Тест брзине куцања](./images/zadatak_typing_test2.png) - -![Задатак - Тест брзине куцања](./images/zadatak_typing_test3.png) +```{image} images/zadatak_typing_test1.png +:scale: 100 +:align: center +``` +```{image} images/zadatak_typing_test2.png +:scale: 100 +:align: center +``` +```{image} images/zadatak_typing_test3.png +:scale: 100 +:align: center +``` Реченице у фајлу "tekst.txt" треба да буду унете на следећи начин: diff --git a/source/6_windows_forms_aplikacije/zadatak_vezbaj_reflekse.md b/source/6_windows_forms_aplikacije/zadatak_vezbaj_reflekse.md index a0bfcd8..5c7b9cd 100644 --- a/source/6_windows_forms_aplikacije/zadatak_vezbaj_reflekse.md +++ b/source/6_windows_forms_aplikacije/zadatak_vezbaj_reflekse.md @@ -6,11 +6,19 @@ нестане приказано дугме и поново се стартује први тајмер и тако редом. Ако корисник кликне на зелено дугме добија бод... -![Вежбај рефлексе](./images/refleksi.png) +```{image} images/refleksi.png +:scale: 100 +:align: center +``` + ...а ако кликне на црвено дугме или на форму губи бод: -![Вежбај рефлексе](./images/refleksi2.png) +```{image} images/refleksi2.png +:scale: 100 +:align: center +``` + ## Могуће решење задатка diff --git a/source/6_windows_forms_aplikacije/zadatak_whack_a_mole.md b/source/6_windows_forms_aplikacije/zadatak_whack_a_mole.md index 7627c55..b71f2b3 100644 --- a/source/6_windows_forms_aplikacije/zadatak_whack_a_mole.md +++ b/source/6_windows_forms_aplikacije/zadatak_whack_a_mole.md @@ -7,7 +7,11 @@ оквиру за слику треба да се прикаже слика кртице. Ако корисник кликне на слику кртице повећава се резултат у лабели. -![Задатак - Игра "Кликни на кртицу"](./images/zadatak_whack_a_mole.png) +```{image} images/zadatak_whack_a_mole.png +:scale: 100 +:align: center +``` + ## Могуће решење задатка