Delphi for .NET Ръководство на разработчика ви отвежда отвъд основните възможности на Delphi и .NET Framework. Изданието съдържа подробна информация за проектирането на .NET приложения с най-добрия за сега инструмент за RAD разработка на Borland. Тук ще намерите практични примери, техники и насоки за оптимално използване на .NET Framework. Ако вече сте потребител на Delphi, книгата ще ви помогне да подобрите уменията си, като овладеете тази нова и вълнуваща технология. Ако за първи път използвате Delphi или .NET, тази чудесна среда за разработка ще ви помогне да овладеете по най-бързия начин различните аспекти на .NET.
В книгата подробно са описани езикът Delphi, разширените концепции за разработка с .NET като управление на паметта, COM-Interop, отражения, GDI+, създаване на компоненти за Windows и уеб форми и др. Ще намерите важни глави за основните технологии на .NET като ADO.NET и ASP.NET, придружени с многобройни примери за ценни техники.
Използвайте .NET Framework чрез езика Delphi
• Създавайте бързи ASP.NET приложения
• Разработвайте ADO.NET приложения с бази данни
• Проектирайте компоненти за Windows и уеб форми
• Изграждайте сложни приложения чрез COM Interop, GDI+, нишки и API интерфейса за отражения
• Внедрете приложенията си в света на Linux с Mono
• Научете какво е Remoting, уеб услуги, кеширане и сигурност в ASP.NET и още много
• Възползвайте се най-пълно от новата развойна среда на Delphi
На компактдиска ще намерите:
• Сорс кода на всички примери от книгата
• Цялата книга Delphi 6 Developer’s Guide от Хавиер Пачеко и Стийв Теиксейра
• Демонстрационни версии на софтуер от независими компании
.NET Framework 1.1 SDK, Web Matrix и MSDE
• Безплатно, лицензирано за един потребител копие на Active! Focus 1.5 за управление на изисквания и грешки в софтуер, промяна на заявки и др.
Съдържание:
1 Том Въведение Част I Въведение в .NET Framework Глава 1 Въведение в .NET Инициативата .NET Визията .NET Компонентите на .NET Framework – среда за изпълнение на общия език и библиотеки с класове Типове приложения за .NET VCL for .NET Разпределена разработка чрез уеб услуги Уеб услуги – определение Клиенти на уеб услуги Инструменти за разработка на уеб услуги
Глава 2 Преглед на .NET Framework От разработването до изпълнението Среда за изпълнение на общия език (CLR) Управлявани модули Асемблита Управляван и неуправляван код MSIL и JIT компилиране и изпълнение Система за общи типове (CTS) Типове за стойности Типове за референции Спецификация на общия език (CLS) Библиотека с класове на .NET Framework (FCL) Пространства от имена Пространство от имена System Главни подсистемни пространства от имена
Част II Програмният език Delphi for .NET Глава 3 Въведение в Delphi for .NET и новата IDE среда Delphi for .NET – по-мащабна визия Въведение в интегрираната среда за разработка (IDE) Welcome Page Областта Designer Форми Tool Palette/Code Snippets Object Inspector Code Editor Project Manager Model View Data Explorer Object Repository Code Explorer To-Do List
Глава 4 Програми, модули и пространства от имена Структура на управляваните модули Структура на програмите Структура на модулите Заглавие на модула Секция interface Секция Implementation Синтаксис на клаузата uses Кръгови референции между модули Пространства от имена Деклариране на пространства от имена Използване на пространства от имена Клаузата Namespaces Преобразуване на обикновени пространства от имена Псевдоними на модули
Глава 5 Езикът Delphi Всичко е заради .NET Коментари Процедури и функции Скоби при извикване Предефиниране Подразбиращи се стойности на параметри Променливи Константи Оператори Оператори за присвояване Оператори за сравнение Логически оператори Аритметични оператори Побитови оператори Инкрементиращи и декрементиращи процедури Съкратени оператори Типове в езика Delphi Обекти, обекти навсякъде! Сравнение на типовете Знакове Тип Variant Преобразуване на типове и Variant Variant в изрази Празна стойност и Null Типове, дефинирани от потребителя Масиви Динамични масиви Записи Множества Небезопасен код Указатели Низове, терминирани с Null Класове и обекти Псевдоними на типове Преобразуване на типовете Низови ресурси Проверка на условия Конструкция if Използване не конструкцията case Цикли Цикълът for Цикълът while repeat..until Конструкция Break Конструкция Continue Процедури и функции Подаване на параметри Област на видимост Модули и пространства от имена Клаузата uses Кръгови референции между модули Пакети и асемблита Обектно-ориентирано програмиране Употреба на обектите на Delphi Деклариране и инстанцииране Деструкция Адам на всички обекти Полета Методи Типове методи Референции към клас Свойства Събития Спецификатори на видимост „Приятелски” класове Помощници на класове Вложени типове Предефиниране на оператори Атрибути Интерфейси Дефиниране на интерфейси Структурирана обработка на изключения Класове на изключения Ред на изпълнение Повторно генериране на изключение
Част III Разработка с библиотеката с класове на .NET Framework Глава 6 Асемблита – библиотеки и пакети Основни асемблита Разглеждане на съдържанието и зависимостите на едно асембли Обърнете се към GAC Изграждане на асемблита Защо да използваме асемблита? Използване на пакети за създаване на асемблита Използване на библиотеки за изграждане на асемблита Използване на асемблита в Delphi Използване на асемблита на Delphi в C# Инсталиране на пакет в Delphi IDE Силни имена на асемблита Динамично зареждане на асемблита
Глава 7 GDI+ програмиране – чертане в .NET Основни понятия Пространството от имена на GDI+ Класът Graphics Координатна система на Windows Изчертаване на линии Класовете Pen и Brush Чертаене на линии Стилове за краища на линии Свързване на линии – клас GraphicsPath Изчертаване на криви Обикновен сплайн Сплайн на Безие Изчертаване на фигури Изчертаване на правоъгълници Изчертаване на елипси Изчертаване на многоъгълници Изчертаване на пай Повече за LinearGradientBrush Класове GraphicsPaths и Regions Чертане с класа GraphicsPath Чертане с класа Region Създаване на ограничителни региони Работа с изображения Класът Image Зареждане и създаване на растерни изображения Промяна на разделителната способност на изображение Изчертаване на изображение Интерполация Огледален ефект Използване на методи за трансформация Създаване на умалено изображение Повторен преглед на координатните системи Пример за анимация
Глава 8 Mono – междуплатформен .NET проект Възможности на Mono Историята на Mono Защо Mono? Планирани версии на Mono Цели на Mono 1.0 Цели на Mono 1.2 Цели на Mono 1.4 Инсталация Инсталация на Mono с помощта на Red Carpet Създаване на първата ви програма с Mono Изпълняване на генерирани от Delphi асемблита с Mono (под Linux) Междуплатформена поддръжка на ASP.NET Внедряване на ASP.NET с Mono Конфигуриране на XSP Рънтайм параметри на XSP Някои пречки и дребно разширение на примера ADO.NET с Mono Mono и Apache Mono и System.Windows.Forms
Глава 9 Управление на паметта и събиране на боклука Принципи на събирането на боклука Събиране на боклука по поколения Извикване на събирача на боклук Конструктори Финализация Шаблонът за освобождаване – IDisposable Пример за IDisposable Автоматична реализация на IDisposable Проблеми с бързодействието при финализацията
Глава 10 Колекции Интерфейси на System.Collections Интерфейс IEnumerable Интерфейс ICollection Интерфейс IList Интерфейс IDictionary Интерфейс IEnumerator Класове на System.Collections Колекцията Stack Класът Queue Класът ArrayList Класът HashTable Създаване на силно типизирана колекция Наследяване от CollectionBase Използване на силно типизирана колекция Създаване на силно типизиран речник Наследяване от DictionaryBase Използване на силно типизиран речник
Глава 11 Работа с класовете String и StringBuilder Типът System.String Неизменност на низовете в .NET Операции с низове Сравняване на низове Други операции с низове Класът StringBuilder Методи на StringBuilder Употреба на StringBuilder Форматиране на низове Форматни спецификатори Числови форматни спецификатори Форматни спецификатори за дата и час Форматни спецификатори за изброяване
Глава 12 Операции с файлове и потоци Класове на пространството от имена System.IO Работа със системата от директории Създаване и изтриване на директории Преместване и копиране на директории Изследване на информация за директории Работа с файлове Създаване и изтриване на файлове Преместване и копиране на файлове Изследване на информация за файл Потоци Работа с потоци на текстови файлове Работа с потоци на двоични файлове Асинхронен достъп до поток Следене на действия с директория Сериализация Принципи на сериализацията Възможности за форматиране Пример за сериализация/десериализация
Глава 13 Разработка на потребителски WinForm контроли Принципи на създаването на компоненти Когато се готвите да създадете компонент Стъпки при създаването на компонент Избор на родителски клас Създаване на модула на компонент Създаване на свойства Създаване на събития Създаване на методи Поведение по време на проектиране Тестване на компонента Осигуряване на икона за компонента Примерни компоненти ExplorerViewer: Пример за UserControl SimpleStatusBars: използване на доставчици на разширения Потребителско чертане: контролът PlayingCard
Глава 14 Работа с нишки в Delphi for .NET Процеси Работа с нишки Работа с нишки в .NET стил Приложни домейни Пространството от имена System.Threading Класът System.Threading.Thread System.Threading.ThreadPriority System.Threading.ThreadState Изброяване System.Threading.ApartmentState Класът System.Threading.ThreadPool Класът System.Threading.Timer Делегати Писане на безопасен код при работа с нишки в .NET стил Заключващи механизми Събития Локално място за съхранение в нишка Междупроцесни комуникации в Win32 Безопасни при работа с нишки класове и методи на .NET Framework Проблеми с потребителския интерфейс Методът System.Windows.Forms.Control.Invoke() Свойство System.Windows.Forms.Control.InvokeRequired Методът System.Windows.Forms.Control.BeginInvoke() Методът System.Windows.Forms.Control.EndInvoke() Методът System.Windows.Forms.Control.CreateGraphics() Изключения при работата с нишки System.Threading.ThreadAbortException System.Threading.ThreadInterruptedException System.Threading.ThreadStateException System.Threading.SynchronizationLockException Събиране на боклука и работата с нишки
Глава 15 API интерфейс за отразяване Отразяване на асембли Отразяване на модул Отразяване на типове Обръщение по време на изпълнени към членовете на тип (късно свързване) Обръщение към типовете на членовете за ефективност Друг пример за обръщение към членове Емитиране на MSIL код чрез отразяване Инструменти/класове за емитиране на MSIL код Процесът на емитиране Пример за System.Reflection.Emit
Глава 16 Съвместимост – COM Interop и Platform Invocation Service Защо е необходима съвместимост? Често срещани проблеми със съвместимостта Използване на COM обекти в .NET код Automation с късно свързване Параметри за стойностни, референции и незадължителни параметри СОМ с ранно свързване Interop асемблита Създаване на Interop асембли Какво представлява Interop Assembly? Използване на СОМ събития Контрол на времето на живот в COM Обработка на грешки Основни Interop асемблита Настройки на Interop асемблита и PIA Използване на .NET обекти в СОМ код Регистриране на .NET асембли за Automation Automation с късно свързване Interop библиотеки за типове Какво представлява Interop Type Library? Реализиране на интерфейси Типове на параметри и маршализиране Обработка на грешки Използване на Win32 код от DLL в .NET код Традиционен синтаксис на Delphi Потребителски синтаксис за атрибути Типове на параметри и маршализиране Обработка на грешки Кодове за грешки в Win32 HResult кодове за грешки Проблеми с бързодействието Използване на .NET код в Win32 код Традиционен синтаксис на Delphi Типове на параметри и маршализиране
2 Том Част IV Разработка на бази данни с ADO.NET Глава 17 Преглед на ADO.NET Принципи при проектиране Несвързана архитектура на данните Интеграция с XML Общо представяне на данните Построен върху .NET Framework Използване на съществуващи технологии ADO.NET обекти Класове на свързаната среда Класове на несвързаната среда .NET доставчици на данни
Глава 18 Приложение на обекта Connection Функционалност на връзките Настройка на свойството ConnectionString Настройка на SqlConnection.ConnectionString Настройка на OleDbConnection.ConnectionString Настройка на OdbcConnection.ConnectionString Настройка на OracleConnection.ConnectionString Отваряне и затваряне на връзки Събития, свързани с връзките Пулинг на връзки
Глава 19 Приложение на обекти Command и DataReader Изпълнение на команди Интерфейсът IDbCommand Други команди Извличане на единични стойности Изпълняване на команди на Data Definition Language (DDL) Задаване на параметри посредством IDbParameter Изпълняване на съхранени процедури Извличане на параметри Подаване на заявки за набори от резултати посредством DataReader Интерфейсът IDataReader Подаване на заявка за набор от резултати Подаване на заявка за множество набори от резултати посредством DataReader Използване на DataReader за извличане на BLOB данни Използване на DataReader за извличане на информация за схемата
Глава 20 DataAdapter и DataSet Класът DataAdapter Състав на DataAdapter Създаване на DataAdapter Извличане на резултати от заявки Асоцииране на резултати от заявки Работа с обекти DataSet Състав на DataSet Операции с DataSet Работа с обекти DataTable Дефиниране на колони Дефиниране на първични ключове Работа с ограничения Работа с DataRelations Манипулиране с данни – работа с DataRow Търсене, сортиране и филтриране на данни
Глава 21 Работа с Win форми – изгледи и обвързване с данни Визуализиране на данни посредством DataView и DataViewManager Класът DataView Класът DataViewManager Примерни проекти, използващи DataView и DataViewManager Обвързване с данни Интерфейси за обвързване с данни Просто и сложно обвързване WinForm класове за обвързване на данни Примери за обвързване на Windows форми с данни
Глава 22 Запис на данни в източника на данни Обновяване на източник на данни посредством SQLCommandBuilder Обновяване на източник на данни посредством собствена логика Използване на Command клас Използване на класа SqlDataAdapter Обновяване посредством съхранена процедура Едновременна работа със записи Опресняване на данните след обновяването им
Глава 22 Работа с транзакции и силно-типизирани набори от данни Обработка на транзакции Прост пример за обработка на транзакции Транзакции при използването на DataAdapter Нива на изолация Точки на запис Вложени транзакции Силно-типизирани набори от данни Предимства/недостатъци Създаване на силно-типизирани набори от данни Изследване на pas файл със силно-типизиран DataSet Използване на силно-типизирани набори от данни
Глава 24 Borland Data Provider Преглед на архитектурата Класове на Borland Data Provider BdpConnection BdpCommand BdpDataReader BdpDataAdapter BdpParameter/BpdParameterCollection BdpTransaction Инструменти за проектиране в IDE Connections Editor Command Text Editor Parameter Collection Editor Диалоговият прозорец Data Adapter Configuration
Част V Разработване за Интернет с ASP.NET Глава 25 Основи на ASP.NET Основи на ASP.NET Преглед на протокола HTTP Пакетът на HTTP заявката Пакетът на HTTP отговора Основни принципи на ASP.NET Просто уеб приложение Структура на ASP.NET страницата Комуникация, базирана на събития VIEWSTATE и поддържане на състоянието CodeBehind Класове на ASP.NET Класът HTTPResponse Класът HTTPRequest Класът HTTPCookie Обработка на postback събития
Глава 26 Създаване на ASP.NET уеб страници на Samba Създаване на уеб страници с използването на ASP.NET контроли Примерен формуляр със заявка за сваляне Разположение на страницата Създаване на формуляр Обработка на събитието Load Записване на файлове от ASP.NET приложение Ред за обработка на събития в уеб форма Предварително запълване на списъчни контроли Валидиране на уеб форма Валидиране при клиента и при сървъра Клас BaseValidator Контрол RequiredFieldValidator Контрол CompareValidator Контрол RegularExpressionValidator Контрол RangeValidator Контрол CustomValidator Контрол ValidationSummary Форматиране на уеб форма Силно типизирани свойства на класа WebControl Каскадни набори от стилове Използване на клас за стил Навигация между уеб форми Предаване на данни чрез POST Използване на метода Response.Redirect() и QueryString Използване на метода Server.Transfer() Използване на сесийни променливи Съвети и техники Използване на контрола Panel за симулиране на множество формуляри Качване на файл от клиента Изпращане на отговор на e-mail съобщение от формуляр Визуализиране на изображения Динамично добавяне на контроли – приложение за разглеждане с умалени изображения
Глава 27 Създаване на ASP.NET приложения с бази данни Обвързване с данни Просто обвързване с данни Сложно обвързване с данни Списъчни контроли, обвързани с данни Контрол CheckBoxList Контрол DropDownList Контрол ListBox Контрол RadioButtonList Итеративни контроли, обвързани с данни Контрол Repeater Контрол DataList Работа с DataGrid Страниране на DataGrid Редактиране на DataGrid Добавяне на елементи към DataGrid Сортиране на DataGrid Формуляр за заявки за сваляне с използване на база данни
Глава 28 Изграждане на уеб услуги Термини, свързани с уеб услугите Създаване на уеб услуги Атрибутът [WebService] Връщане на данни от уеб услуга Обяснения за атрибута [WebMethod] Използване на уеб услуги Процесът на откриване Конструиране на прокси клас Използване на прокси класа Консумиране на набор от данни от уеб услуга Извикване на асинхронен метод на уеб услуга Защита на уеб услуги
Глава 29 .NET Remoting и Delphi Достъпните днес Remoting технологии Сокети RPC Java RMI CORBA XML-RPC DCOM COM-Interop SOAP .NET Remoting Разпределени архитектури Клиент/сървър Равноправен модел Многослоен модел Предимства на многослойната разработка на приложения Мащабируемост и толеранс за грешки Разработка и внедряване Защита Основни принципи на .NET Remoting Преглед на архитектурата Приложни домейни Пространството от имена System.Runtime.Remoting Remotable обекти Активиране на обект Наеми и спонсори Проксита Канали Първото ви .NET Remoting приложение Създаване на проекта Добавяне на референции BankPackage.dll: договор между клиенти и сървъри Реализиране на сървъра Реализиране на клиента
Глава 30 .NET Remoting в действие Шаблонен проект Проследяване на съобщения Анализиране на SOAP пакети Активиране от клиента Фабричният модел Примерът по време на изпълнение Проблеми, свързани с CAO Управление на времето на живот Неуспешно подновяване на наем Конфигурационни файлове Сървърна конфигурация Конфигуриране на клиента Превключване от HTTP към TCP комуникация Превключване от SOAP към двоично кодиране Разлики между SOAP и двоично кодиране
Глава 31 Сигурност в ASP.NET Методи за защита в ASP.NET Удостоверяване Конфигуриране на модела за удостоверяване в ASP.NET Windows удостоверяване Удостоверяване, базирано на форми Удостоверяване с Passport Оторизация Файлова оторизация URL оторизация – секцията Оторизация, базирана на роли Олицетворяване Излизане от приложението
Глава 32 Внедряване и конфигуриране на ASP.NET Внедряване на ASP.NET приложения Основни съображения, свързани с внедряването Внедряване с XCOPY Конфигурационни настройки Файлът machine.config Файлът web.config Конфигурационни съвети Пренасочване при грешки Рестартиране на работен процес Кеширане на изходната информация за постигане на по-добро бързодействие Наблюдение на ASP.NET процеса Проследяване на работата на приложението Добавяне/извличане на собствени конфигурационни настройки Добавяне и прочитане на секцията Добавяне и прочитане на собствени конфигурационни секции
Глава 33 Кеширане и управление на състоянието в ASP.NET приложения Кеширане на ASP.NET приложения Кеширане на страница Кеширане на част от страница Кеширане на данни Зависимости на кеша от файлове Разширяване на зависимости между файлове с цел употреба със SQL сървър Callback методи за кеш Управление на състоянието в ASP.NET приложения Управление на състоянието с бисквитки Работа с ViewState Управление на състоянието на сесия Съхраняване на данни за сесия в сървър за състояние на сесия Съхраняване на данни за сесия в SQL Server Събития в сесия Управление на състоянието на приложение Кеш или обекта Application?
Глава 34 Създаване на сървърни ASP.NET контроли Потребителски контроли Много прост потребителки контрол Подробности за простия контрол Потребителски контрол за влизане в система Уеб контроли Създаване на прост уеб контрол Запазващи се стойности Добавяне на собствен код за рендиране Определяне на типа на HTML блока Обработка на Post-back данни TPostBackInputWebControl Комбинирани контроли Реализиране на комбиниран контрол – TNewUserInfoControl
Често задавани въпроси:
Какво е BALKANATOLIA.com? BALKANATOLIA.com е магазин за българска музика и филми
и книжарница за български книги в Интернет. Тук можете
да намерите актуална информация за новите заглавия,
както и да закупите желаните от вас продукти.
Доставяте ли по целият свят?
Да, ние продаваме както в България, така и в чужбина.
Независимо къде се намирате вие можете да закупите желаните
от вас продукти.
Защо цените са в Щатски долари и в Лева?
Цените са в лева и се преобразуват в USD по курса на
деня, когато поръчката, която се прави е за чужбина.
Стойността на продуктите е една и съща независимо в
каква валута виждате цените им.
Как може да се плати поръчката?
За България поръчките се плащат при доставката с наложен
платеж.
За чужбина може да се плати с VISA и MasterCard кредитна
карта, Western Union и MoneyGram превод или банков превод.
За някой държави поддържаме и преводи с пощенски записи.
Сигурни ли са плащанията с кредитни карти?
Плащанията с кредитни карти се обработват от PayPal.com
и 2checkout.com, това се прави за да можем да ви гарантираме
100% сигурност при трансферите.
Поддържат ли се на склад предлаганите продукти?
Ние предлагаме над 5000 заглавия - книги, музика и филми.
По тази причина на склад се поддържат само най-продаваните
продукти, както и най-новите заглавия от всеки раздел.
Останалите продукти се заявяват при поръчка, но това
в общият случай не влияе на 48 часовият срок за изпълнение
на доставката.
Каква е цената на доставката?
Цената за доставка зависи от дестинацията и броя на
поръчаните продукти. За София доставката е 1.80 лв.
независимо от броя на поръчаните продукти, за България
е от 1.20 лв. до 3.90 лв. за продукт в зависимост от
броя на поръчаните продукти.
Цената за доставка в чужбина е от 6.80 USD до 9.40 USD
за продукт, в зависимост от броя на поръчаните продукти.
Когато правите поръчка напишете вашето име и парола
и ще видите цената за доставка при калкулирането на
крайната цена.
Какви са сроковете за доставка?
Срока за доставка зависи от дестинацията, за София е
2 работни дни, а за България е една седмица.
Срокът за доставка извън България варира от 1 до 4 седмици
в зависимост от дестинацията. Поръчките се изпращат
до 2 работни дни след потвърждаване на плащането им.
Ако искате поръчката ви да бъде изпратена експерсно
за 2-3 дни с DHL или UPS пишете ни за да ви дадем цена
на email: .
Как се изпращат поръчаните продукти.
Поръчките за София се доставят с куриер на адрес. Поръчките
за България се доставят с наложен платеж чрез български
пощи. Поръчките за чужбина се доставят чрез пощенските
служби с препоръчана поща.
Как да поръчам?
За да поръчате продукт трябва предварително да сте се
регистрирали в сайта (чрез бутона [ Регистрация
] от менюто горе). След това изберете желания от вас
продукт и щракнете върху бутона добави
в кошницата >> за даденият носител Компакт
диск, Аудио касета, DVD или Видео CD.