Календарь на Апрель 2024 года: calendar2008.ru/2024/aprel/
Навигация
Главная »  Delphi 

1 2 [ 3 ] 4 5

  Акция компании Embarcadero: Купите один продукт - второй получите бесплатно!
Только до 28 марта 2012 года приобретая в компании "Интерфейс" или интернет-магазине "ITShop.ru" RAD Studio XE2, Delphi XE2, C++ Builder XE2 или RAD PHP XE2, вы можете бесплатно выбрать ещё один продукт  Embarcadero, стоимость которого ниже или равна стоимости приобретенного продукта. При покупке каких продуктов пользователь получает купон? Купон на получение продукта бесплатно предоставляется при покупке самых последних версий следующих продуктов: RAD Studio XE2, Delphi XE2, C++ Builder XE2 или RAD PHP XE2 всех редакций. Полный список: Код Название Программы " Средства разработки ПО "Embarcadero (CodeGear/Borland): CPAX02MLENWB0 C++Builder XE2 Architect New User Named ESD CPAX02MLENWD0 C++Builder XE2 Architect New User 5 Named Users ESD CPAX02MLENWE0 C++Builder XE2 Architect New User 10 Named Users ESD CPAX02MUENWB0 C++Builder XE2 Architect Upgrade from 2007-XE Named ESD CPAX02MUENWD0 C++Builder XE2 Architect Upgrade from 2007-XE 5 Named Users ESD CPAX02MUENWE0 C++Builder XE2 Architect Upgrade from 2007-XE 10 Named Users ESD CPAX02MUENWS0 C++Builder XE2 Architect Upgrade from C++Builder Starter Named ESD CPEX02MLENWB0 C++Builder XE2 Enterprise New User Named ESD CPEX02MLENWD0 C++Builder XE2 Enterprise New User 5 Named Users ESD CPEX02MLENWE0 C++Builder XE2 Enterprise New User 10 Named Users ESD CPEX02MUENWB0 C++Builder XE2 Enterprise Upgrade from 2007-XE Named ESD CPEX02MUENWD0 C++Builder XE2 Enterprise Upgrade from 2007-XE 5 Named Users ESD CPEX02MUENWE0 C++Builder XE2 Enterprise Upgrade from 2007-XE 10 Named Users ESD CPEX02MUENWS0 C++Builder XE2 Enterprise Upgrade from C++Builder Starter Named ESD CPBX02MLENWB0 C++Builder XE2 Professional New User Named ESD CPBX02MLENWD0 C++Builder XE2 Professional New User 5 Named Users ESD CPBX02MLENWE0 C++Builder XE2 Professional New User 10 Named Users ESD CPBX02MUENWB0 C++Builder XE2 Professional Upgrade from 2007-XE Named ESD CPBX02MUENWD0 C++Builder XE2 Professional Upgrade from 2007-XE 5 Named Users ESD CPBX02MUENWE0 C++Builder XE2 Professional Upgrade from 2007-XE 10 Named Users ESD CPBX02MUENWS0 C++Builder XE2 Professional Upgrade from C++Builder Starter Named ESD CPCX02MLENWB0 C++Builder XE2 Starter New User Named ESD CPCX02MUENWB0 C++Builder XE2 Starter Competitive upgrade from any other C++ or Windows developer tool or IDE Named ESD CPUX02MLENWB0 C++Builder XE2 Ultimate New User Named ESD CPUX02MLENWD0 C++Builder XE2 Ultimate New User 5 Named Users ESD CPUX02MLENWE0 C++Builder XE2 Ultimate New User 10 Named Users ESD CPUX02MUENWB0 C++Builder XE2 Ultimate Upgrade from 2007-XE Named ESD CPUX02MUENWD0 C++Builder XE2 Ultimate Upgrade from 2007-XE 5 Named Users ESD CPUX02MUENWE0 C++Builder XE2 Ultimate Upgrade from 2007-XE 10 Named Users ESD CPUX02MUENWS0 C++Builder XE2 Ultimate Upgrade from C++Builder Starter Named ESD HDAX02MLENWB0 Delphi XE2 Architect New User Named ESD HDAX02MLENWD0 Delphi XE2 Architect New User 5 Named Users ESD HDAX02MLENWE0 Delphi XE2 Architect New User 10 Named Users ESD HDAX02MUENWB0 Delphi XE2 Architect Upgrade from 2007-XE Named ESD HDAX02MUENWD0 Delphi XE2 Architect Upgrade from 2007-XE 5 Named Users ESD HDAX02MUENWE0 Delphi XE2 Architect Upgrade from 2007-XE 10 Named Users ESD HDAX02MUENWS0 Delphi XE2 Architect Upgrade from Delphi Starter Named ESD HDEX02MLENWB0 Delphi XE2 Enterprise New User Named ESD HDEX02MLENWD0 Delphi XE2 Enterprise New User 5 Named Users ESD HDEX02MLENWE0 .

  Хороший выбор плохой архитектуры
