Eclipse Tues: Overview 1

Размер: px
Започни от страница:

Download "Eclipse Tues: Overview 1"

Препис

1 Eclipse Tues: Overview 1

2 Eclipse Eclipse is an open source community whose projects are focused on building an open development platform comprised of extensible frameworks, tools and runtimes for building, deploying and managing software across the lifecycle 2

3 Eclipse Eclipse as a Java Integrated Development Environment (IDE) Eclipse Software Development Kit (SDK) Eclipse is a platform for building IDEs Eclipse is a platform for building tools Eclipse is a Rich Client Platform Eclipse is an open source project Eclipse is a community and an eco-system Eclipse is also a foundation 3

4 Eclipse Eclipse се състои от множество проекти. Всеки проект може да има свои под проекти. Eclipse Project Eclipse Tools Project Eclipse Modeling Project Eclipse Technology Project Eclipse Web Tools Platform Project The Eclipse Test and Performance Tools Platform (TPTP) Project Business Intelligence and Reporting Tools (BIRT) Project Data Tools Platform Project (DTP) и много повече... 4

5 Eclipse Когато свалим Eclipse SDK всъщност сваляме четири основни проекта. Тези проекти биват 5

6 Eclipse Equinox представлява имплементация на OSGi спецификацията - Основата върху, която се изгражда всичко останало в Eclipse. OSGi служи с понятието bundle компонента изградена от набор от класове имаща определена структура. Даден bundle посредством класовете, които съдържа предоставя на останалите bundle-и определена функционалност, от която те могат да се възползват. Даден bundle може да бъде инсталиран в системата, стартиран, спиран и деинсталиран от системата. Структурирането и изграждането на системата от bundle-и позволява висока модулност. Системата може да бъде изградена от ограничено количество bundle-и без наличието на излишна функционалност. 6

7 Eclipse Platform проектът предоставя основните рамки(frameworks) и услуги(services), върху които се изграждат plugin-ите. Служи с понятието plugin - компонента изградена от набор класове имаща определена структура. Всеки plugin представлява bundle, но не всеки bundle е plugin. Разликата е в това, че всеки plugin може да предоставя допълнителни възможности и разширения. Проектът им за цел да изгради платформа, върху която другите програмисти с лекота да могат да изградят своите приложения. Някой подпроекти SWT UI JFace и Workbench Core Debug 7

8 Eclipse JDT предоставя набор от plugin-и, с основна цел да предоставят възможност за разработка на Java приложения използвайки Eclipse Пример за компоненти част от JDT проекта Java перспективата Всички изгледи, иконки, менюта и т.н., които са част от Java и Java Browsing перспективата Java проектът и всички настройки относно Java в Window ->Preference. Java компилатор Основният компилатор използван за обработка на Java код е предоставен от Sun Microsystems и се казва javac. JDT предоставя свой компилатор осигуряващ допълнетелни възможности. и много повече Позволява Eclipse да бъде използван за разработката на Eclipse 8

9 Eclipse PDE предоставя възможности за създаване, разработване и изграждане на plugin-и Всичко в Eclipse е plugin. Обсолютно всяка функционалност, характеристика или услуга предоставена от платформата е капсулирана и обословена като част от някой plugin. Не съществува такова нещо като основна част и добавки (plugins). Всичко е добавка (plugin). За да се улесни изграждането на plugin-и, PDE проектът предоставя значителни улеснения: Перспектива Изгледи, редактори, иконки, менюта, магюсници Възможност за стартиране на Runtime Workbench стартираме Eclipse чрез Eclipse. и много други 9

10 Eclipse 10

11 Eclipse Архитектурата на Eclipse е изключително гъвкава като позволява използването на различни продукти в рамките на платформата, допълнително разширяване на тези продукти както и интеграция между продуктите и платформата. 11

12 Eclipse JDT и PDE представляват едно допълнение към платформата. Разширението на платформата се извършва чрез така наречените extension points. Правилата за разширение и допълнение са еднакви за всички plugin-и. Няма забранени класове, няма скрити техники и тн. 12

13 Plugin Example Всичко в Eclipse е plugin. Ще изясним това понятие чрез следния пример. Пример: В Eclipse има голям брой изгледи (Views) предназначени да изобразяват различна информация. Всичките изгледи предоставени от текущо инсталираните plugin-и може да бъдат видяни чрез Windows -> Show View... Целта на примера е да се изгради plugin-и, който да предоставя изглед. Изгледът трябва да има три реда, в които да е изписано съответно One, Two, Three. 13

14 Plugin Example Резултатът от примера ще изглежда по следния начин: 14

15 Plugin Example Първата стъпка представлява създаването на Plugin Project. New- >Project->Plug-in Project. 15

16 Plugin Example На втората страница на помощника се задава името на дадения plugin. В случая това име ще бъде org.elsys.pluginsample. 16

17 Plugin Example Следва дефиниране на характеристиките на този plugin. 17

18 Plugin Example Основно всеки plugin има: идентификатор org.elsys.pluginsample версия име разбираемо за потребителите Pluginsample Plug-in, Разработчик Клас Activator 18

19 Plugin Example - Съдържание На следващата стъпка помощникът ни предоставя възможност да създадем plugin с предварително определено съдържание. Наподобява идеята на шаблони (templates) от други софтуерни продукти. Тъй като искаме да създадем plugin предоставящ изглед избираме Plug-in with a view Някой от останалите шаблони предоставят възможност за създаване на plugin предоставящ: редактор Plug-in with an editor меню - Plug-in with a popup menu примерно помощтно съдържание - Plug-in with sample help content Възможно е да създаден plugin проект без да използваме никой от предложените шаблони. 19

