Skip to content

Commit

Permalink
centriranje slika
Browse files Browse the repository at this point in the history
  • Loading branch information
dlutov committed Aug 29, 2024
1 parent f9db4a5 commit 96e5c7e
Show file tree
Hide file tree
Showing 35 changed files with 519 additions and 130 deletions.
27 changes: 22 additions & 5 deletions source/1_osnovni_koncepti_oop/05_nasledjivanje.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,10 @@

Једноставан пример хијерархије класа за твоју школу могао би да изгледа овако:

![Наслеђивање](./images/nasledjivanje-01.png)
```{image} images/nasledjivanje-01.png
:scale: 70
:align: center
```

Школу похађају ученици, а у школи раде запослени. Запослени могу бити
наставници или ненаставно особље. Заједничко за све особе у школи је да имају
Expand All @@ -41,26 +44,40 @@
**једноструко наслеђивање**: изведена класа наслеђује једну базну класу (најчешћи
облик наслеђивања, једноставан за управљање):

![Наслеђивање](./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`.

**хијерархијско наслеђивање**: једна базна класа је базна класа за више
изведених класа (чест облик наслеђивања):

![Наслеђивање](./images/nasledjivanje-05.png)
```{image} images/nasledjivanje-05.png
:scale: 70
:align: center
```

У дијаграму изнад, `БазнаКласа` је базна класа и за `ИзведенаКласа1` и за
`ИзведенаКласа2`.
Expand Down
16 changes: 12 additions & 4 deletions source/2_programski_jezik_cs/000_uvod.md
Original file line number Diff line number Diff line change
Expand Up @@ -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*
Expand All @@ -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* кôд произведен од стране компајлера у складу са заједничком спецификацијом
Expand Down
33 changes: 27 additions & 6 deletions source/2_programski_jezik_cs/010_izrada_projekta.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
```


Од наставника веб-програмирања и других стручних предмета добићеш информације о
осталим неопходним радним пакетима за те предмете. Када си одабрао
Expand Down Expand Up @@ -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
```
5 changes: 4 additions & 1 deletion source/2_programski_jezik_cs/042_referentni_tipovi.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,10 @@
базне класе. Више о наслеђивању учићеш у наредним поглављима. Инстанце типова
класа се креирају помоћу израза за креирање објеката. Тип класе може бити:

![Референтни тип](./images/referentni-02.png)
```{image} images/referentni-02.png
:scale: 100
:align: center
```

Одређени унапред дефинисани типови класа имају посебно значење у програмском
језику C#:
Expand Down
11 changes: 9 additions & 2 deletions source/3_klase/012_dodavanje_klase.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,11 @@
Додавање нове класе у пројекат је једноставно и интуитивно. У Solution Explorer
прозору...

![Solution Explorer](./images/solution_explorer.png)
```{image} images/solution_explorer.png
:scale: 100
:align: center
```


...кликни десним кликом на назив пројекта (у овом примеру `MojaAplikacija`),
па одабери `Add`, па `Class`:
Expand All @@ -41,4 +45,7 @@
...па кликни `Add`. Овим поступком си додао класу `MojaKlasa` у свој пројекат
у засебном фајлу:

![Solution Explorer](./images/solution_explorer4.png)
```{image} images/solution_explorer4.png
:scale: 100
:align: center
```
12 changes: 10 additions & 2 deletions source/3_klase/070_parcijalne_klase.md
Original file line number Diff line number Diff line change
Expand Up @@ -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`.

Expand Down Expand Up @@ -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` и проверити функционалност вашег кода на
следећи начин:
Expand Down
12 changes: 10 additions & 2 deletions source/3_klase/080_dinamicke.md
Original file line number Diff line number Diff line change
Expand Up @@ -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`...

Expand All @@ -109,7 +113,11 @@ Framework апликацији коју развијаш. Нека то буде

У *Solution Explorer*-у појавиће се референца на одабрану библиотеку.

![Референца на Class Library](/3_klase/images/dll-08.png)
```{image} images/dll-08.png
:scale: 100
:align: center
```


Пре него што почнеш да користиш методе из додате библиотеке динамичких веза,
потребно је да у заглављу додаш одговарајући именски простор:
Expand Down
36 changes: 28 additions & 8 deletions source/6_windows_forms_aplikacije/dinamicko_kreiranje.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,10 @@
године дизајнирао Андерс Хејлсберг у компанији Microsoft?" Испод
постави два дугмета са текстом "Прикажи текст" и "Прикажи слику".

![Динамичко креирање контрола](./images/dinamicko-01.png)
```{image} images/dinamicko-01.png
:scale: 100
:align: center
```

Ако корисник кликне на прво дугме, испод треба да се прикаже лабела са текстом
"Програмски језик C#", а друго дугме треба да постане онемогућено. Ако корисник
Expand Down Expand Up @@ -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
```

## Додавање догађаја динамички креираним компонентама

Expand Down Expand Up @@ -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
```

## Уклањање динамички креираних контрола

Expand All @@ -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()`
Expand All @@ -246,7 +261,10 @@ lblOdgovor.Dispose();
Ако је корисник био кликнуо на дугме `btnSlika` и на форми се налази динамички
креирана контрола `pcbOdgovor`...

![Динамичко креирање контрола](./images/dinamicko-06.png)
```{image} images/dinamicko-06.png
:scale: 100
:align: center
```

...ову контролу можеш пронаћи и уклонити на следећи начин:

Expand All @@ -262,8 +280,10 @@ if (kontrolaZaBrisanje != null)
Ако је корисник био кликнуо на дугме `btnTekst` и на форми се налази динамички
креирана контрола `lblOdgovor`...

![Динамичко креирање контрола](./images/dinamicko-07.png)

```{image} images/dinamicko-07.png
:scale: 100
:align: center
```
...ову контролу можеш пронаћи и уклонити као и претходну:

```cs
Expand Down
10 changes: 8 additions & 2 deletions source/6_windows_forms_aplikacije/dogadjaji_misa.md
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,10 @@
Креирај нови *Windows Forms App (.NET Framework)* пројекат са једном формом
димензија 320×240 и текстом "Тестирај дугмад миша!" у насловној линији форме.

![Догађаји миша](./images/mouse-01.png)
```{image} images/mouse-01.png
:scale: 100
:align: center
```

Апликација треба да обавештава порукама корисника којим је тастером миша
кликнуо на форму, као и о позицији тачке на форми коју је кликнуо у односу на
Expand All @@ -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
```
20 changes: 16 additions & 4 deletions source/6_windows_forms_aplikacije/dogadjaji_tastature.md
Original file line number Diff line number Diff line change
Expand Up @@ -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`...

Expand Down
Loading

0 comments on commit 96e5c7e

Please sign in to comment.