Источник: embarcaderoVsevolod Leonov Познавательная активность моих друзей-блоггеров стимулирует очередную итерацию в анализе получаемой информации. Евгений Чмель, один из победителей нашего с DelphiFeeds.ru конкурса блогов, в своей "собирательной" статье довольно удачно совместил собственные размышления с достаточно вдумчивой селекцией опубликованных книжных мыслей. Количество опубликованной литературы на тему "как правильно создавать ПО" настолько превысило нормупотребления реально программирующего специалиста, что мы должны быть благодарны Евгению хотя бы за краткий пересказ основных моментов через призму собственно восприятия. Выбор в условиях неопределённости Психологический портрет хорошего разработчика обязательно будет укомплектован румяным и красивым комплексом неполноценности. Мы сомневаемся в себе уже в момент проклика в Project->New Application. Редкий кусок кода мы готовы признать красивым, эффективным и выше всякой критики. Мы часто страдаем от собственного "дилетантства", "косорукости" и "быдлокодерства".

  Загрузка файла в БД в виде внедренного OLE-объекта без использование стандартного OleContainer
Источник: deeptown12Дмитрий Кузан Добрый день!Недавно встала задача загружать файлы документов в БД (поле BLOB) в виде OLE-объекта, которого в дальнейшем можно вывести в стандартный OLE контейнер Delphi для просмотра и последующего редактирования. Первое что встает в голову воспользоватся стандартной функций OleContainer - CreateObjectFromFile. т.е. сделать что то вроде такого кода view sourceprint? 01  Table.Append;   02  try  03  Stream := TMemoryStream.Create;   04  OleContainer.CreateObjectFromFile(OpenDialog.FileName);   05  OleContainer.SaveToStream(Stream);   06  TableDATA.LoadFromStream(Stream);   07  finally  08   Stream.Free;   09  end;   10  Table.Post;  где  TableData - это Blob-поле. Всем хорош данный код, но мне он не понравился по 2-м причинам:1.нужно иметь OleContainer на форме2.загрузка таким способом происходит довольно медленно, т.к. если OleContainer находится на форме, много времени тратится на лишнии операции (прорисовка и пр)поэтому хотелось бы загружать файл документа сразу в БД минуя OleContainer, т.е создать внедренный Ole-объект на основе файла документа и поместить его в БД. Вообщем повозившись полчасика родилось такое решение, которое по производительности обошло загрузку стандартным способом: view sourceprint? 01  const  02   StreamSignature = $434F4442; {'BDOC'}  03  type  04   TStreamHeader = record  05  case Integer of  06    0: ( { New }  07    Signature: Integer;   08    DrawAspect: Integer;   09    DataSize: Integer);   10    1: ( { Old }  11     PartRect: TSmallRect);   12  end;   13  var  14   ID : Integer;   15   fDocOLE : TfDocOLE;   16   FN : string;   17   Stream : TMemoryStream;   18   FStorage : IStorage; {Интерфейс хранилища}  19   FOleObject: IOleObject; {Интерфейс является основным средством, с помощью которого   20                            внедренный объект наделяется базовой функциональностью,   21                            и взаимодействует с контейнером хранилища}  22   FLockBytes: ILockBytes; {Интерфейс структурированного хранилища, который   23                            служит для доступа к длинным текстовым и   24                            двоичным данным}  25   DataHandle: HGlobal;   26   Buffer: Pointer;   27   Header: TStreamHeader;   28  begin  29  if OpenDialog.Execute then  30  begin  31   FN := ExtractFileName(OpenDialog.FileName);   32   FOleObject := nil;   33   FStorage := nil;   34   FLockBytes := nil;   35     36   { Доступ к памяти для реализации ILockBytes }  37   OleCheck(CreateILockBytesOnHGlobal(0, True, FLockBytes));   38   { Создание хранилища IStorage и связка его с реализацией интерфеса   39   ILockBytes }  40   OleCheck(StgCreateDocfileOnILockBytes(FLockBytes,   41            STGM_READWRITE or STGM_SHARE_EXCLUSIVE or STGM_CREATE, 0, FStorage));   42   // Создание внедеренного объекта из файла   43   OleCheck(OleCreateFromFile(GUID_NULL, PWideChar(OpenDialog.FileName),   44   IOleObject, OLERENDER_NONE, nil, nil, FStorage, FOleObject));   45   OleCheck(GetHGlobalFromILockBytes(FLockBytes, DataHandle));   46     47   try  48   { Создаем поток в памяти }  49   Stream := TMemoryStream.Create;   50   Stream.Position := 0;   51   Header.Signature := StreamSignature;   52   Header.DrawAspect := DVASPECT_CONTENT; .

  Захват содержимого HTTP в Delphi