20 Plugin Example 20

21 Plugin Example Досега с помощта на помощника постигнахме: Определихме идентификатора на разработвания plugin, неговата версия, и име на разработчика, както и това, че разработваният plug-in трябва да предоставя изглед, който да може да се покаже на потребителя. За създаването на изглед се използва предварително дефиниран шаблон. Предстои да се определят специфичните характеристики на изгледа. Такива биват името на класа представляващ изгледа, името на пакета, в който се намира този клас, името на изгледа както и това дали изгледът да съдържа данните в таблична или дървовидна форма. Извършва се на следващата страница от магьосника. 21

22 Plugin Example 22

23 Plugin Example Последната страница от магьосника дава възможност за добавяне на допълнителна функционалност към изграждания изглед. За простота на примера премахваме всички отметки, така че съответната функционалност да не бъде поддържана. 23

24 Plugin Example Стартиране на Plug-in проекта С помощта на магьосника беше създаден нов plugin проект. Структурата му е показана на фигурата. 24

25 Plugin Example Единствената ни цел за момента е да можем да стартираме нашия plugin и да видим резултата от неговата работа. Всеки Plug-in добавя определена функционалност към платформата, в която е инсталиран. Самият Plug-in не може да бъде стартиран като самостоятелна единица. Target Platform платформата с помощта на която разработваме нашия plugin. Платформата, с която текущо работим. В нея има инсталирани и стартирани множество plugin-и, но текущо разработваният от нас не е инсталиран и следователно не може да бъде стартиран. Необходимо е стартирането на друга платформа. PDE проектът предоставя тази възможност. 25

26 Plugin Example Runtime Platform С помощта на Target Platform може да стартираме нова инстанция на платформата, т.е. да стартираме нов Eclipse. Разликата е, че примерният plugin ще добави своята функционалност към новостартираната инстанция на платформата. Тази нова инстанция се нарича Runtime Platform или Runtime Workbench. Стартирането на инстанцията става от менюто Run-> Run As -> Eclipse Application. По подразбиране новостартираната платформа съдържа същите plugin-и както и Target платформата (това може да се конфигурира), но съдържа и разработения org.elsys.pluginsample. След стартирането на Runtime Platform можем да проверим резултата от примера т.е. да покажем разработение изглед 26

27 Plugin Example org.elsys.pluginsample предоставя изглед. Изгледът може да бъде отворен с помощта от Windows->Show View -> Other-> Sample Category -> Sample View 27

28 Plugin Example На фигурата е показан разработения изглед интегриран в платформата 28

29 Структура на org.elsys.pluginsample Ще бъде разгледана структурата на проекта. Plugin manifests META- INF/MANIFEST.MF и plugin.xml Plugin класът - Activator.java Класът на изгледа - SampleView.java 29

30 Plugin manifests - MANIFEST.MF Всеки plugin предоставя определена функционалност и взаимодейства с другите plugin-и инсталирани в платформата. Това взаимодействие се определя от съдържанието на META- INF/MANIFEST.MF и plugin.xml файловете MANIFEST.MF Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: Pluginsample Plug-in Bundle-SymbolicName: org.elsys.pluginsample; singleton:=true Bundle-Version: Bundle-Activator: org.elsys.pluginsample.activator Require-Bundle: org.eclipse.ui, org.eclipse.core.runtime Eclipse-LazyStart: true 30

31 Plugin manifests - MANIFEST.MF Bundle-Name: - име на bundle-а. Bundle-SymbolicName: - идентификатор на bundle-а. Bundle-Version: - версия на bundle-а. Bundle-Activator: - Всеки bundle може да бъде стартиран и спиран. При тези действия се извикват методите start() и stop() на класът org.elsys.pluginsample.activator. Require-Bundle: - Всеки bundle може да предоставя функционалност и следователно да зависи на такава предоставена от други bundle-и. В случая org.elsys.pluginsample зависи от два такива bundle-а. 31

32 Plugin manifests - plugin.xml 32 <plugin> <extension point="org.eclipse.ui.views"> <category name="sample Category" id="org.elsys.pluginsample"/> <view name="sample View" icon="icons/sample.gif" category="org.elsys.pluginsample" class="org.elsys.pluginsample.views.sampleview" id="org.elsys.pluginsample.views.sampleview"/> </extension> <extension point="org.eclipse.ui.perspectiveextensions"> <perspectiveextension targetid="org.eclipse.ui.resourceperspective"> <view ratio="0.5" relative="org.eclipse.ui.views.tasklist" relationship="right" id="org.elsys.pluginsample.views.sampleview"/> </perspectiveextension> </extension> </plugin>

33 Plugin manifests - plugin.xml Eclipse платформата е изградена, така че да позволява лесно добавяне на допълнителна функционалност. Механизмът се базира на така наречените extension points. В един обикновен xml файл (plugin.xml) се описва какво точно предоставя даденият plugin. В платформата е инсталиран plugin (org.eclipse.core.runtime), който знае как да прочете plugin.xml файловете на другите plugin-и и който отговаря за интегрирането им с платформата. В случая нашият plugin предоставя изглед и добавя този изглед към Resource перспективата. org.elsys.pluginsample декларира разширение (extension), което добавя допълнителна категория изгледи наречена Sample Category и допълнителен изглед Sample View намиращ се в тази категория. 33

