Перенаправление stdout в область памяти (или файл)
Автор: Алексей Кузнецов
Для перенаправления stdout в область памяти (или файл) необходимо написать небольшую конструкцию.
Редирект в память или строку (std::string)
// make stdout buffer
char buf[16384]={0};
int fdpipe[2];
// make pipe
_pipe( fdpipe, sizeof(buf), O_BINARY );
// backup stdout handle
int old=_dup(_fileno(stdout));
// replace stdout handle with write-pipe
_dup2(fdpipe[1], _fileno(stdout));
// test output
fprint(...
Уважаемые студенты,У вас есть уникальная возможность принять участие в конкурсе на прохождение летней стажировки в Microsoft. Если вы хотите принять участие в этом конкурсе, то ознакомьтесь с требованиями к стажерам, которые приведены на английском языке ниже, и присылайте ваши резюме на v-ndelma@microsoft.com, написав в поле Subject: Microsoft Internship Program. Примерные варианты резюме: Вариант 1, Вариант 2.Резюме принимаются до 2 марта 2007 года, затем начнется отбор кандидатов для финальны...
Рэй Дункан. Оптимизация программ на ассемблере.
Часть 1
Несмотря на все более широкое распространение языков
программирования и интегрированных сред программирования, оптимизация
программ на ассемблере остается актуальной темой дискуссий для
программистов. Можно упомянуть, например, форум програамистов,
проведенный сетью PC MagNet, который стал ареной многочисленых
"дуэлей": то один, то другой участник предлагал всем желающим решить
небольшую, но интересную задачу программирования - и р...
Алексей Сапегин
(сертифицированный специалист по информационным технологиям IBM Rational, компания "Аплана";
Alexey.Sapegin@aplana.com
)
Разработка ПО с целью поддержки и автоматизации бизнес-процессов сегодня становится, а во многих компаниях уже и стала частью производственного процесса. Новая концепция бизнес-ориентированной разработки в технологии IBM Rational — это именно то решение, которое нацелено на интеграцию процесса разработки с производственными процессами компании. ...
Компания Microsoft приглашает Вас посетить бесплатный семинар, который состоится в рамках серии семинаров Microsoft в городах России. Семинар «День разработчика Весна07» будет интересен широкому кругу программистов и руководителей проектов, заинтересованных в использовании современных технологий и инструментов для создания программного обеспечения. На семинаре вы узнаете о способах разработки с использованием современных технологий и инструментов Microsoft, а также сможете обменяться мнениями с ...
Выдёргивание и сохранение ресурсов в DLL или EXE.
Источник: www.divsoft.jino-net.ru
Иногда возникает необходимость вшить ресурсы в исполняемый файл Вашего приложения (например чтобы предотвратить их случайное удаление пользователем, либо, чтобы защитить их от изменений). Данный пример показывает как вшить любой файл как ресурс в EXE-шнике.
Далее рассмотрим, как создать файл ресурсов, содержащий корию какого-либо файла. После создания такого файла его можно легко прицепить к Вашему проекту...
Предполагаемая аудитория
Введение
Основные цели
Основные возможности
Зачем переходить?
Предупреждения и неожиданности
Покажите мне код!
Базовое использование
Использование объектно-ориентированного интерфейса
Подготовленные выражения
С заданными параметрами
С заданными результатами
Использование заданных параметров и результатов вместе
Резюме
Словарь терминов
Об авторе
1. Предполагаемая аудитория
Статья предназначена для читателей, имеющих некоторый опыт использования P...
Как, никто этого еще не придумал?
Не берусь судить. Вероятно, задача о том, как максимально быстро возвести действительное положительное число в произвольную действительную степень, решалась примерно столь же часто, как и вставала, - а вставала, полагаю, не раз. И все же не так давно я с ужасом обнаружил, что RTL из состава Borland Delphi последних версий (как Delphi 6, так и Delphi 7) подходит к решению не более профессионально, чем прилежный пятиклассник, впервые столкнувшийся с такой проблем...
Исходные тексты к статье
Машина с конечным числом состояний
Машина с конечным числом состояний (FSM, Finite State Machine, или как принято называть по-русски, конечный автомат, КА) представляет собой одну из наиболее полезных концепций в арсенале разработчика. Существует несколько методик реализации конечных автоматов, но, забегая вперед, хочется сказать, что достойный результат дают только те из них, которые связаны с генерацией кода. Возможности, предоставляемые последней версией ст...
Глава 1. Что
нового в Delphi4
Глава
2. Палитра компонентов
Глава 3. Типы
данных
Простые типы данных
Строковые типы
Структурные типы
Указательные типы
Процедурные типы
Глава 4. Создание приложений
Работа
с формами
Создание приложений
SDI
Создание приложений
MDI
Создание консольного
приложения
Повторное использование
приложений
Опции проекта
Передовые
технологии программирования
Глава 5. Создание
элементов управления ActiveX
Среда разработки
Delphi ActiveX (DAX)
Библио...
Довелось
мне как-то озадачиться идеей написать редактор карт для моей новой игры. Скажу
сразу, что задача эта не из простых. Приступим сразу к делу. Как правило,
в двумерных стратегических играх типа Warcraft, Heroes of Might and Magic,
Z и т. д. карты строятся из ячеек. Иными словами, карта - это матрица с некоторыми
числовыми значениями внутри ячеек. Эти значения есть номера текстур( растровых
картинок с изображениями земли, воды, камней и т. д., из которых и будет склеива...
Lotus Notes / Domino – прекрасная платформа для создания мощных корпоративных
информационных систем, ориентированных на групповую работу с электронными
документами. В своей работе над комплексной медицинской информационной системой
"Кондопога" мы на основе тщательного анализа средств разработки и
имеющихся на рынке СУБД выбрали Lotus Notes / Domino в качестве основы всей
системы. Разработка осуществляется с 1999 года, за это время мы постепенно
перешли с версии 4.6 на версию R 5, а з...
Введение
В данной части будет рассмотрено применение клиентских наборов данных в dbExpress. Согласно иерархии классов в Kylix к клиентским наборам данных относятся классы TSQLClientDataSet и TClientDataSet. Последний из них является частью технологии MIDAS. Так как на сегодняшний день поддержка данной технологии в Kylix до конца не реализована, то основное внимание мы уделим рассмотрению TSQLClientDataSet.
Компоненты класса TSQLClientDataSet предназначены для создания двухзвенных приложений кл...
Здесь представлен простой компонент ,
имитирующий трехмерный светодиод (LED). Можно
устанавливать состояние Включено/Выключено. При
изменении состояния доступно Событие
"OnChange".
Надеюсь компонент вам понравится!
Начнем с создания нового проекта, сохраним его в
отдельной директории и продекларируем некоторые
вещи для нашего светодиода.
type
TdsLed1 = class(TGraphicControl)
private
FOnColor: TColor;
FOffColor: TColor;
FLedOn: Boolean;
FOnC...
Введение
Данная статья посвящена созданию приложений архитектуры клиент/сервер в
Borland Delphi на основе сокетов ("sockets" - гнезда).
В отличие от предыдущей статьи на тему сокетов, здесь мы разберем создание
серверных приложений.
Следует сразу заметить, что для сосуществования отдельных приложений клиента
и сервера не обязательно иметь несколько компьютеров. Достаточно иметь лишь
один, на котором Вы одновременно запустите и сервер, и клиент. При этом нужно
в качестве имени к...
Введение
Базы данных являются удобным средством хранения структурированной информации. Однако само по себе накопление и хранение информации делает базу данных большой кучей мусора. Удобно организованный поиск и отбор информации способен резко повысить эффективность ее использования. В данной статье мы попытаемся разобраться в методах поиска информации, реализованных в Delphi. Предполагается, что Вы в общих чертах знакомы с теорией реляционных баз данных и имеете некоторый опыт программировани...
Введение
Вне зависимости от того, хотим мы этого или нет, но прогресс движется
дальше, появляются все новые технологии, новые процессоры, новые "высоты"
производительности. В связи с этим, все чаще программистам приходится
разрабатывать программы, которые используют сложные операции, в которых
важна скорость и которые выполнялись бы одновременно с другими. Этому
вопросу как раз и посвящена данная статья - создание многопоточных
приложений (со множеством дочерних процессов, которые...
Программист,просыпаясь утром с сильнейшего
похмелья,начинает с тестирования памяти...
Недавно занимаясь интересной задачкой по написанию службы
индексации, столкнулся с интересным вопросом: " А как бы нам поиск
заморозить и продолжить после (через минуту, завтра, через месяц)?".
Да конечно можно сказать - что у тебя за машина такая, вот у меня
дерево каталогов обходит за 3 минуты... Согласен, это не вопрос. Но
когда нужно не просто обходить, а еще и выполнять некоторые де...
delphi.xonix.ru
Причиной написания этой статьи, как не странно,
стала необходимость написания своего сервиса. Но
в Borlandе решили немного "порадовать" нас,
пользователей Delphi 6 Personal, не добавив возможности
создания сервисов (в остальных версиях Delphi 5 и 6
эта возможность имеется в виде класса TService).
Решив, что еще не все потеряно, взял на проверку
компоненты из одноименного раздела этого сайта.
Первый оказался с многочисленными багами, а до
пробы второг...
( Перевод одноимённой статьи с сайта delphi.about.com )
В статье рассматривается работа с бинарными
файлами из Delphi, а так же использование Object Pascal для
управления записью, чтением и изменением
собственных типов файлов.
Постановка задачи: Допустим, мне нужно в
приложении Delphi сохранять некоторую информацию
на диск. Мне не охото работать с текстовыми
файлами, так как просмотр и обновление
информации в них довольно муторное занятие.
Преобладать будут операции записи и чтения, ...
В настоящее время мне, по работе, потребовался компонент DBGrid, который бы удовлетворял следующим требованиям: создание многострочных заголовков; простота применения; небольшой размер и отсутствие признаков "большого интеллекта"; полная бесплатность или условно-бесплатность VCL-компонента; Как обычно, начав поиск в Internet с Яндекса, я увы не нашел конкретного ответа: все что-то хвалили, но чаще всего взломанное или для Delphi 2, 3 и 4. Следующий шаг в поиске...
Эту статью можно рассматривать как продолжение или дополнение к моей первой статье о компоненте TwebBrowser - Как сделать WebBrowser средствами Delphi 5.
В конференции я часто натыкался на вопросы типа – "Как добавить свой пункт меню в контекстное меню IE, как это делает ReGet", "Как запретить появление контекстного меню в TwebBrowser” или "Как показать свое меню вместо стандартного". А вот ответов в большинстве случаев не было, или они советовали попробовать другие компоненты. Но когда мне с...
Ошибки - неизбежное зло программирования. Видимо, пока трудно даже представить средство с помощью которого можно избавится от них. Человеку, который выдумает это чудодейственное лекарство, благодарные потомки-программисты, несомненно, воздвигнут памятник. Пока же остается лишь заниматься обычным делом: ловлей багов.
"Нарушение Доступа" - фраза, которую пользователи видят, когда приложение делает попытки обратиться к памяти, которая не обозначена для их использования - и как следствие происходи...
Введение
Данный документ - выдержки из отчета о BorCon2000. Источник http://www.xapxone.com/html/borcon2000_report.htm. Переведены куски, отнсящиеся к новым возможностям Delphi. Заранее приношу извинения за не очень качественный перевод.
Новые возможности
Новые версии Delphi/C ++ Builder выглядят перспективными.
Code Insight дополнен новыми возможностями.Автоматическое завершение кода работает теперь внутри декларации класса, и будет иметь список перебора изменяемого размера.
Runtime lib...
В Delphi 5.0 появились компоненты для работы с Microsoft® ActiveX® Data Objects (далее ADO). ADO это технология стандартного обращения к реляционным данным от Microsoft. Эта технология аналогична BDE по назначению и довольно близка по возможностям.
Следует отличать компоненты Delphi, являющиеся частью библиотеки визуальных компонентов Delphi (VCL), и интерфейсы и объекты ADO, которые в них инкапсулированы.