Источник: delphi-boxdelphi-box Недавно нашел интересную статейку и решил поделиться с вами:Программа перехватывает на веб-сайт Google, поиск по ключевому слову, и получает первые 100 сайтов.Листинг: unit FindTh;interfaceusesClasses, IdComponent, SysUtils, IdHTTP;typeTFindWebThread = class(TThread)protectedAddr, Text, Status: string;procedure Execute; override;procedure AddToList;procedure ShowStatus;procedure GrabHtml;procedure HtmlToList;procedure HttpWork (Sender: TObject; AWorkMode: TWorkMode;const AWorkCount: Integer);publicstrUrl: string;strRead: string;end;implementation{ TFindWebThrea.

  DelphiX: Загрузка и вывод спрайтов
Источник: delphidevelopБорисов Сергей Итак, научимся загружать и выводить спрайты на экран. Спрайты, проще говоря, это обычные картинки. Например, анимация идущего человека состоит из нескольких кадров, вот каждый кадр это и есть спрайт. Приступим. Для начала выложим на форму все необходимые компоненты: TDXTimer, TDXImageList иTDXDraw. Названия компонентов изменять не будем.  TDXTimer  - это таймер. Нужен он для того, чтобы экран обновлялся.  TDXImageList  это коллекция загруженных спрайтов. А на  TDXDraw  будет вся выводимая графика отображаться.

  Direct Show и Delphi
Источник: codingruskest На этот раз речь пойдет о DirectShow. Для чего нам может понадобиться DirectShow?DirectShow -  это архитектура для воспроизведения, перехвата и обработки потоков мультимедиа . Звучит туманно? Поясняю - c помощью этого API можно:  • проигрывать мультимедийные файлы различного формата, такие как MPEG (Motion Picture Experts Group), AVI (Audio-Video Interleaved), MP3 (MPEG Audio Layer-3),DVD и конечно WAV; • перехватывать видео-поток с различного рода TV-карт, видеокамер и т.п.; • создавать нестандартные обработчики мультимедиа-потоков и свои собственные форматы файлов (что, впрочем, вряд ли понадобится простым смертным); • обращаться непосредственно к видео и аудио потокам, чтобы выводить их на Surface DirectDraw (что для нас как раз интересно).  Звучит заманчиво. Но для чего это может понадобиться, спросите Вы, вспоминая родной и привычный MediaPlayer. Представьте себе, что Вы запрограммировали трехмерный мир, с анимированными спрайтами, трехмерными объектами и т.п. И в отсвете выстрелов очередной "бродилки-стрелялки", пораженный пользователь нового шедевра, видит видео клип, воспроизводимый прямо на костях очередного пораженного монстра. :-) Каково? Убедил? Тогда продолжим.

  TCP протокол семейства TCP/IP. программирование протокола TCP
Источник: codingrusKest 1. TCP протокол семейства TCP/IP TCP - это один из самых широко используемых протоколов транспортного уровня. IP не предполагает установление соединения. Он просто передает дейтаграмму от узла к узлу, а при каком-либо нарушении она просто отбрасывается, о чем отправитель уведомляется ICMP-сообщением. Проверка принятых данных и повторная передача данных, не дошедших до получателя, ложится на TCP. Он следит за доставкой данных протоколом IP. Главная функция TCP заключается в доставке сообщений без потерь.

  Медиаплеер своими руками
Источник: pcnextDarkmaster Сегодня мы с вами разберемся, как с помощью Delphi написать простейший проигрыватель музыки, а также простеньких видео-файлов формата avi. Вообще же написание своего проигрывателя(простейшего конечно же) несложная задача, поэтому сразу же замечу, что эта статья будет интересна начинающим программистам. Все остальные в ней не нуждаются. Если вы все еще читаете эти строки то значит вы один из начинающих, а значит что-то отсюда почерпнете для себя. Для начала давайте определимся с интерфейсом нашего проигрывателя. Я предлагаю сделать овальную форму. Можно конечно воспользоваться компонентом для этого(я слышал что есть такие), а можно сделать это вручную.

  Введение в объектно-ориентированное программирование
Источник: codingrusKest Объектно-ориентированное проектирование программ или просто объектно-ориентированное программирование (ООП) представляет собой качественно новый шаг в развитии современных методов программирования. Настоящая работа посвящена знакомству с принципами ООП применительно к программированию в среде DELPHI.Любая программа в широком смысле может рассматриваться как модель (воспроизведение или отражение) части реального мира (внешней среды, предметной области). Различные образования реального мира могут быть определены единым термином: объекты. К ним относятся окружающие нас в быту предметы, технические устройства, сооружения, животные и, наконец, сами люди. Каждый объект характеризуется только присущим ему набором (множеством) параметров (свойств), а также множеством действий, которые может выполнить сам объект и которые могут быть выполнены над данным объектом другими объектами.Ко всем объектам реального мира может быть применена единая по смыслу функция классифицирования, результатом выполнения которой является разбиение объектов на группы по различным признакам, видам и свойствам. В связи с этим можно ввести в рассмотрение понятие классов (групп) объектов. Это понятие определяет множество различных свойств объектов и множество различных действий (операций) над ними.Любая схема (или система) классифицирования обычно строится по принципу от "общего" к "частному" и, как правило, имеет многоуровневую структуру отношений, в которой элементы высших ступеней порождают (производят) элементы низших уровней. Эти элементы имеют свои конкретные особенности и одновременно получают все основные свойства и действия, то есть "наследуют" их от элементов верхнего уровня.

  Буферы для потоков