34 plugin.xml extension point <extension point="org.eclipse.ui.views"> <!-- code missed --> </extension> org.elsys.pluginsample декларира разширение на функционалност предоставена от org.eclipse.ui. Това разширение е с идентификатор org.eclipse.ui.views. При необходимост (когато SampleView трябва да се активира) org.eclipse.ui ще предаде управлението на org.elsys.pluginsample 34

35 plugin.xml view <extension point="org.eclipse.ui.views"> <category name="sample Category" id="org.elsys.pluginsample"/> <view name="sample View" icon="icons/sample.gif" category="org.elsys.pluginsample" class="org.elsys.pluginsample.views.sampleview" id="org.elsys.pluginsample.views.sampleview"/> </extension> org.elsys.pluginsample декларира изглед с име Sample View Всеки изглед има единтификатор зададен чрез атрибута id Атрибутът class показва кои клас капсулира функционалността на изгледа. Класът трябва да имплементира определен интерфейс org.eclipse.ui.iviewpart Изгледът може да се намира в определена категория. Категорията представлява чисто визуално групиране на изгледите 35

36 plugin.xml view category <extension point="org.eclipse.ui.views"> <category name="sample Category" id="org.elsys.pluginsample"/> <!-- code missed --> </extension> Категориите имат име name идентификатор - id 36

37 Plugin Class Всеки plugin може да има клас, който програмно да го представлява т.е. от други класове да може да се достъпи информация за дадения plugin. Класът не е задължителен, но ако е зададен е първият използван при стартиране на дадения plugin и е последният достъпван при неговото спиране. За дадения пример това е класът Activator. Удобно е всеки plugin, който предоставя графичен компонен изглед, редактор, меню и т.н. да наследява от AbstractUIPlugin. Когато това не е нужно може да се наследи класът Plugin. 37

38 Plugin class - instance public class Activator extends AbstractUIPlugin { public static final String PLUGIN_ID = "org.elsys.pluginsample"; private static Activator plugin; /* code missed... */ } public static Activator getdefault() { return plugin; } Полето plugin и методът getdefault() са статични. Това означава, че във всеки един момент може да съществува само една инстанция на Activator и тази инстанция може да бъде достъпвана само през getdefault(). 38

39 Plugin class - instance public class Activator extends AbstractUIPlugin { /* code missed...*/ public void start(bundlecontext context) throws Exception { super.start(context); plugin = this; } public void stop(bundlecontext context) throws Exception { plugin = null; super.stop(context); }} Методите start() и stop() са методи на интерфейса org.osgi.framework.bundleactivator. start() се изиква при стартиране на дадения plugin. stop() се извиква при неговото спиране. Методите може да се извикат произволен брой пъти. Трябва да са изключително бързи - без никакви ненужни инициализации. 39

40 SampleView class Функционалността на изградения изглед е капсулирана в класът SampleView. В класът имаме поле от тип TableViewer както и класове имплементиращи IStructuredContentProvider и ItableLabelProvider. public class SampleView extends ViewPart { private TableViewer viewer; class ViewContentProvider implements IStructuredContentProvider { /* code missed... */ } class ViewLabelProvider extends LabelProvider implements ITableLabelProvider { /* code missed... */ } } /* code missed... */ 40

41 SampleView class SampleView наследява от org.eclipse.ui.part.viewpart базов клас за всички изгледи в Eclipse. Предоставя рамка, според която лесно да се изградят изгледи. Изграждането на изглед се състои в наследяване на ViewPart и добавяне на желаната функционалност към наследника. public class SampleView extends ViewPart { } /* code missed... */ 41

42 SampleView class - createpartcontrol() В първият момент когато се наложи инициализиране и показване на изгледа ще се извика методът createpartcontrol(). В него създаваме и инициализираме съответния табличен viewer. public class SampleView extends ViewPart { /* code missed... */ public void createpartcontrol(composite parent) { viewer = new TableViewer(parent, SWT.MULTI SWT.H_SCROLL SWT.V_SCROLL); viewer.setcontentprovider(new ViewContentProvider()); viewer.setlabelprovider(new ViewLabelProvider()); viewer.setinput(getviewsite()); } } /* code missed... */ 42

43 Extensions В разработения пример създадохме разширение на org.eclipse.ui.views. org.eclipse.ui и plugin, който следи за това какви изгледи потребителят иска да покаже и кога иска да ги покаже - т.е. той предоставя функционалност, която org.elsys.pluginsample допълва. 43

44 Extensions След регистрирането на нашият изглед org.eclipse.ui се задължава да извиква методите на нашият клас в подходящия момент. Затова той изисква всички класове изгледи да имплементират общ интерфейс - org.eclipse.ui.iviewpart 44

45 Предназначение на манифестните файлове Всичко в Eclipse е plugin. Всяка една функционалност е обусловена като plugin. Инстанция на Eclipse платформата може да съдържа неограничено количество plugin-и. За да се стартира един plugin са необходими определени ресурси процесорно време и памет. Стартирането на всички plugin-и при стартиране на платформата не е задължително и дори е задължително да не се прави. Стартират се само pluginите, от които потребителят се нуждае. В процеса на работа може да бъдат стартирани и други plugin-и, но само когато се наложи. 45

46 Предназначение на манифестните файлове Системата може да съдържа неограничено количество plugin-и. Ограничено количество от тях са стартирани само необходимите 46