Источник: codingrusKest Стандартные потоки, широко применяющиеся в Delphi, резко упрощают повседневную работу с потоковыми данными. Но и у них есть недостаток. Дело в том, что в VCL потоки, и, главное, их базовый класс TStream, реализованы "в лоб": без всяких хитростей данные немедленно препровождаются по назначению (например, в файл). И такие операции занимают весьма значительное время (многие сотни машинных команд). Хорошо, если надо работать с "крупными" данными (килобайт и выше) - а если данные небольшие и разнообразные, замедление достигает 100 и более раз (на типе Char). Стандартный способ ускорения подобных операций - работа с массивами элементов, вводя-выводя их в/из потока сразу. Но, во-первых, это значительно сложнее поэлементных операций, а во-вторых, если элементы имеют непостоянную длину, становится ещё сложнее.

  Добавление методов и событий в компонент
Источник: codingrusKest Созданный в примере 1 компонент PrinterList отличается от своего прототипа только переопределением одного из методов родительского компонента. Такой способ изменения поведения стандартного компонента и реализации дополнительных функций нового компонента является очевидным и достаточно простым. Другой способ состоит в том, что поведение стандартного компонента улучшается путем добавления к нему собственных методов и (или) переопределения обработчиков стандартных событий.Рассмотрим первый способ на следующем примере. Пример 2. Создать компонент, который будет конвертировать текущее содержимое поля ввода в заглавные буквы, и подсчитывать количество вхождений задаваемого символа в содержимом поля ввода.Из условия примера следует, что для нового компонента в качестве родительского наиболее подходящим является стандартный компонент Edit класса TEdit. Пусть новый компонент называется NewEdit. Для реализации возлагаемых на него функций в модуль компонента добавим два метода:• процедуру ToUpper, которая будет преобразовывать текущее содержимое поля ввода в заглавные буквы;• функцию с именем GetThisCharCount, которая будет возвращать количество вхождений задаваемого символа в содержимом поля ввода.Выполнив действия пункта 3 в примере 1, создайте заготовку модуля нового компонента и добавьте в ее интерфейсную часть описания новых методов ToUpper и GetThisCharCount: unit NewEdit;interface usesSysUtils, Classes, Controls, StdCtrls;typeTNewEdit = class(TEdit)private{ Private declarations }protected{ Protected declarations }publicprocedure ToUpper;function GetThisCharCount(C: char): Integer;{ Public declarations }published{ Published declarations }end;procedure Register; implementation… В раздел реализации включите программные коды новых методов, которые могут иметь следующий вид : procedure TNewEdit.ToUpper;beginText := Uppercase(Text); end;function TNewEdit.GetThisCharCount(C: char): Integer; vari : Integer; beginResult := 0;for i := 1 to Length(Text) doif Text[i] = C then Inc(Result)end; Установите компонент NewEdit на вкладку New палитры компонентов Delphi, выполнив действия пункта 4 примера 1. Выполните тестирование нового компонента, для чего создайте новое приложение, поместите на форму компонент NewEdit, компонент Edit для ввода задаваемого символа и три кнопки. Поля ввода с помощью компонентов Label снабдите заголовками, например: "Исходная строка", "Заданный символ". Кнопкам также можно дать названия, например: "Перевод в заглавные", "Кол-во вхождений", "Выход". Для первых двух кнопок подготовьте обработчики события OnClick так, чтобы каждая из них вызывала один из добавленных методов: procedure TForm1.Button1Click(Sender: TObject);beginNewEdit1.ToUpper;end; procedure TForm1.Button2Click(Sender: TObject);beginShowMessage('Количество вхождений заданного символа '+Edit1.Text[1]+' = ' +IntToStr(NewEdit1.GetThisCharCount(Edit1.Text[1]))) ;NewEdit1.Text:=''; Edit1.Text:=''end; Запустите приложение и проверьте правильность выполнения функций нового компонента NewEdit. Выполнив действия пункта 6 (пример 1), подготовьте и зарегистрируйте в среде Delphi значок для компонента NewEdit. При создании пользовательского компонента чаще всего от него требуется такая же реакция на события, как и от того компонента, на основе которого он разработан.

  Работаем со строками
Источник: pcnextDarkmaster Сегодня мы с вами разберемся, как в Delphi можно работать со строками, мы рассмотрим ряд функций и процедур которые пришли к нам еще из самого Pascal . Некоторые из них есть только в Object Pascal . Ну что же приступим, для начала разберемся, как можно переводить строку в число и обратно. Для этого используются функции IntToStr - для перевода числа в строку и StrToInt - для перевода строки в число. Вот пример : vara,b:Integer;str:string;begina:=5;b:=1;str:=IntToStr(a+b);ShowMessage(str);end; Ну а противоположную функцию можно смело использовать например если вы хотите преобразовать строку лежащую, например в компоненте TEdit . Вот пример: vara:Integer;begina:=StrToInt(Edit1.Text)+StrToInt(Edit2.Text);Edit3.Text:=IntToStr(a);end; Следующая функция, которую мы рассмотрим, определяет длину строки. Это функция Length ( str ), где str это строка, которую мы должны измерить.

  Как уменьшить приложение написанное на Delphi в 20 раз