47 Предназначение на манифестните файлове В произволен момент от време активен plugin може да изиска активирането на неактивен. 47

48 Lazy Loading (Lazy initialisation) Основно правило при изграждането на eclipse plugin-и е функционалността предоставена от тях да се инициализира във възможно най-късен момент. Примерно plugin предоставящ изглед не се активира (не заема системни ресурси) докато потребителят не пожелае да отвори предоставения изглед. Поставят се въпросите кой активира plugin-ите? как разбира кога да ги активира? 48

49 Lazy Loading (Lazy initialisation) Кой активира plugin-ите? plugin-ите с имена org.eclipse.equinox.* и org.eclipse.core.*. (активирането е сложен процес и изисква взаимодействието на различни plugin-и) Как разбират кога? всеки plugin има един или два манифестни файла MENIFEST.MF и plugin.xml (незадължителен). Тези два файла описват дадения plugin име, версия, разширения (extensions), extension points и др. Plugin-ите org.eclipse.equinox.* и org.eclipse.core.* се стартират преди всички останали, обработват манифестните файлове на другите plugin-и, и преценяват, кой трябва да се активира. 49

50 Lazy Loading (Lazy initialisation) 50

51 Lazy Loading (Lazy initialisation) На следващата фигура е показано опростено активиране на даден plugin и изпълнение на негов клас. 51

52 Lazy Loading (Lazy initialisation) org.eclipse.ui е активиран. Той знае, че org.elsys.pluginsample предоставя разширение (extension). При натискане на Windows->Show View->...->Sample View се остановява, че трябва да се изпълни разширението на org.elsys.pluginsample. Ако org.eclipse.pluginsample не е активиран то org.eclipse.core.* го активира. След това org.eclise.ui предава изпълнението на класа SampleView. В следващ момент org.eclipse.ui може да изпълни разширение от друг plugin, но това няма да деактивира org.elsys.pluginsample. 52

53 Actions (Действия) В Eclipse съществува понятието action действие. Действията (actions) позволяват да се дефинират команди, които потребителят може да изпълни без да се интересува от използвания потребителски интерфейс. Позволява да променяме визуалното представяне на дадено действие без да променяме кода, който реално изпълнява действието. Действията се показват на няколко места в Eclipse IDE менюта, ленти с инструменти (toolbars), контекстни менюта. 53

54 Actions (Действия) 54

55 Actions (Действия) Пример: Целта на примера е да се изгради действие action, което да се изобразява в лентата с инструменти както и като елемент от главното меню. При изпълнение на действието трябва да се показва диалогов прозорец с текст Hello World 55

56 Actions (Действия) Резултатът от изпълнението на действието е следният: 56

57 Actions - org.eclipse.ui.actionsset Целта на примера е да се изгради plugin, който да добавя съответното действие към платформата. Платформата предоставя extension point - "org.eclipse.ui.actionsets", който може да бъде разширен и действието добавено. Този extension point предоставя възможност за създаване на елемент в менюто menu и действие action. Действието може да се разположи в лентата с инструменти toolbar, главното меню или в едно или повече контексни менюта. 57

58 Actions - Plugin.xml <extension point="org.eclipse.ui.actionsets"> <actionset label="my Action Set" visible="true" id="org.elsys.actions.actionset"> <menu label="my &Menu" id="mymenu"> <separator name="mygroup"> </separator> </menu> <action label="&my Action" icon="icons/sample.gif" class="org.elsys.actions.actions.myaction" tooltip="hello world" menubarpath="mymenu/mygroup" toolbarpath="mygroup" id="org.elsys.actions.actions.myaction"> </action> </actionset> </extension> 58

59 Actions - org.eclipse.ui.actionsset От клиентът се изисква да предостави клас - org.elsys.actions.actions.myaction, който да имплементира интерфейса org.eclipse.ui.iworkbenchwindowactiondelegate <action /*... */ class="org.elsys.actions.actions.myaction" /*... */ </action> Класът на клиента няма да бъде зареден и няма да заема системни ресурси докато потребителят на пожелае изпълнение на съответното действие. - Lazy Initialization IWorkbenchWindowActionDelegate има метод run. Този метод се извиква тогава когато потребителят натисне съответния визуален компонент. 59

60 Actions - MyAction Класът съдържащ имплементацията на реалното действие. public class MyAction implements IWorkbenchWindowActionDelegate { private IWorkbenchWindow window; public MyAction() {} public void run(iaction action) { MessageDialog.openInformation(window.getShell(), "Actions Plug-in", "Hello, Eclipse world"); } public void selectionchanged(iaction action, ISelection selection) {} public void dispose() { } } public void init(iworkbenchwindow window) { this.window = window; } 60

61 Actions (Действия) Резултатът от изпълнението на действието е следният: 61

62 Перспективи Информацията в Eclipse се изобразява изгледи и редактори. Потребителят може да взаимодейства със средата посредством различни менюто, действия, бързи клавиши. Платформата е отворена за разширение и поради тази причина броят на изгледите, редакторите и тн. е неограничен. В зависимост от действията извършвани от потребителя той се нуждае от ограничен брой изгледи и редактори. Нуждае се от групирането им. Това групиране се извършва с помощта на песпективите. Всяка една перспектива съдържа в себеси определени изгледи и определя тяхното разположение. Всички налични перспективи може да бъдат видяни чрез Window-> Open Perspective -> Other... (Java, CVS, Resource, Debug...) 62

63 Перспективи Пример: Да се създаде перспектива изобразяваща единствен изглед. 63

64 Перспективи Plugin.xml Съществува extension point org.eclipse.ui.perspective. <extension point="org.eclipse.ui.perspectives"> <perspective class="org.elsys.pluginsample.perspectivefactory1" id="org.elsys.pluginsample.perspective1" name="myperspective"> </perspective> </extension> Разширеняването на този extension point ще доведе до създаването на нова перспектива. Всяка перспектива има: id- уникален идентификатор name име подходящо за потребителя class клас управляващ работата на перспективата 64

65 Перспективи - IPerspectiveFactory Класът зададен чрез атрибута class трябва да имплементира org.eclipse.ui.iperspectivefactory. Интерфейсът има единствен метод createinitiallayout(). public class PerspectiveFactory1 implements IPerspectiveFactory { public void createinitiallayout(ipagelayout layout) { // Get the editor area. String editorarea = layout.geteditorarea(); // Put the Sample View layout.addview("org.elsys.pluginsample.views.sampleview", IPageLayout.LEFT, 1f, editorarea); layout.seteditorareavisible(false); } } 65

66 Перспективи - IPerspectiveFactory Всяка перспектива съдържа множество изгледи и редактори. Областа за отваряне на редакторите е единствина. Изгледите се нареждат около тази област String editorarea = layout.geteditorarea(); Методът addview добавя изгледа с посочения идентификато към перспективата. Изгледът ще се намира от ляво на областа за редактори. Изгледът ще заема цялото пространство 1f. layout.addview("org.elsys.pluginsample.views.sampleview", IPageLayout.LEFT, 1f,editorArea); За да може изгледът да заеме целия екран областа за редакторите не трябва да е видима. layout.seteditorareavisible(false); 66

67 Перспективи Перспективата ще изглежда по следния начин: 67

68 Обобщение Представа за основните Eclipse проекти Equinox, Platform, JDT, PDE Пример за изграждане на plugin проект. Манифестни файлове MANIFEST.MF и plugin.xml Класът активатор методите start() и stop() трябва да са бързи и да не извършват излишна инициализация. Разширения (extensions) org.eclipse.ui.views е разширението за дефиниране на изгледи Късна инициализация (Lazy Loading) зареждането на даден plugin трябва да се извършва само когато това е необходимо. 68

Title Tues 1 Кирил TUES

Title Tues 1 Кирил TUES Title Editors @ Tues 1 Editors Основният начин за създаване и модифициране на ресурси в Eclipse са Редакторите. Съществуват значителен брой редактори от найпростите текстови редактори до по-сложни редактори

Подробно

ЕВРОПЕЙСКИ СЪЮЗ Европейки фонд за регионално развитие Инвестираме във вашето бъдеще ОПЕРАТИВНА ПРОГРАМА Развитие на конкурентоспособността на българск

ЕВРОПЕЙСКИ СЪЮЗ Европейки фонд за регионално развитие Инвестираме във вашето бъдеще ОПЕРАТИВНА ПРОГРАМА Развитие на конкурентоспособността на българск BG161PO003-1.1.06-0022-C0001 Ръководство за работа със системата Този документ е създаден с финансовата подкрепа на Оперативна програма на българската икономика 2007-2013, съфинансирана от Европейския

Подробно

Microsoft Word - Primer3_1.doc

Microsoft Word - Primer3_1.doc 3.1.) Създаване на нов проект demultiplexor и нов файл demultiplexor.vhd в текстовия редактор Galaxy Стартирайте текстовия редактор Galaxy, използвайки опциите : Start > Programs > WARP > Galaxy 3.1.1.

Подробно

Lush Green

Lush Green Класове Какво са класовете? Основен инструмент на ООП Средство за дефиниране на абстрактни типове данни Синтактична конструкция, която позволява логическо групиране на данни и операциите над тях Дефиниция

Подробно

ОПЕРАЦИОННАТА СИСТЕМА MS WINDOWS 10 Според някои в операционната система Windows 10 Microsoft събират найдобрите черти от версии 7 и 8. Тя е доста по-

ОПЕРАЦИОННАТА СИСТЕМА MS WINDOWS 10 Според някои в операционната система Windows 10 Microsoft събират найдобрите черти от версии 7 и 8. Тя е доста по- ОПЕРАЦИОННАТА СИСТЕМА MS WINDOWS 10 Според някои в операционната система Windows 10 Microsoft събират найдобрите черти от версии 7 и 8. Тя е доста по-гъвкава от всичко, което Microsoft са правили досега.

Подробно

Динамична памет. Конструктори и деструктори Любомир Чорбаджиев Технологическо училище Електронни системи Технически университет, София

Динамична памет. Конструктори и деструктори Любомир Чорбаджиев Технологическо училище Електронни системи Технически университет, София Динамична памет. Конструктори и деструктори Любомир Чорбаджиев Технологическо училище Електронни системи Технически университет, София lchorbadjiev@elsys-bg.org Revision : 1.3 16 ноември 2004 г. Пример:

Подробно

Eclipse TUES 1 Кирил TUES

Eclipse TUES 1 Кирил TUES Eclipse JFace @ TUES 1 Същност SWT предоставя много възможности за развитие на потребителския интерфейс. Неудобството се изразява в това, че при представяне на данните се използват прости типове като низове,

Подробно

Виртуални функции

Виртуални функции Виртуални функции Статично свързване Как компилаторът избира кой метод или коя функция да бъде извикана? Прави се сравнение между формални и фактически параметри и се избира най-точното съвпадение в случай,

Подробно

Ръководство за работа със симулационна система Multisim

Ръководство за работа със симулационна система Multisim Висше Военноморско училище Никола Йонков Вапцаров Варна, България Ръководство за работа със симулационна система MultiSIM Йордан Атанасов Сивков, Мирослав Йорданов Цветков 2017 Катедра Електроника Йордан

Подробно

Допълнения в периода Версия Модул Документи Към Права на достъп до екземпляри документи е добавено право Изтриване на док

Допълнения в периода Версия Модул Документи Към Права на достъп до екземпляри документи е добавено право Изтриване на док Допълнения в периода 25.04.2019 28.05.2019 Версия 4.42.0 Модул Документи Към Права на достъп до екземпляри документи е добавено право Изтриване на документ. Новото право е с по-нисък приоритет от правото

Подробно

Структура на програма в C - Част 7 - масиви, оператор за индексиране, sizeof оператор

Структура на програма в C - Част 7 - масиви, оператор за индексиране, sizeof оператор Структура на програма в C Част 7 - масиви, оператор за индексиране, sizeof оператор Иван Георгиев, Христо Иванов, Христо Стефанов Технологично училище "Електронни системи", Технически университет, София

Подробно

Title of Presentation

Title of Presentation INDESIGN УРОК 1 ЗАПОЗНАВАНЕ С ПРОГРАМАТА Изготвил: инж. Дарина Атанасова, ркк при ІV ЕГ Начален екран. Нов документ. Първоначални настройки на документ. Промяна на мерните единици. Промяна на настройките

Подробно

Paint.net

Paint.net Paint.net Урок 1 запознаване с различни разширения и слоеве Какво е разширение на един файл? Както знаете, всеки един файл си има име и разширение. Как изгелжда това: Име Разширение Името е уникално за

Подробно

Указание за инсталиране на офлайн Модул за Интрастат оператора (МИО) версия за 2019 г. Последна актуализация на указанието: г. Препор

Указание за инсталиране на офлайн Модул за Интрастат оператора (МИО) версия за 2019 г. Последна актуализация на указанието: г. Препор Указание за инсталиране на офлайн Модул за Интрастат оператора (МИО) версия 6.0.0 за 2019 г. Последна актуализация на указанието: 01.02.2019 г. Препоръка: Да се извърши от системен администратор! Изисквания

Подробно

ЕДИС СОФТУЕР ЕООД Пловдив, тел , ЕДИС-АСО ИЗТЕГЛЯНЕ И ИНСТАЛИРАНЕ НА АКТУАЛИЗАЦИЯТ

ЕДИС СОФТУЕР ЕООД Пловдив, тел , ЕДИС-АСО ИЗТЕГЛЯНЕ И ИНСТАЛИРАНЕ НА АКТУАЛИЗАЦИЯТ ЕДИС СОФТУЕР ЕООД Пловдив, тел. 0888-640825, 0877-660667 office@edis-bg.com, https://www.edis-bg.com ЕДИС-АСО ИЗТЕГЛЯНЕ И ИНСТАЛИРАНЕ НА АКТУАЛИЗАЦИЯТА \ Пловдив, юни 2019 г. - 1 - 1. ОПРЕДЕЛЯНЕ НА ТЕКУЩАТА

Подробно

ТЕХНИЧЕСКИ УНИВЕРСИТЕТ СОФИЯ НИЛ ПО КОМПЮТЪРНА ГРАФИКА И ГИС СОФТУЕРНА ГРУПА АКСТЪР тел./факс(02) , (02) ; E-MAI

ТЕХНИЧЕСКИ УНИВЕРСИТЕТ СОФИЯ НИЛ ПО КОМПЮТЪРНА ГРАФИКА И ГИС СОФТУЕРНА ГРУПА АКСТЪР тел./факс(02) , (02) ;   E-MAI ТЕХНИЧЕСКИ УНИВЕРСИТЕТ СОФИЯ НИЛ ПО КОМПЮТЪРНА ГРАФИКА И ГИС СОФТУЕРНА ГРУПА АКСТЪР тел./факс(02) 965-3469, (02) 965-2422; HTTP://WWW.ACSTRE.COM E-MAIL: OFFICE@ACSTRE.COM АКСТЪР Портал за електронни административни

Подробно

Системи за управление на версии - Работа с git

Системи за управление на версии - Работа с git Системи за управление на версии Работа с git Иван Георгиев, Христо Иванов, Христо Стефанов Tехнологическо училище "Електронни системи", Технически университет, София 28 февруари 2019 г. И. Георгиев, Х.

Подробно

Допълнения в периода Версия Модул УПТО Във връзка с промените в Наредба Н-18 е разработен специализиран модул за Управлен

Допълнения в периода Версия Модул УПТО Във връзка с промените в Наредба Н-18 е разработен специализиран модул за Управлен Допълнения в периода 29.05.2019 15.07.2019 Версия 4.43.0 Модул УПТО Във връзка с промените в Наредба Н-18 е разработен специализиран модул за Управление на Продажбите в Търговски Обекти (УПТО) към СКИПТЪР(i).

Подробно

Инструкция за инсталация на EXTRADE BOUTIQUE Ако на Вашия компютър е инсталирана по-ранна Windows 7 или по-ранна версия, моля пропуснете стъпка Предва

Инструкция за инсталация на EXTRADE BOUTIQUE Ако на Вашия компютър е инсталирана по-ранна Windows 7 или по-ранна версия, моля пропуснете стъпка Предва Инструкция за инсталация на EXTRADE BOUTIQUE Ако на Вашия компютър е инсталирана по-ранна Windows 7 или по-ранна версия, моля пропуснете стъпка Предварителни условия и преминете към стъпка Инсталиране.

Подробно

Класове в C++ (Rev: 742) Любомир Чорбаджиев 1 20 октомври 2006 г. Съдържание Съдържание 1 Обектно-ориентирано програмиране 1

Класове в C++ (Rev: 742) Любомир Чорбаджиев 1 20 октомври 2006 г. Съдържание Съдържание 1 Обектно-ориентирано програмиране 1 Класове в C++ (Rev: 742) Любомир Чорбаджиев 1 lchorbadjiev@elsys-bg.org 20 октомври 2006 г. Съдържание Съдържание 1 Обектно-ориентирано програмиране 1 1.1 Модулност............................ 1 1.2 Обектно-ориентирана

Подробно

Споделяне на анонимни данни с Lenovo Съдържание Споделяне на анонимни данни с Lenovo... 1 Harmony... 1 Lenovo Companion Lenovo Customer Engag

Споделяне на анонимни данни с Lenovo Съдържание Споделяне на анонимни данни с Lenovo... 1 Harmony... 1 Lenovo Companion Lenovo Customer Engag Споделяне на анонимни данни с Lenovo Съдържание Споделяне на анонимни данни с Lenovo... 1 Harmony... 1 Lenovo Companion 3.0... 2 Lenovo Customer Engagement Service... 3 Lenovo Experience Improvement (само

Подробно

Release notes_V3.0_BG

Release notes_V3.0_BG БЕЛЕЖКИ КЪМ ВЕРСИЯ V3.0 Hilti ON!Track Дата на излизане: 09.06.2018 г. 1 Важни моменти на версията 2 2 Нови функции 3 2.1 От местоположение и количество в потвърждение на доставката 3 2.2 Потвърждение

Подробно

Scan Tailor Кратко ръководство за работа Преди време описах как се работи с програмата Scan Kromsator. Сега искам да Ви представя една друга програма,

Scan Tailor Кратко ръководство за работа Преди време описах как се работи с програмата Scan Kromsator. Сега искам да Ви представя една друга програма, Scan Tailor Кратко ръководство за работа Преди време описах как се работи с програмата Scan Kromsator. Сега искам да Ви представя една друга програма, която набира популярност сред любителите на електронните

Подробно

Видеорекордер АHD-3908 Ръководство за експлоатация Моделите от тази серия са отличен избор за цифрово наблюдение на обекти в различни сфери, където во

Видеорекордер АHD-3908 Ръководство за експлоатация Моделите от тази серия са отличен избор за цифрово наблюдение на обекти в различни сфери, където во Видеорекордер АHD-3908 Ръководство за експлоатация Моделите от тази серия са отличен избор за цифрово наблюдение на обекти в различни сфери, където водещ фактор е сигурността. Вградената LINUX операционна

Подробно

IP150 Интернет Модул Ръководство за потеребителя V1.3 - IP150-EU02 02/2015 Представяне Интернет модул IP150 е интернет комуникационен

IP150 Интернет Модул Ръководство за потеребителя V1.3 - IP150-EU02 02/2015 Представяне Интернет модул IP150 е интернет комуникационен IP150 Интернет Модул Ръководство за потеребителя V1.3 - IP150-EU02 02/2015 Представяне Интернет модул IP150 е интернет комуникационен модул позволяващ Ви да наблюдавате и контролирате алармената си система

Подробно

Предефиниране на оператори. Копиращ конструктор. Оператор за присвояване Любомир Чорбаджиев Технологическо училище Електронни системи Технически униве

Предефиниране на оператори. Копиращ конструктор. Оператор за присвояване Любомир Чорбаджиев Технологическо училище Електронни системи Технически униве Предефиниране на оператори. Копиращ конструктор. Оператор за присвояване Любомир Чорбаджиев Технологическо училище Електронни системи Технически университет, София lchorbadjiev@elsys-bg.org Revision :

Подробно

Мрежов видео рекордер Ръководство за употреба

Мрежов видео рекордер Ръководство за употреба Мрежов видео рекордер Ръководство за употреба Съдържание Работа с USB мишка... 3 Главно меню... 4 Преглед на живо... 5 Цифрово машабиране... 5 PTZ Управление... 6 Извикване на Предварителна настройка (Presets)

Подробно

Дефиниране на шаблон Шаблони (Templates) Любомир Чорбаджиев Технологическо училище Електронни системи Технически университет, София

Дефиниране на шаблон Шаблони (Templates) Любомир Чорбаджиев Технологическо училище Електронни системи Технически университет, София Дефиниране на шаблон Шаблони (Templates) Любомир Чорбаджиев Технологическо училище Електронни системи Технически университет, София lchorbadjiev@elsys-bg.org Revision : 1.1 9 март 2005 г. template< class

Подробно

Въведение в информационните технологии и компютърните системи

Въведение в информационните технологии и компютърните системи Въведение в информационните технологии и компютърните системи ПЛАН НА УРОКА 1. ИНФОРМАЦИЯ И ИНФОРМАЦИОННИ ДЕЙНОСТИ Информация Технология Информационни технологии 2. ОСНОВНИ ХАРАКТЕРИСТИКИ НА КОМПЮТЪРНАТА

Подробно

ПРОЕКТ ВЪЗРОЖДЕНСКА КЪЩА 1. Отваряме програмата SketchUp. Избираме ново положение на Координатната система От контексното меню /върху една от осите на

ПРОЕКТ ВЪЗРОЖДЕНСКА КЪЩА 1. Отваряме програмата SketchUp. Избираме ново положение на Координатната система От контексното меню /върху една от осите на ПРОЕКТ ВЪЗРОЖДЕНСКА КЪЩА 1. Отваряме програмата SketchUp. Избираме ново положение на Координатната система От контексното меню /върху една от осите на Координатната система/ избираме Place и преместваме

Подробно

ИНСТАЛИРАНЕ НА ЕДИС-АСО ИНСТАЛИРАНЕ И НАСТРОЙКА Инсталиране на актуализацията в инсталация с ЕДИС-АСО 5.7x и 6.1/6.2 Копирайте изтегленат

ИНСТАЛИРАНЕ НА ЕДИС-АСО ИНСТАЛИРАНЕ И НАСТРОЙКА Инсталиране на актуализацията в инсталация с ЕДИС-АСО 5.7x и 6.1/6.2 Копирайте изтегленат ИНСТАЛИРАНЕ НА ЕДИС-АСО 6.6 1. ИНСТАЛИРАНЕ И НАСТРОЙКА. 1.1. Инсталиране на актуализацията в инсталация с ЕДИС-АСО 5.7x и 6.1/6.2 Копирайте изтеглената актуализация (файл aso6600.exe) в папката, където

Подробно

DOT NET 3.1

DOT NET 3.1 .NET технологии Изграждане на уеб приложения с ASP.NET Forms Управление на състоянието (state) State Повечето приложения използват данни (променливи), които трябва да се съхранят по време на няколко заявки

Подробно

НАУЧНИ ТРУДОВЕ НА РУСЕНСКИЯ УНИВЕРСИТЕТ , том 49, серия 3.2 Един подход за обработка и конвертиране на векторни изображения в WEB-базираните сис

НАУЧНИ ТРУДОВЕ НА РУСЕНСКИЯ УНИВЕРСИТЕТ , том 49, серия 3.2 Един подход за обработка и конвертиране на векторни изображения в WEB-базираните сис Един подход за обработка и конвертиране на векторни изображения в WEB-базираните системи Цветан Христов Христов An Approach for Vector Graphics Manipulation and Conversion in the WEB-Based Systems: In

Подробно

WEB портал за съобщаване на проблеми в СО Район Банкя Ръководство на потребителя I. Общ изглед на портала, вход и регистриране на потребител След отва

WEB портал за съобщаване на проблеми в СО Район Банкя Ръководство на потребителя I. Общ изглед на портала, вход и регистриране на потребител След отва WEB портал за съобщаване на проблеми в СО Район Банкя Ръководство на потребителя I. Общ изглед на портала, вход и регистриране на потребител След отварянето на линка на портала http://bt.bg73.net/ се визуализира

Подробно

Инструкция за работа с Декларации 1 и 6 Инструкция за изготвяне на Декларация образец 1 и Декларация образец 6 в ПП Омекс 2000, съгласно изискванията

Инструкция за работа с Декларации 1 и 6 Инструкция за изготвяне на Декларация образец 1 и Декларация образец 6 в ПП Омекс 2000, съгласно изискванията Инструкция за работа с Декларации 1 и 6 Инструкция за изготвяне на Декларация образец 1 и Декларация образец 6 в ПП Омекс 2000, съгласно изискванията на НАП от 01.01.2014 г. за едновременно подаване на

Подробно

РЕЦЕНЗИЯ от проф. д-р Красен Стефанов Стефанов на дисертационен труд на тема ИНСТРУМЕНТИ ЗА ПРЕДСТАВЯНЕ НА 3D ОБЕКТИ И КОЛЕКЦИИ В ИНТЕРНЕТ за придобив

РЕЦЕНЗИЯ от проф. д-р Красен Стефанов Стефанов на дисертационен труд на тема ИНСТРУМЕНТИ ЗА ПРЕДСТАВЯНЕ НА 3D ОБЕКТИ И КОЛЕКЦИИ В ИНТЕРНЕТ за придобив РЕЦЕНЗИЯ от проф. д-р Красен Стефанов Стефанов на дисертационен труд на тема ИНСТРУМЕНТИ ЗА ПРЕДСТАВЯНЕ НА 3D ОБЕКТИ И КОЛЕКЦИИ В ИНТЕРНЕТ за придобиване на образователната и научна степен доктор, в област

Подробно

Анализ и оптимизация на софтуерни приложения

Анализ и оптимизация на софтуерни приложения Анализ и оптимизация на софтуерни приложения Александър Пенев Васил Василев Съдържание 1. Производителност 2. Оптимизация 3. Методи за оптимизация 2/18 Защо производителността е важна? Дава възможност

Подробно

Услуга Web Presence Описание на услугата Версия: 4.0 Май 2018 Страница 1 от 7

Услуга Web Presence Описание на услугата Версия: 4.0 Май 2018 Страница 1 от 7 Услуга Web Presence Описание на услугата Версия: 4.0 Май 2018 Страница 1 от 7 Съдържание 1 Обща информация... 2 2 Описание на услугата... 2 2.1 Предлагани пакети... 2 2.1.1 Business... 4 2.1.2 Business

Подробно