Источник: codingrusKest "Пустая" форма весит около 355 КБ, и этот начальный размер увеличивается с каждой новой версией Delphi. "Пустая" программа, написанная с использованием библиотеки KOL, уменьшающей размер исполняемого файла, - 32 КБ. "Чистое" консольное приложение имеет размер 8 КБ, поскольку отображается как процесс и, соответственно, не имеет сложных взаимодействий с Windows-окнами. То есть можно сделать так, чтобы по Ctrl+Alt+Del консоль не было видно :). Итак, в меню Delphi выберите File>New>Other и в появившемся окне среди прочего найдите пункт Console Application. Возникнет следующая заготовка: program Project1; //название проекта {$APPTYPE CONSOLE} //директива, указывающая на наличие консоли uses SysUtils; //подключенные модули begin //начало процесса{ TODO -oUser -cConsole Main : Insert code here } //комментарий от Borlandend. //конец процесса Ага. Это "пустое" консольное приложение.

  Embarcadero увеличила продажи Delphi и C++ за год на 54%
Источник: cnews Компания Embarcadero Technologies, производитель программных средств для разработки приложений и баз данных, объявила о том, что мировые продажи нового семейства средств RAD для разработки, включая RAD Studio, Delphi и C++Builder, увеличились на 54% по сравнению с продажами предыдущей версии в 2010 г. Для сравнения, на протяжении предыдущих трех лет продажи линейки продуктов Delphi и RAD Studio росли на 15% ежегодно. Благодаря выпуску в 2011 г. RAD Studio XE2 и FireMonkey пакет RAD Studio теперь предоставляет разработчикам на C++ и Delphi широкий набор инструментов, позволяя создавать полнофункциональные приложения для настольных и мобильных платформ с интегрированной поддержкой большинства популярных платформ баз данных, в том числе Oracle, SQL Server, DB2, Sybase, InterBase, MySQL и других, сообщили в Embarcadero. FireMonkey представляет собой новую платформу в составе RAD Studio, позволяющую компаниям создавать бизнес-приложения для Windows (32- и 64-разрядной версий), Mac и iOS с использованием графики высокой четкости и трехмерной графики. В свою очередь, RAD Studio XE2 - это высокопроизводительная среда разработки на популярных языках программирования Delphi, C++ и PHP.  "Ситуация для разработчиков приложений для Windows претерпевает изменения.

  Delphi - начало
Источник: pcnextDarkmaster В данной статье я постараюсь дать некоторые основы языка программирования Delphi, сразу же скажу, что изучить язык программирования невозможно изучить по одной статье, и даже по одной книге, для изучения языка программирования вам понадабится много сил и времени, так что запаситесь терпением, я же намерен поставить вас на путь истинный и отправить в долгое плавание в страну Delphi, страну баз данных, утилит, кода, отладки и др. Delphi это визуальная среда разработки, поддерживающая объектно-ориентированное программирование. Что значит визуальная среда? Это значит, что большую часть интерфейса нам нужно будет просто понатыкать. Здорово правда. Объектно-ориентированное программирование позволяет программисту оперировать с объектами. Объект состоит из различных свойств(цвет), событий(завершение работы), методов. В Delphi в основном нам придется работать с компонентами, это те же объекты, но которые мы видим, в общем с ними нам придется работать визуально.

  Изменение размеров массивов
Источник: codingrusKest Delphi до версии 4.0 (Хотя, начиная с четвертой версии, Delphi поддерживает динамические массивы, вставка и удале-ние элементов в середине такого массива иногда выполняется довольно долго, так как приходитьсяпереносить множество элементов, чтобы занять появившуюся пустую ячейку. Использование указа-телей зачастую решает проблему низкой скорости алгоритма.) не позволяет изменять размеры массивов. После объяв-ления размер массива остается постоянным. Однако с помощью указателей мож-но создавать массивы с изменяемым размером - динамические массивы.Сначала с помощью инструкции type следует определить тип массива с мак-симальным размером. Чтобы индексы массива начинались с единицы, нужно уста-новить его размер от 1 до 1 000 000, затем определить тип, который является указа-телем на этот массив.Для выделения памяти под массив используйте функцию GetMem. Ее второйпараметр указывает размер массива в байтах. Это значение должно быть равночислу элементов массива, умноженному на размер каждого элемента.

  Мануал по созданию компактного кода Delphi
Источник: codingrusKest Автор: Horrific aka Фленов МихаилЛюбой хакер думает о том, как сократить размер своей программы. Это же несолидно иметь вирь или троян размером в пару мегабайт. Чем больше размер кода, тем дольше он загружается в память и больше отбирает ресурсов, что очень легко может выдать твое творение. Если при написании офисных приложений мы можем забыть про оптимизацию размера, то для вирусов, троянов и твоих приколов размер кода критичен. Почему код большой? В рубрике кодинг мы рассказываем тебе про язык программирования Delphi. Программы, созданные им, получаются достаточно большого размера. С чем это связано? А с тем, что Delphi является объектным языком. В нем каждый элемент выглядит как объект, который обладает своими свойствами, методами и событиями.

  Модальные формы
Источник: codingrusKest Помимо главной формы любое приложение Windows может содержать и другие формы, одной из которых является модальная форма.Открытие форм как модальных используется в большинстве диалоговых окон. Модальная форма приостанавливает выполнение вызвавшей ее процедуры до тех пор, пока пользователь не закроет эту форму. Модальная форма не позволяет также пользователю переключить фокус курсором мыши на другие формы данного приложения, пока форма не будет закрыта. Пользователь должен выполнить предложенные ему действия прежде, чем продолжить работу.Модальной может быть сделана любая форма, если она делается видимой методом ShowModal. Если та же самая форма делается видимой методом Show, то она не будет модальной.Методы Show и ShowModal можно применять только к невидимой в данный момент форме. Если нет уверенности, что форма в данный момент видима, то прежде чем применять эти методы, следует проверить свойство Visible формы. Например: if (not Form2.Visible) then Form2.ShowModal; При выполнении методов Show или ShowModal возникает событие формы onShow. Это событие возникает до того момента, как форма действительно станет видимой. Поэтому обработку события onShow можно использовать для настройки каких-либо компонентов открываемой формы.

  Нисходящие Б-деревья в Delphi
Источник: codingrusKest Процедура добавления нового элемента к Б-дереву сначала рекурсивно отыс-кивает по всему дереву сегмент, в который нужно поместить элемент. Когда онапытается вставить новый элемент на свое место, ей может понадобиться разбитьблок и переместить один из элементов узла в его родительский узел.При возврате из рекурсивных вызовов вызывающая процедура проверяет,требуется ли разбиение родительского узла. Если не нет, то элемент помещаетсяв родительский узел. При каждом возврате из рекурсивного вызова вызываю-щая процедура должна проверять, не требуется ли разбиение следующего роди-теля. Поскольку разбиение сегментов происходит, когда процедура заканчиваетрекурсивное обращение, такой процесс называется восходящей рекурсией. Б-де-ревья, управляемые таким образом, иногда называются также восходящими Б-де-ревъями (bottom-up B-tree). Альтернативная стратегия состоит в том, чтобы разбить любые полные узлы,встречающиеся на пути вниз.

  Embarcadero Delphi XE3
Источник: EmbarcaderoEmbarcadero Delphi XE3 Задачей №1 и для независимых, и для корпоративных разработчиков сегодня является поддержка быстрорастущей совокупности различных устройств Windows и Apple, типов пользовательских интерфейсов, версий ОС и разнородных форм-факторов. Чтобы обратить это в конкурентные преимущества, компаниям нужно найти способ многократно умножить силы сотрудников отделов разработки, причем за счет технологических решений. Embarcadero Delphi XE3 представляет собой инструмент для создания платформенно-ориентированных приложений с богатым интерфейсом для Windows от XP до Windows 8 и Mac OS X Mountain Lion с поддержкой Retina, Slates и Surface Pro на основе единого исходного кода. Delphi является тем самым "мультипликатором производительности" разработчиков, позволяя существенно сократить время выпуска на рынок новых продуктов и получить значительные конкурентные преимущества и перспективные направления развития бизнеса за счет мультиплатформенных визуальных средств разработки на компонентной основе и с возможностью эффективного взаимодействия с различными базами данных и облачными сервисами. Самый быстрый путь к Windows 8 Delphi XE3 позволяет легко и просто добиться соответствия интерфейсу пользователя стилю Windows 8. С новой технологией Metropolis в Delphi вы сможете создавать приложения, адаптированные к Windows 8, включая поддержку касаний и технологии Live Tile, компоненты для взаимодействия с датчиками для эффективной работы под Windows 8 на настольных системах и планшетных устройствах x86 Surface и Slate, а также под управлением предыдущих версий Windows от XP до Windows 7. Delphi XE3 позволяет легко адаптировать существующие приложения FireMonkey и VCL к стилю Windows 8.

  Embarcadero RAD Studio XE3
Источник: EmbarcaderoEmbarcadero Embarcadero RAD Studio XE3 Задачей №1 и для независимых, и для корпоративных разработчиков сегодня является поддержка быстрорастущей совокупности различных устройств Windows и Apple, типов пользовательских интерфейсов, версий ОС и разнородных форм-факторов. Чтобы обратить это в конкурентные преимущества, компаниям нужно найти способ многократно умножить силы сотрудников отделов разработки, причем за счет технологических решений. Embarcadero RAD Studio XE3 является тем самым "мультипликатором производительности" разработчиков, позволяя быстро и визуальными методами буквально ставить на поток создание приложений для Windows 8, Mac, .NET, Web и мобильных платформ. Вы получаете Delphi, C++Builder, Embarcadero Prism и HTML5 Builder, поэтому скорость разработки минимум в 5 раз, охватывая Windows 8, Mac OS X с поддержкой дисплеев Retina и многое другое. Вы сможете существенно сократить время выпуска на рынок новых продуктов, получив значительные конкурентные преимущества и перспективные направления развития бизнеса за счет мультиплатформенных визуальных средств разработки на компонентной основе и с возможностью эффективного взаимодействия с различными базами данных и облачными сервисами. Самый быстрый путь к Windows 8 RAD Studio XE3 позволяет легко и просто добиться соответствия интерфейсу пользователя стилю Windows 8. С новой технологией Metropolis в Delphi и C++Builder"s вы сможете создавать приложения, адаптированные к Windows 8, включая поддержку касаний и технологии Live Tile, компоненты для взаимодействия с датчиками для эффективной работы под Windows 8 на настольных системах и планшетных устройствах x86 Surface и Slate, а также под управлением предыдущих версий Windows от XP до Windows 7.

  Embarcadero обеспечивает возможность создания приложений для Windows 8 и OS X на базе единого исходного кода
Источник: embarcaderoЕкатерина Макарова Delphi® XE3 и C++Builder® XE3 - мощные средства визуальной мульти-платформенной разработки приложений, соответствующих стандартам Mac и Windows, включая планшеты Slate и Surface ProСАН-ФРАНЦИСКО - 4 сентября 2012 г. -  Embarcadero Technologies анонсировала выход сразу нескольких новых релизов ключевых продуктов, обеспечивающих быструю разработку, миграцию и сопровождение нативных приложений для Windows 8 и Mac OS X Mountain Lion на основе единого исходного кода. Средства разработки Embarcadero Delphi® XE3, C++Builder® XE3 и RAD Studio XE3 позволяют корпоративным разработчикам эффективно справляться с лавинообразным ростом числа платформ для которых требуется создавать клиентские приложения. Всё большее и большее число заказчиков предпочитает приобретать программное обеспечение с поддержкой не одной платформы, а двух Win/Mac. Для независимых разработчиков и поставщиков это означает возможность не только представить свой продукт на новом растущем рынке, но и повысить свою конкурентоспособность в сегменте традиционно моноплатформенных приложений под Windows. Delphi XE3 и C++Builder XE3 в составе RAD Studio XE3 позволяют выпускать нативные приложения как для PC и планшетов Slate/Surface Pro со стилизацией интерфейса под Windows 8, часто называемым "Metro", так и для линейки компьютеров Apple под операционной системой OS X Mountain Lion с дисплеями Retina. "Сегодня факт существования Windows и Mac в IT-инфраструктуре создает беспрецедентные условия для всех разработчиков - от корпоративных до независимых", - рассказал Майкл Свинделл (Michael Swindell), старший вице-президент по маркетингу и управлению продуктами в Embarcadero.

  Embarcadero ToolCloud облегчает развертывание, управление и доступ к инструментальному ПО
Источник: bdrcДубин Решение ToolCloud обеспечивает доступ по требованию и централизованное управление продуктами Embarcadero.   Компания Embarcadero предоставляет разработчикам приложений и специалистам по управлению данными более быстрый и удобный доступ к инструментам, одновременно снижая затраты времени и труда, связанные с управлением лицензиями на ПО. Представленное сегодня решение Embarcadero ToolCloud позволяет пользователям более эффективно развертывать и управлять инструментами, необходимыми для разработки приложений и управления базами данных.   Решение ToolCloud построено на основе нового сервера лицензирования Embarcadero и представляет собой облегченное серверное ПО, размещаемое у пользователя, которое помогает администраторам централизованно управлять инструментамиEmbarcadero, составлять и применять политики лицензирования и доступа, а также развертывать средства по требованию пользователей сети. Кроме того, благодаря поддержке функции InstantOn® для всех продуктов Embarcadero пользователи могут по требованию в любое время получать доступ к нужным средствам, не устанавливая их на своем компьютере и не провоцируя конфигурационных конфликтов.   Решение ToolCloud меняет практику получения доступа к инструментам и управления ими как для пользователей, так и для администраторов. Оно поддерживает управление лицензиями с возможностью создания отчетов об использовании, гарантирует соблюдение требований путем применения политик лицензирования и позволяет без конфликтов запускать параллельно несколько версий одного инструмента. ToolCloud входит в состав решения Embarcadero® All-Access™ в рамках лицензийNetwork Named (именная сетевая) и Network Concurrent (плавающая сетевая), а также доступна для большинства отдельных продуктов Embarcadero: DBArtisan®, ER/Studio®, Rapid SQL®, Delphi® и C++Builder® и другие.

  RAD Studio XE3 - изменения в EULA?
Источник: habrahabrlubezniy Сегодня на одном из азиатских сайтов появился текст, якобы представляющий собой конфиденциальное письмо компании Embarcadero Technology своим партнёрам по поводу предстоящего введения ограничений в EULA. Привожу ниже перевод письма, а от себя добавлю, что, если сказанное там окажется правдой, то вряд ли буду апгрейдиться до XE3 - из принципа. Итак: Это письмо предназначено для уведомления партнёров Embarcadero Technology о некоторых изменениях в EULA продуктов версии XE3. В частности, использование технологий доступа к данным "клиент/сервер" в редакции Professional более не разрешено. Это ограничение распространяется на решения как Embarcadero, так и сторонних разработчиков. Пользователи редакции Professional могут легально обеспечивать в своих приложениях доступ только к локальным базам данных. Пользователи, желающие использовать клиент/серверный доступ к БД, могут заказать пакет дополнений Client/Server для своего продукта редакции Professional либо приобрести редакцию Enterprise, Ultimate или Architect.

  Типы данных в DELPHI
Источник: articlesdocument.write('.');org С помощью типов данных программист указывает компилятору, как хранить информацию в программе. При объявлении переменной необходимо указать ее тип. Одни типы уже определены в языке, другие программисту приходится задавать самому. В ранних языках программирования допускалось ограниченное число типов данных, и Pascal оказался одним из первых языков, допускающих определение в программе новых типов.Типы данных, определяемые пользователем, обычно задаются в разделе определения типов программы или модуля (unit), однако это можно делать и внутри процедур или функции. Объявления типов действуют в пределах того блока, в котором они размещены. Вне этого блока ссылаться на такие типы нельзя. Внутри же они заменяют все внешние типы с тем же именем.

  Урок 1. Инструменты от Borland. Инструменты для работы с базами данных, поставляемые вместе с Delphi.
Источник: realcodingrealcoding Урок 1. Инструменты от Borland. Инструменты для работы с базами данных, поставляемые вместе с Delphi. Для работы с базами данных нам понадобятся инструменты. Во-первых, это сам Delphi. ;) Во-вторых это Database Desktop, с помощью которого можно создать таблицу и задать ее свойства. В-третьих это SQL Explorer, который позволяет просматривать данные в таблицах, как подряд, так и выборочно.

  DELPHI и ХАКЕР. Как отомстить "врагу" средствами Windows.pas
Источник: realcodingТрофим Роцкий Делу, как известно, время, но и потехе опять же час :). При чем тут модуль Windows? А кому захочется тащить на "вражеский" компьютер софтину в 400 КБ, которая только и может, что спрятать панель задач и иконки? Правильно, тому, кто не знает свойств консольного приложения. Но мы-то с вами тянемся к знаниям ;), так что сейчас создадим полноценную программу, чьи настройки можно будет редактировать, и она будет весить ровно в 40 раз меньше, чем описанная выше. Итак, создам консольную программу [File>New>Other>Console Application]. Только чур! - шутка будет безболезненной, а то можно и в нос схлопотать.Итак, наш исполняемый файл можно будет настраивать. Логичнее всего это сделать извне, т.е. из файла с конфигом, чтобы не светиться во "вражеской" системе MS-DOS'овским окошком консоли.

  Delphi. Kylix Delphi for Linux. Перехватчики событий, сигналы и слоты.
Источник: realcodingАндрей Боровский Перехватчики событий В предыдущей статье была рассмотрена обработка событий Qt в обработчике события OnEvent Kylix класса TApplication. В этой статье будет показан другой метод обработки событий Qt - использование перехватчиков событий (event hooks). Перехватчики событий подобны обработчику события OnEvent, с той разницей, что перехватчики событий позволяют подойти к обработке событий более дифференцировано. Перехватчики назначаются для отдельных объектов Qt, причем каждому объекту может быть назначено несколько перехватчиков для обработки разных типов событий. Перехватчик может быть процедурой или функцией, являющейся методом объекта Object Pascal и использующей формат вызова cdecl. Для того, чтобы назначить перехватчик какому-либо экземпляру класса Qt, необходимо создать экземпляр класса перехватчика для данного объекта Qt и связать его с методом-обработчиком. Функции, позволяющие сделать это, как и другие функции CLXDisplay API, декларируются в модуле Qt (файл Qt.pas).

  Cтерео изображения в Delphi
Источник: welikeit Помните, раньше была такая штука, стереоскоп назывался. Ну так вот, данная штука могла делать из просто картинки стерео картинку (аля ОБЪЕМНУЮ КАРТИНКУ):) И я вдруг заинтересовался: "Каким же способом сделать такую штуку на наших боевых конях?". Прошел месяц. На руках программа и данный расказ:) Ну слушайте и внимайте слову божию:) "Зрительные пигменты глаза состоят из колбочек трёх типов, чувствительных к синему, зелёному и красному цвету."(с)Учебник биологии. Ну вот, на основе данного утверждения господа ученые разработали систему цветности для наших ПК. И получила название данная система RGB. В этой системе все цвета получаються путем смешивания синего, зеленого и красного цвета.

  Система визуального объектно-ориентированного проектирования Delphi.
Источник: articles Что может Delphi. Delphi - мощная система визуального объектно-ориентированного проектирования, позволяющая решать множество задач, в частности: Создавать законченные приложения для Windows самой различной направленности, от чисто вычислительных и логических, до графических и мультимедиа. Быстро создавать (даже начинающим программистам) профессионально выглядящий оконный интерфейс для любых приложений. Создавать мощные системы работы с локальными и удаленными базами данных Создавать справочные системы (файлы .hlp) для своих приложений. и многое другое. От Delphi 1 к Delphi 5. Delphi - чрезвычайно быстро развивающаяся система.



1 2 [ 3 ] 4 5

Главная »  Delphi 

© 2024 Team.Furia.Ru.
Частичное копирование материалов разрешено.