 |  | |  | | | Все материалы раздела Сокровищница |
Всего в разделе 251 статья
- Выпадающий список своими руками
- Компонент "полупрозрачная" графическая кнопка
- Google Maps API. Геокодирование
- Ограничение на размеры формы
- MS SQL Server + FireBird = Дружба
| [15-09-2009] | 22-06-2010 00:21 (5) Обсуждение материала | | Недавно столкнулся с проблемой, когда данные из базы данных FireBird нужно было импортировать в базу данных MS SQL Server 2000. , для того, чтобы иметь возможность делать запросы из SQL Server к FireBird, в первую очередь необходимо установить OLE-провайдер, обеспечивающего связь с БД FireBird... | | [MS SQL Server] [Гетерогенные запросы] [FireBird & Yafill] |
- Функция посылает окну строку синхронно через WM_COPYDATA
- Сериализация объектов
| [24-04-2010] | 04-05-2010 14:26 (5) Обсуждение материала | | К сожалению, встроенные механизмы и объекты Delphi не очень хорошо реализованы для поддержки сериализации на уровне объектов нижнего класса (TObject, TPersistent). Предлагается достаточно простое решение – создание базового класса на основе TPersistent, который реализует способы чтения и записи опубликованных свойств в поток и обратно. | |
- Секреты ListBox
| [01-12-1999] | 03-05-2010 13:46 (2) Обсуждение материала | | Хотелось ли вам когда-либо отображать табулированный список - несколько колонок текста? Как же нам сделать ровные колонки? Вы можете попробовать использовать пробелы, но такой метод не будет работать с пропорциональными шрифтами. Вы можете сделать owner-draw и сформировать колонки самостоятельно. Но вся эта работа не нужна! ListBox уже имеет свойство, которое позволит разершить данную ситуацию.
| | [TListBox] [Отображение списков, сеток] |
- Выделение отдельных дней на компоненте MonthCalendar
| [02-11-2004] | 29-04-2010 03:47 (10) Обсуждение материала | | После изучения доступных свойств и методов компонента MonthCalendar пришел к выводу, что решить задачу можно программным анализом изображения на календаре с последующим изменением цветов для требуемых дат. | | [TMonthCalendar] [GDI, рисование на канве] |
- Интерактивные карты Google
- Автоматизация создание BackUp-ов проектов
- Управление чужим приложением средствами WinAPI
- Как рисовать спрайты в DXDraw DelphiX
| [12-08-2004] | 16-04-2010 16:00 (1) Обсуждение материала | | Существует несколько типов спрайтов, которые можно легко использовать в
приложении. Необходимо уяснить для себя какими свойствами обладает тот или
иной спрайт (как он движется) и ограничить себя необходимым типом. | | [DirectX, DirectShow etc.] [Анимация] |
- Получение составляющих TColor
- TMySQL - компонент для доступа к MySQL
- А что, Delphi + Corel Draw даже очень ничего.
- Простой способ автоматического обновления
| [16-08-2004] | 11-03-2010 15:48 (30) Обсуждение материала | | Предлагаемый способ не требует внесения специального кода в приложение. Используются стандартные средства операционной системы. Также он предполагает участие пользователя. Точнее, процедура обновления не может выполниться, пока пользователь этого не позволит. | | [Установка ПО] [Удаленная установка] |
- Обмен информацией с модемом
| [10-08-2004] | 22-02-2010 08:16 (23) Обсуждение материала | | Мне было нужно организовать обмен данными с модемом так, как это происходит в "Свойствах Модема" на закладке "Диагностика" при нажатии на кнопку "Опросить модем". | | [Работа с модемом] [COM-порт] |
- Выполнение некоторых действий до и после компиляции проекта
| [14-02-2010] | 15-02-2010 02:42 (2) Обсуждение материала | | Позвольте представить небольшой эксперт, который добавляет в главное меню IDE Delphi пункт Run/Полная сборка и запуск. Как следует из названия, он выполняет полную перекомпиляцию проекта (команда Project/Build) и запуск приложения (Run/Run). Кроме того он позволяет выполнить некоторые действия перед и после команды Build. | |
- Размышления по поводу заблуждений…
- Копирование экрана
- API статических карт Google
- Программа для установки параметров экрана из командной строки
| [09-01-2003] | 17-01-2010 13:07 (9) Обсуждение материала | | Утилита, которая меняет параметры экрана на заданные в командной строке.
Может пригодиться дизайнерам, разработчикам софта, а так же тем, кто работает на компьютере не один, и предпочитает пользоваться своими настройками экрана. | | [Рабочие области системы] [Командная строка] |
- DELPHI WinAPI FAQ Перевод с английского
- Стеганография. Вариант ''''вшивания'''' данных в файл-картинку *.bmp;
| [05-11-1999] | 25-12-2009 13:37 (9) Обсуждение материала | | Суть подхода в следующем: скрыть какие-либо данные от постороннего глаза, спрятав их в битмэп. При этом размер файла не меняется и рисунок не разрушается.
| | [TBitmap] [Стеганография] |
- Директива компилятора - $INCLUDE
| [06-11-2002] | 25-12-2009 13:33 (33) Обсуждение материала | | Существует такая директива компилятора - {$INCLUDE filename} и её более короткий аналог {$I filename}, с помощью этой директивы можно подключать и ссылки на другие файлы программы. Поясню на примере.
| | [Компилятор, dcu-файлы] |
- Переименование группы файлов
- Окно сопровождения и управления многофазным процессом
- Превращаем главное скрытое окно программы в действительно главное окно программы
| [16-08-2009] | 16-11-2009 11:31 (26) Обсуждение материала | | Ни для кого думаю не секрет, что главным окном приложения, при подключении модуля Forms, является не ваша главная форма проекта, а невидимое окно создаваемое в TApplication. Если в ранних версиях Windows его почти не заметно, то в Windows Vista проявляется "левость" этого окна: когда вы сворачиваете программу, то в TaskBar'е, во всплывающем Preview, рисуется белое пятно с иконкой вашей программы, а не уменьшенная копия главного окна. Можно было бы сказать "спасибо, что не всегда", но мне это постоянно не давало покоя. Оно и раньше мне не нравилось, но все попытки избавиться или как-то обойти его терпели неудачу, а раз окно есть и оно, ни много ни мало, главное, windows справедливо рисует пустоту... Я не знаю исправлено ли это в новых версиях Delphi, а для Delphi <= 2006 главным и, кажется, единственным известным способом избавления от этого "позорного пятна" является сокрытие главного окна проекта, и перенос всего функционала на другую форму и присваивание этой форме стиля WS_EX_APPWINDOW. | | [Окна, оконные сообщения] [Структура VCL-приложения] |
- Модуль реализации матричных вычислений для массивов больших размеров
| [18-11-2003] | 16-11-2009 05:54 (3) Обсуждение материала | | В этом модуле «осели» все операции с матрицами и векторами, которые я использовал для работы. Но есть алгоритмы, которые многие, наверняка, увидят впервые: Divide – алгоритм прямого деления, MSqrt – квадратный корень, MAbs – абсолютная величина. | | [Массивы] [Матричное исчисление] |
- Скин-кнопка от TButton.
- Ускоренное преобразование 32-x и 64-x разрядных целых в Unicode
| [01-11-2009] | 07-11-2009 04:58 (21) Обсуждение материала | | Ускорение преобразования целых чисел в строку может быть осуществлено минимизацией числа операций получения частного и остатка от деления на 10. На 32-х разрядной архитектуре Intel, указанная минимизация может быть реализована с использованием FPU: командой FILD - преобразовать заданное целое в вспомогательное действительное число с записью его в стек и командой FBSTP - преобразование числа из вершины стека в упакованный десятичный формат и чтение из стека FPU. Дальнейшие действия сводятся к преобразованию из упакованного десятичного формата в строку. | | [Кодировки, unicode] [Вопросы скорости работы алгоритмов] |
- Модуль экспорта/импорта данных между Oracle и DBF
- Создание своего стиля в графическом интерфейсе. Продолжение темы полупрозрачных кнопок.
- Модули для рисования математических формул
- TRyMenu — собственная отрисовка меню
- Перехват нажатия на системные кнопки формы
- Компонент, позволяющий отображать формулы
- "Шаманский метод Geo"
- TdkMySqlDataSet — DataSet для TMySql
| [15-08-2009] | 09-10-2009 11:38 (5) Обсуждение материала | | По многочисленным просьбам и в большей степени для себя написал наследника TDataSet, надстройку над TMySql. | | [mySQL] |
- Блокирование документов при использовании TOleContainer.
| [29-10-2007] | 07-10-2009 23:57 (2) Обсуждение материала | | Всем известно, что при использовании OleContainerа блокируются ранее открытые документы, и невозможно с ними ничего
сделать. Недавно встал вопрос: хорошо бы иметь возможность как-то разблокировать эти документы. | | [TOleContainer] [Использование OLE] |
- Проверка нажатых функциональных клавиш
| [20-09-1999] | 04-10-2009 12:59 (5) Обсуждение материала | | Функция GetKeyState (Win32API) возвращает статус кнопки клавиатуры, переданной ей в качестве параметра. Статус определяет, что кнопка нажата(down), отпущена(up) или переключена(on/off, как например клавиши NumLock или CapsLock) | | [Ввод пользователя] [Клавиатура] [Мышь] |
- К вопросу о создании login-формы
- Окна MDI в стиле Word и Access
| [28-09-2005] | 09-09-2009 09:05 (37) Обсуждение материала | | Современные версии Microsoft Word и Microsoft Access предлагают нестандартный многодокументный интерфейс, не лишённый удобства. Естественно, многие программисты хотят реализовать подобный интерфейс в своих программах. Но сделать это на Delphi не очень просто — VCL имеет свои взгляды на то, каким должен быть пользовательский интерфейс. | | [Окна, оконные сообщения] [MDI-интерфейс] [Внешний вид в стиле ...] |
- Сплэш — показываем красиво
| [16-08-2009] | 07-09-2009 09:10 (43) Обсуждение материала | | Большинство программ (по крайне мере, из тех, что мне довелось видеть), имеющих сплэш-заставку, показывают ее в основном потоке. В том же потоке идет инициализация программы, часто довольно длительная — и в итоге сплэш либо не перерисовывается совсем, либо перерисовывается с задержкой. Почему-то меня всегда это раздражало — ну какой смысл в красивой картинке, если она так плохо рисуется? Либо не делать совсем, а уж если делать — то как следует. | | [Потоки (нити) Threads] [Splash-формы] |
- Быстрая функция для замены строк
| [28-09-2004] | 31-08-2009 01:00 (30) Обсуждение материала | | В Дельфи есть функция для замены одного образца в строке на другой - StringReplace. Эта функция позволяет заменить первое вхождение образца или все его вхождения, а также делать замену с учетом регистра букв (Case sensitive). Однако у этой функции есть один существенный недостаток: она очень медленно работает на больших строках при большом количестве вхождений заменяемого образца. | | [Поиск и сортировка] [Обработка текста] |
- Событие при потере и установке фокуса для формы.
- Добавить ''иконку'' приложения в область SysTray.
- Окно отображающее ход выполнения длительной операции
- Компоненты для подсветки синтаксиса. Альтернативное развитие.
- Преобразование денежной суммы в пропись
| [10-06-2003] | 13-08-2009 03:16 (16) Обсуждение материала | | Невизуальный компонент для преобразования денежной суммы в пропись. За образец был взят метод, используемый в 1С. Т.е. вся сумма хранится в текстовом файле. Подгружая этот файл, можно управлять выводом суммы. Таким образом в примере реализована многоязыковая "сумма прописью". | | [Сумма прописью...] |
- TVertGrid — TStringGrid с возможностью заполнения в design-time
- Работа с таблицами Word с объединенными ячейками
| [19-07-2009] | 24-07-2009 04:08 (9) Обсуждение материала | | Однажды потребовалось перевести в базу данных нормативные данные, оформленные в редакторе Word в виде таблиц. И сразу же возникли проблемы с объединенными ячейками – как заполучить данные, находящиеся в объединенных ячейках.
Но, оказывается, именно возникновение исключений при обращении к отсутствующим ячейкам и позволяет решить эту проблему. Логика простая: раз возникло исключение при обращении к какой-либо ячейке, значит с этой ячейкой не все гладко. Значит, надо этим воспользоваться. На этом принципе основана методика распознавания таблиц Word, представленная в данной статье. | | [Работа с MS Word] |
- Свои настройки Proxy в программе с TWebBrowser. Изменение в ходе выполнения.
| [04-01-2002] | 03-07-2009 21:49 (8) Обсуждение материала | | Сразу скажу, что эта статья - маленькая рекомендация тем, кто хочет реализовать возможность работы TWebBrowser в своей программе с настройками Proxy , которые отличаются от стандартных | | [TSession] [TWebBrowser] [Proxy] |
- Парсер комбинированных выражений
- Алгоритм обхода препятствий
- Компонент TComboBox с пошаговым поиском в списке
- Класс TMatrix — реализация основных действий над матрицами
| [18-04-2006] | 19-05-2009 13:40 (2) Обсуждение материала | | Класс TMatrix реализует основные действия над матрицами
действительных
чисел. Может быть применён для решения систем уравнений в матричной
форме, для различных матричных преобразований и везде там,
где производятся действия над матрицами. | | [Матричное исчисление] |
- Алгоритмы нечеткого сравнения строк. Практическое применение.
- Доступ к protected-свойству BorderWidth класса TPageControl.
- Наследник TComboBox, показывающий Hint для строки в ListBox'овой части, не видимой целиком.
- Двуязычие в народ
- База данных без BDE
| [17-09-2004] | 17-04-2009 03:58 (42) Обсуждение материала | | Вы мечтаете о базе данных, которую можно копировать вместе с экзешкой в
любое место и, при этом, не устанавливать BDE на каждом компьютере?
Наверняка, Вы читали о технологии Midas, но не до конца - вам этого не
нужно было. Зря остановились на полпути - осуществление мечты было совсем
рядом. | | [TClientDataSet] |
- Использование команды RDTSC процессора Pentium для работы с малыми временными интервалам
| [14-09-2001] | 03-04-2009 09:27 (16) Обсуждение материала | | В одной толстой книге нашел интересное использование команды RDTSC процессора Pentium для работы с малыми временными интервалами. Я думаю, что эта функция может найти широкое применение (в таймерах, управлении внешними устройствами, научных исследованиях). | | [Таймеры] |
- Алгоритм проверки контрольного числа ИНН и страхового номера ПФ
- Матрицы в Delphi
| [24-05-2001] | 12-03-2009 10:39 (17) Обсуждение материала | | В ответ на вопросы Круглого Стола, в основном, от собратьев студентов, публикую алгоритмы матричного исчисления. В них нет ничего сложного, все базируется на функциях стандартного Borland Pascal еще версии 7.0.
| | [Матричное исчисление] |
- Bat-файл в Группе проектов
- Склонение существительных после числительных в Delphi
- Редактор файлов
- Компонент MathParser
- Динамическая куча с низкой фрагментацией
| [25-05-2004] | 17-02-2009 07:19 (22) Обсуждение материала | | Совсем недавно мне пришлось писать серверное приложение на Delphi, которое довольно активно работало с базой данных и большим количеством потоков (threads). При этом я столкнулся с таким явлением, как постоянное увеличение объёма памяти, запрошенной приложением у Windows. | | [Указатели, работа с памятью] [Утечки памяти] |
- Класс TRyTimer.
- Процедуры и функции для работы с OpenOffice
| [16-02-2007] | 11-12-2008 02:17 (17) Обсуждение материала | | Все в мире развивается по спирали. Раньше программисты разрабатывали механизмы взаимодействия между Delphi и MSExcel, теперь они методом проб и ошибок создают приложения для создания документов в OpenOffice. | | [Работа с OpenOffice] |
- Работа с БД: Поиск и фильтрация.
- Компонент — цифровой индикатор
| [23-09-2005] | 02-12-2008 09:07 (4) Обсуждение материала | | Компонент — цифровой индикатор. Может отображать цифры по определенному модулю счета, например только цифры от 0..5 или шестнадцатеричные цифры (0..F). | | [GDI, рисование на канве] |
- Настройка системы через системный реестр.
- Компонент TVersionInfo для получения информации из VersionInfo проекта
- Интерактивные отчеты в FastReport
| [29-10-2008] | 07-11-2008 02:36 (16) Обсуждение материала | | Примеры создания интерактивных отчётов с помощью FastReport, которые позволяют пользователю получать более детальную информацию по выбранной строке и т.п. | |
- Убрать из формы Caption
- Создание системы голосовых сообщений из подручных средств
| [24-03-2003] | 14-10-2008 02:38 (2) Обсуждение материала | | Как видно без необходимости контролировать время наступления события не обойтись поэтому для сокращения затрат сил и времени все задачи отслеживания времени для наступления проверки условий возложим на почему-то незаслуженно игнорируемую стандартную программу Windows планировщик заданий.
| | [Таймеры] [WAV] |
- Проблемы копирования русского текста в clipboard и обратно
- Использование функции wsprintf()
- Некоторые особенности построения пользовательского интерфейса программ.Один из вариантов организации
| [22-08-2008] | 12-09-2008 08:34 (10) Обсуждение материала | | О размещении одной формы на другой форме. Альтернатива TPageControl | |
- Получить список компьютеров, подключенных к сети.
- Автоматическое определение занятости приложения
- Таблицы перекодировки Win1251 - KOI8 и их применение. Вариант 2.
- Обновление программы самой программой
- Простой объект для ведения логов
- Flexible Frame - механизм добавления к объекту произвольных характеристик без использования наследования
| [02-12-2003] | 06-08-2008 11:03 (3) Обсуждение материала | | Часто встречаются задачи, в которых все объекты могут отличаться друг от друга по структуре и алгоритмам. Описывать для каждого экземпляра отдельный тип неэффективно. Для решения этой задачи предлагается механизм Flexible Frame (гибкий каркас). | | [Наследование] [Свойства] |
- Компонент для отображения списка файлов TFileListView
- Компонент TToolTipsDBGrid — показ текста как ToolTips, если он не помещается в ячейках.
| [13-05-2005] | 20-06-2008 05:39 (20) Обсуждение материала | | Компонент TToolTipsDBGrid — показ текста как ToolTips, если он не помещается в ячейках или заголовках TDBGrid. | |
- Кнопка на основе TPanel
- Набор функций для создания диалоговых окон в стиле диалогов помощника MSOffice 2000.
- PopupADOList. Расширение возможностей компонентов от TControl.
- Компоненты HIntegrator, HDiffObject (решение систем обыкновенных дифференциальных уравнений)
| [24-05-2004] | 14-05-2008 01:59 (8) Обсуждение материала | | Два компонента для решения и визуализации решений систем
обыкновенных дифференциальных уравнений и функционалов
одной независимой переменной.
| | [Численные методы] |
- Компонент «Визуализатор спектра»
| [05-12-2006] | 23-04-2008 10:32 (17) Обсуждение материала | | Предлагаемый компонент TZSpectrView предназначен для визуального восприятия спектра аудиосигнала в реальном масштабе времени. | | [Преобразование Фурье] |
- Обработка сообщений от мыши потомками собственного компонента
- Отображение длинных строк при движении мыши по списку для нескольких TListBox.
- Компилятор математических выражений.
- Функция для представления числа прописью
- Техническая документация - список ошибок BDE
| [12-12-1999] | 16-02-2008 08:42 (5) Обсуждение материала | | Этот документ содержит список всех ошибок, которые может возвращать BDE. Эта информация может быть получена из IDAPI.H (C++) или BDE.INT(C++ Builder and Delphi
| | [BDE] [Исключения (exceptions)] |
- FloatSpinEdit. Компонент для ввода целых и дробных чисел
| [15-04-2002] | 07-02-2008 08:14 (4) Обсуждение материала | | Вводить число можно как непосредственно с клавиатуры в поле ввода, так и увеличивая/уменьшая его значение при помощи компонента типа TUpDown или клавиш Up/Down. Кроме этого осуществляется контроль допустимого диапазона вводимого числа и корректности ввода. Существует так же возможность отображения суффикса (например 'А/м'), после числа. | | [TEdit] [TUpDown] [Создание собственных компонент] |
- Расширение возможностей стандартной функции MessageDlg
| [04-07-2003] | 29-01-2008 06:53 (1) Обсуждение материала | | Функция TimedMessageBox представляет собой расширение возможностей стандартной функции MessageDlg (большая часть кода взята из нее же). Дополнительной является возможность закрытия окна сообщения по таймеру без участия пользователя (в случае его отсутствия за компьютером). | | [Таймеры] [Стандартные диалоги] |
- О назначении пользовательского TNotifyEvent
- Выделение произвольной части изображения. Принцип “волшебной палочки”.
- Аналог PivotTable (сводного отчёта) в MS Excel
- ISAPI: получение от клиента данных большого размера.
| [25-10-1999] | 16-11-2007 09:22 (1) Обсуждение материала | | При программировании ISAPI скриптов иногда возникает необходимость получения данных от клиента достаточно больщого размера. В этом случае передаваемые данные делятся на два куска - один, размером в 48к, расположен непосредственно в Request.Content и + оставшаяся часть, содержимое которой нужно дочитывать специальной функцией ReadClient. оставшаяся часть, которую нужно В справке по ISAPI (как от Inprise, так и Microsoft) очень мало информации на эту тему, не говоря уже о примерах. У MS для функции ReadClient вообще получается очень интересно:
If more than lpdwSize bytes are immediately available to be read, ReadClient will return after transferring that amount of data into the buffer. Otherwise, it will block and wait for data to become available. | | [TStringList] [TMemoryStream] [TWebRequest] [ISAPI] [HTTP/HTTPS] |
- Перехват меню IE ( TWebBrowser ) и подмена его собственным PopupMenu
- Модуль для печати таблиц TStringGrid
- Многострочный Hint
- Класс TADOExecuter
| [07-09-2007] | 12-10-2007 01:39 (35) Обсуждение материала | | Предлагаю Вашему вниманию класс TADOExecuter, позволяющий сформировать и выполнить скрипт вставки или обновления записи в таблицу.
| | [ADO] |
- Как появляются иконки в трее.
- Аналитическое вычисление производных
| [26-09-2007] | 02-10-2007 06:32 (18) Обсуждение материала | | В сокровищнице Королевства Delphi я встречал много различных реализаций
математических парсеров. Многие из них обладали достаточно широкими возможностями. Однако ни в одном из них я не нашел возможности аналитического вычисления
производных. Хочу предложить вам свою разработку в этой области. | |
- Компонент для построения простых отчетов в Excel
- TListView с сортировкой по любому столбцу
| [24-07-2007] | 30-07-2007 12:03 (9) Обсуждение материала | | Решил я написать компонент, унаследованный от TListView, с
сортировкой элементов списка, была такая задача. Причём, не с такой
сортировкой, как у родителя, а чтобы можно было по любому индексу
подэлементов сортировать весь список. Но главным было то, что эта
сортировка ведётся при кликах на заголовке в режиме отображения
vsReport, и при этом на текущей секции заголовка должна рисоваться
стрелка, указывающая направление сортировки. | | [TListView] [Поиск и сортировка] |
- Функция для представления "суммы прописью"
- Компонент для предоставления чисел прописью
- Компонент для выгрузки набора данных в дерево
- Несколько функций для работы со списками
- Перевод 'короткого' имени файла (short filename) в 'длинное' (long filename)
| [09-04-2002] | 28-02-2007 10:52 (7) Обсуждение материала | | Дело в том что существующая функция Win32 API GetLongFilename не поддерживается в Windows 95(r) и в Delphi по этой же причине не инкапсулирована.
Предлагаю свой вариант функии. Функция работает как с сетвыми, так и с локальными именами. | | [Файловая система] |
- Компонент для ввода вещественных чисел
| [03-06-2005] | 14-01-2007 03:43 (7) Обсуждение материала | | Компонент позволяет осуществлять ввод числа с заданным количеством дробных разрядов и
не превышающим заданное количество чилом целых разрядов. | | [Маски ввода] |
- Компонент "полупрозрачная" горячая кнопка.
| [11-02-2006] | 10-01-2007 01:34 (2) Обсуждение материала | | Предлагаю вашему вниманию небольшой компонент (потомок TGraphicControl),
который несколько расширяет возможности стандартного компонента
TSpeedButton. | |
- Компонент NXDBGrid, позволяющий отображать Dataset в транспонированном виде (столбцы в строках).
- Mathcad-подобная функция форматирования вещественных чисел.
| [12-12-2006] | 13-12-2006 14:43 (4) Обсуждение материала | | При написании приложения для решения научных задач я столкнулся с проблемой, что предоставляемые Delphi функции преобразования вещественного числа в строку не устраивают меня по тем или иным причинам. В Matcad’е имеется стиль форматирования, который мне казался очень удобным и хотелось использовать подобное форматирование в своем приложении.
| | [Вещественные числа] [Форматы представления данных] |
- Настройка системы безопасности DCOM сервера
- TRyPrintService — компонент для печати
- Окно с изменяемой степенью прозрачности.
- Методы лечения некоторых ошибок BDE
| [19-10-2004] | 30-10-2006 04:28 (4) Обсуждение материала | | Думаю многие сталкивались с непонятными ошибками БДЕ, которые возникали
эпизодически и далеко не на любом компьютере.
Ниже приведены ошибки с известными мне методами лечения. А для справки -
документ "Ограничения БДЕ". | | [BDE] [Исключения (exceptions)] |
- Компонент TADOUpdateSQL
- Коллекция изображений, загружаемых из ресурсов
- Комментарий к статье по поводу wsprintf
- Добавить свой пункт в системное меню приложения.
- Цветной ScrollBar
- Компонент TAnotherButton — декоративная кнопка.
- Набор классов для работы с журналом событий в WinNT/2000/XP.
| [23-05-2002] | 25-07-2006 03:55 (2) Обсуждение материала | | К набору классов прилагается пример, иллюстрирующий их работу. При написании использовались модули из библиотеки Jedi WinAPI Library (JWA).
| | [События] |
- TExcelManager
| [10-01-2003] | 10-07-2006 04:06 (5) Обсуждение материала | | Компонент предназначен для работы с таблицами Excel. Он позволяет находить любые таблицы в любом месте документа Excel и импортировать их в таблицы компонента TTable. Можно также экспортировать таблицы из TTable в документы Excel. | | [Работа с Excel] |
- Компонент 'Линия'
- Модуль для получения интервала дат
- Перенаправление вывода консольной программы
- Калькулятор(синтаксический анализатор арифметических выражений)
| [01-09-1999] | 18-04-2006 14:55 (1) Обсуждение материала | | Вычислитель выражений типа (13,5*6+78)/45+98 представленных в виде строки. Результат - переменная типа Currency.
Поддерживаются все знаки арифметики и вложенные скобки | | [Разбор и вычисление выражений] |
- Компонент SystemTray
| [25-09-2002] | 17-04-2006 16:20 (5) Обсуждение материала | | Компонент отличается от всех найденных мной аналогов. В нем не реализована только анимация (ну не нужна она мне...), зато он (компонент) САМ взаимодействует с формой и приложением. | | [Systray] [Taskbar] |
- Компонент RichMemo
| [26-02-2004] | 16-02-2006 23:43 (16) Обсуждение материала | | Для решения задачи подсветки ключевых слов компонент представляет собой альтернативу RichEdit.
Компонент полностью лишен недостатков, которые имеет в себе RichEdit
(основной недостаток мерцание при выделении слов). | | [TRichEdit] [Подсвеченный синтаксис] |
- Реализация "Уield Return" для Delphi4 - Delphi2006 (Win32).
- EasyMemory: работа с памятью.
- Массив визуальных компонентов
- Модуль для расчета числовых и логических формул
| [25-01-2002] | 11-11-2005 02:58 (13) Обсуждение материала | | Модуль предназначен для расчета любых математических или логических выражений. В него уже включен набор стандартных математических и логических функций, но можно создавать свои функции любых типов. Можно также создавать свои типы данных.
| | [Разбор и вычисление выражений] |
- MDI как Opera
- Компонент для отображения подсказок "Tip of Day"
| [03-11-2005] | 06-11-2005 21:41 (2) Обсуждение материала | | Многие разработчики программ любят показывать при старте окошко с различными подсказками и советами, так называемый "Tip of Day" - совет дня. Если Вам хочется использовать такое же в своих программах, то этот компонент может вам пригодиться.
| | [TGraphicControl] [GDI, рисование на канве] |
- Компонент TaskBarNotifier
| [18-03-2005] | 05-11-2005 05:58 (10) Обсуждение материала | | Если Вы видели в E-mule Plus или Msn Messenger, или в ряде других программ выползающее
окошко с информацией типа пользователь "Вошел в сеть" и облизывались
от зависти — ныне Вы можете встроить это чудо и в свой проект. | |
- Таблицы перекодировки Win1251 - KOI8 и их применение. Вариант 5.
- Таблицы перекодировки Win1251 - KOI8 и их применение. Вариант 3.
- Функция для получения версии Windows
- MDI в стиле... Windows
| [05-10-2005] | 21-10-2005 04:33 (35) Обсуждение материала | | Когда включается компьютер мы перед собой видим рабочий стол с красивой
картинкой и ярлыками, кнопку "пуск" и т.д.,
возможно ли сделать подобное в рамках своей программы? | |
- Компилятор синтаксических выражений
| [01-08-2002] | 11-10-2005 07:27 (6) Обсуждение материала | | Эта программа представляет собой простенький компилятор синтаксических выражений. 'Ну опять', - скажет невнимательный читатель, но мы то с тобой внимательные, и понимаем что компилятор, это совсем не то что валяется на каждом программистском сайте. | | [Компиляторы] |
- Компонент, который меняет свои размеры в режиме run-time аналогично тому, как это происходит в design-time
- Игра "Кубики"
- Системное меню по произвольному событию в произвольном месте
| [02-07-2002] | 04-08-2005 13:12 (6) Обсуждение материала | | Вот недавно хотел показать системное меню по произвольному событию в произвольном месте, читал хелп по WinAPI, повозился и обнаружил что нас обманывают и TrackPopupMenu может возвращать не только LongBool или Return Values ... | | [Работа с меню] [Системное меню] |
- Определение даты и времени компиляции
| [20-07-2005] | 27-07-2005 11:39 (4) Обсуждение материала | | Очень часто в окне “About” различных программ можно наблюдать не
только сведения о версии программы, но и дате и времени
компиляции. | |
- Парсер математических выражений с трансляцией в промежуточный байт-код
| [01-04-2005] | 24-07-2005 20:37 (22) Обсуждение материала | | Иногда в программе требуется произвести серию каких-либо однотипных расчётов. При этом очень желательно, чтобы формулу, по которой производятся вычисления, можно было задавать в процессе выполнения программы. Естественным решением является использование модуля, который бы распознавал формулу в строке и выполнял бы её. | | [Разбор и вычисление выражений] |
- Внедрение и линковка компонентов. Пример.
- Пример использования скриптлетов.
- Перенаправление StdOut в TStream
- Процедура печати TStringList на принтер
- Раскраска файла Excel по шаблону из bmp-рисунка.
- Метод ускорения локации в таблицах баз данных при использовании DxDbGrid
- Библиотека для работы с LAN
- Преобразование IPAddres(LongInt) в привычное xxx.xxx.xxx.xxx
- Реализация шаблонов в Delphi
- Алгоритм расчета контрольного числа ОГРН
| [02-12-2003] | 11-02-2005 12:49 (6) Обсуждение материала | | Государственный регистрационный номер записи, вносимой в Единый государственный реестр юридических лиц (далее - государственный реестр), состоит из 13 цифр, расположенных в следующей последовательности... | | [Шифрование, контрольная сумма, хэш] |
- ListBox с Fixed рядами и произвольными иконками для каждого ряда.
- Thread Synchronization
- Компоненты для облегчения работы с типовыми операциями поиска, выбора и фильтрации данных
- TSelectableTree - TTreeView с возможностью MultiSelect'а
- Функция приблизительного/нечеткого сравнения строк
- Обмен текстовой информацией между модулями проекта
- Компонент TRyStorage
- Компонент TsxMAPI
| [15-04-2004] | 16-04-2004 12:03 (2) Обсуждение материала | | Компонент предназначен для замены Simple MAPI вызовами непосредственно
Extended MAPI с возможностью работать в сервисах. | | [MAPI] [Сервисы системы] |
- Пример NetShareAdd , NetShareDel для Win9x
- Модуль, показывающий данные из DbGrid в виде дерева.
- Как заставить работать ActionList в формах, импортируемых из DLL
| [03-11-2003] | 31-01-2004 17:10 (12) Обсуждение материала | | При использовании форм, импортируемых из DLL, вы столкнетесь с проблемой что ActionList работать не будет до тех пор, пока вы не активизируете его обновление самостоятельно. А следовательно, обновление всех компонентов управления работать не будет.
| | [TActionList] [Размещение форм в DLL] |
- Как создать свое окно предварительного просмотра QuickReport отчетов?
| [23-11-2001] | 16-12-2003 14:45 (6) Обсуждение материала | | Внятного и простого ответа куцая документация на компонент TQRPreview не дает. И, хотя ответ на этот вопрос действительно очень прост, мне все же пришлось потратить некоторое время на его поиски, результаты которых я и привожу... | | [TImage] [TToolBar] [QuickReport] [Режим preview] |
- Класс для чтения/записи потока с преобразованием информации
| [18-11-2003] | 01-12-2003 14:26 (2) Обсуждение материала | | Работа с TCryptoStream аналогична работе с TFileStream - при создании объекта указывается режим записи или чтения. Для преобразования блоков используется внешняя функция.
| | [TFileStream] [Кодирование данных] |
- Как выставить приоритет любому процессу
- Функции для работы со строками
| [20-10-2000] | 09-11-2003 04:46 (1) Обсуждение материала | | Несколько функций для работы со строками. Они довольно простые, но может кому-нибудь пригодятся.
Разбивка строки в список и слияние списка строк | | [TStrings] [Обработка текста] |
- Библиотека, реализующая некоторые алгоритмы линейной алгебры
| [30-10-2003] | 01-11-2003 23:35 (3) Обсуждение материала | | Основным ядром, значительной части вычислительных алгоритмов (решение систем линейных и нелинейных уравнений, оптимизация), является алгоритмы линейной алгебры. | | [Численные методы] |
- Корректировка поведения маски TDateTimeField
- Выключение компьютера в заданное время
- Быстрая обработка спрайтов без применения DirectX
- 'Живой Desktop' — вариант использования Shell
| [17-07-2002] | 04-10-2003 17:28 (10) Обсуждение материала | | Разовое применение с целью разрушить устоявшееся представление индивидума о незыблемости иконок на рабочем столе. | | [Рабочий стол] |
- Восстановление баз данных InterBase
| [27-08-2003] | 09-09-2003 13:03 (1) Обсуждение материала | | Однако практика показывает, что каким бы устойчивым InterBase ни был, но при выключении питания или "зависании" компьютера база иногда таки портится. Возникают ошибки о не правильных контрольных суммах или "достигнут конец файла". | | [INTERBASE] [Восстановление данных, backup] |
- Модуль потоковой записи/чтения структуры и данных объекта TRxMemoryData.
| [25-08-2003] | 29-08-2003 15:58 (8) Обсуждение материала | | Процедуры потоковой записи-чтения позволят организовать на базе TRxMemoryData простую и гибкую систему хранения информации, удобную для реализации задач, оперирующих данными сравнительно небольших объемов, с доступом "по законам" TDataSet. | | [Библиотека RXLib] [Данные, хранимые компонентом] |
- Мониторинг создания и удаления объектов. Заготовки для сборщика мусора.
| [14-05-2003] | 22-06-2003 14:32 (7) Обсуждение материала | | Для использования мониторинга, модуль GCSystem.pas нужно включить первым в проект.
В каталоге программы создастся файл log.txt, в котором будут все выделения и освобождения памяти, а также создание/уничтожение объектов. | | [Указатели, работа с памятью] [Профайлеры] |
- Функция копирования части строки
| [20-05-2003] | 23-05-2003 10:38 (12) Обсуждение материала | | При работе со строками часто возникает необходимость копировать кусок строки от одного символа (или нескольких) до другого (других). Каждый раз использовать copy или delete не рационально, поэтому я написал небольшую функцию... | | [Функции для работы со строками ] |
- Еще раз о нечетком сравнении строк
- Странный Microsoft IIS или SSI своими руками
| [03-07-2002] | 18-04-2003 11:28 (4) Обсуждение материала | | Server Side Include (SSI) полезная и удобная вещь. Только вот почему-то ограничены ее возможности в IIS всего несколькими директивами. И тем более странно ведет себя #exec если в качестве выполнимого скрипта подставить ISAPI написанную на Delphi... | | [ISAPI] [SSI] |
- TSharedSream — класс упрощающий работу с файлом подкачки
- Открытие файлов DFM версий 5 и 6 в младших версиях
| [24-07-2001] | 08-04-2003 01:26 (5) Обсуждение материала | | Появление новых версий Delphi затруднило жизнь (программистскую) тех, кто остался верен версии 4: она не может открыть проект, созданный ее потомками | | [DFM] |
- ListBox с расшифровкой длинных строк
- Дополнительное выравнивание пропорциональных шрифтов
| [29-11-2002] | 03-03-2003 20:03 (3) Обсуждение материала | | Одним из недостатков TTF-формата является то, что ширина каждого символа является фиксированной величиной. То есть, ширина задана создателем шрифта для каждого конкретного символа и не зависит от его положения в тексте. | | [Шрифты] [GDI, рисование на канве] |
- Создание базы данных Interbase во время выполнения программы
- О нестандартном выводе в DBGrid и StringGrid
- Правильные диалоги от Борланда
- Диспетчер кучи для объектов одного размера
| [23-12-2002] | 26-12-2002 13:12 (1) Обсуждение материала | | Динамическое размещение объектов (не только экземпляров классов, а вообще) в куче имеет неоспоримые преимущества: гибкость, простота... Но у такого подхода есть недостаток, проистекающий от всеядности стандартного диспетчера кучи языка (Delphi), который и выбирает, откуда "отщипнуть" кусочек памяти. | | [Указатели, работа с памятью] |
- Пример работы с Layers Windows 2000
- Возможные проблемы при работе с TCanvas больших размеров
| [08-01-2002] | 10-11-2002 12:20 (11) Обсуждение материала | | Так получилось, что передо мной встала задачи работы с канвой (TCanvas) больших размеров (от 2000 и более точек в одном измерении). Через достаточно короткое время работы я обнаружил, что методы TCanvas иногда ведут себя некорректно. | | [TComponent] [TCanvas] [GDI, рисование на канве] |
- Функция скрытия пиктограмм с рабочего стола
| [04-09-2002] | 11-09-2002 17:26 (1) Обсуждение материала | | Заметил в софтовых архивах, что появляються shareware программы с
функцией скрытия пиктограмм с рабочего стола и эта возможность в
некоторых декларируется как одна из самых 'крутых'. Стало обидно и
смешно
одновременно, поэтому набросал примерчик для тех кому интересно. | | [Рабочий стол] |
- Проект 'Warp Button'.
- Доступ к реестру Win9x/ME без WinAPI
- DCOM permissions
| [26-10-2001] | 20-11-2001 09:40 (4) Обсуждение материала | | Технология DCOM основана на технологии COM и представляет собой ее продолжение. Основное назначение DCOM - организация взаимодействия клиента с удаленным сервером. Чтобы воспользоваться возможностями DCOM должны быть соблюдены следующие требования... | | [Настройка DCOM] |
- Использование буфера записей BDE
| [25-10-2001] | 01-11-2001 17:55 (5) Обсуждение материала | | ... Недавно понадобилось напрямую работать с буфером записей запроса (TQuery), если бы можно было использовать IBQuery проблем бы с этим не возникло, но буфер записей BDE закрыт и просто до него не достучаться.
| | [BDE] |
- Компонент градиентной раскраски областей
| [03-05-2001] | 13-05-2001 12:11 (3) Обсуждение материала | | Компонент реализует градиентную заливку для конуса, цилиндра и сферы. Как можно увидеть при внимательном рассмотрении, раскраска псевдообъемных фигур производится линейно.
| | [GDI, рисование на канве] |
- Работа с локальной сетью - NetShareAdd
- Меню на основе панели инструментов
| [20-03-2001] | нет комментариев Обсуждение материала | | Наверное многие видели меню, которое используется в MS Office или в самой среде Delphi: главные пункты выглядят как flat-кнопки -- плоские, но при перемещении над ними мыши как бы вспухающие. Кроме того, меню оформлено как панель инструментов и может пристыковываться к окну в любом месте.
Я предлагаю вариант реализации такого меню стандартными средствами VCL. | | [TFont] [TMainMenu] [TPopupMenu] [TToolBar] [TToolButton] [Работа с меню] [Меню (WinAPI)] |
- Пример работы по последовательному порту
- Таблицы перекодировки Win1251 - KOI8 и их применение. Д о п о л н е н и е
| [22-03-2001] | нет комментариев Обсуждение материала | | Где-то два года назад, я разрабатывал программу сервер для интенсивной круглосуточной работы, в том числе работы по забору и переформатированию почты. Одним из этапов форматирования являлось преобразования из koi8,iso,dos,mac в любимый win1251.
Поскольку это часто выполняемая для больших объемов данных операция, то был смысл её оптимизировать | | [TTable] [Обработка текста] [Кодировки, unicode] |
- Компоненты для работы с графикой.
- Библиотеки пользовательских функций UDF для Interbase на Free Pascal.
| [03-05-2001] | нет комментариев Обсуждение материала | | Всем известно, что возможности interbase можно расширить за счет написания пользовательских функций UDF. Но почему на Free Pascal? Есть ряд веских причин.
При переносе Вашего сервера на другую платформу, например, с win32 на FreeBSD или Linux, возникает проблема переноса также и UDF. Как известно, есть дистрибутивы Free Pascal на эти платформы.
| | [INTERBASE] [Подключаемые библиотеки функций] |
- Процедура выравнивает 'уехавшую' форму внутри рабочей части экрана
- Класс для реализации списка Variant'ов
| [10-11-2000] | нет комментариев Обсуждение материала | | Класс реализует коллекцию элементов типа Variant, которые могут интерпретироваться как Integer, String или Currency.
Динамический список этих элементов может быть именованным, где каждому элементу присваивается имя. Это условие по умолчанию
не обрабатывается, так что с этим классом можно работать просто как с динамическим списком величин типа Variant. | | [TList] [TCollection] [TCollectionItem] [Списки, коллекции] [Наследование] [Вариантные типы] |
- Сканирование доменов
- То чего не было в Паскале (или специальные арифметические функции)
| [26-11-1998] | нет комментариев Обсуждение материала | | Это не полный список всех функций малоизвестного модуля Math.
Процедуры и функции модуля Math имеют важное преимущество - они работают быстро. Большинство из них написано на ассемблерe. | | [Математические функции] |
- Регистрация приложения в SimpleService в Win9x
| [23-10-2000] | нет комментариев Обсуждение материала | | Функция регистрирует свое приложение (откуда вызвана) в SimpleService в Win9x (не будет видно в TaskManager и может работать до того, как пользователь вошел в систему, запуская из ключа реестра
HKLM\Software\Microsoft\Windows\CurrentVersion\RunServices
или HKLM\...\RunServicesOnce и продолжает работать после окончания сессии пользователя)
| | [Реестр системы, ini-файлы. ] [Сервисы системы] |
- Быстрая отрисовка BitMap в компоненте TListBox
- Проверка ситуации 'выход за границы списка' при нажатии правой кнопки на списке TListBox
| [17-11-1998] | нет комментариев Обсуждение материала | | При нажатии правой кнопки на компоненте TListBox вызывается PopUpMenu, но все пункты этого меню должны быть применены к тому элементу в списке, на котором и была нажата кнопка. Этот элемент может не быть в данный момент текущим ( то есть выделенным) и вообще, правая кнопка может быть нажата на той части компоненты, где реальный список уже закончился | | [TListBox] [TPopupMenu] [Работа с меню] [Отображение списков, сеток] |
- Отображение полных строк списка при перемещении мыши по списку
- Свои собственные hint-ы для генерации сообщений об ошибках от конкретных компонент на форме.
- Компонент TStringGrid - назначение цвета для каждой строки, вывод содержимого ячейки в несколько строк
- Модуль для коррекции проблем при работа с TPrinter
| [28-04-1999] | нет комментариев Обсуждение материала | Краткое описание модуля:
Модуль может быть использован в 16-ти и 32-х разрядных приложениях. Он был создан для коррекции следующих проблем :
1. Возникновение исключительных ситуация при обращении к published-свойствам TPrinter, таким как ''''''''Orientation''''''''
2. Неверное масштабирование шрифтов при изменении разрешающей способности (resolution) принтера.
3. Некорректная работа ''''''''Printer.Canvas.Draw'''''''' .
И дополнительно позволяет решать задачи :
1. Доступ к полям структуры ''''''''tDevMode'''''''', таким как ''''''''dmScale'''''''', ''''''''dmCopies'''''''', ''''''''dmColor''''''''.
2. Специальные настройки для печати различных вариантов
отчета из программы, когда в одном случае требуется качественная, а в другом - быстрая печать.
| | [TPrinter] [Отчеты, печать, работа с принтером] [Параметры принтера, информация о задачах принтера] [Печать графики и сложного текста, масштабирование] [Параметры отчета (ориентация бумаги и т.д.)] |
- Компонент для получения информации о BIOS
- Функция для представления суммы прописью
- DELPHI VCL FAQ Перевод с английского
- Техническая документация - список зарезервированных слов Local SQL BDE
- Использование EDBEngineError Exceptions. Перевод с английского.
| [12-12-1999] | нет комментариев Обсуждение материала | | Информация, которая описывает ошибки, возникающие при работе BDE, может быть получена приложением с помощью обработки исключения EDBENGINEERROR конструкцией try..except.
Когда возникает исключение EDBENGINEERROR, создается объект EDBEngineError и различные поля в этом объекте используются, чтобы программно определить какая именно некорректная ситуация произошла. Также, для данного исключения, может быть сгенерировано больше чем одно сообщение об ошибке. Таким образом необходимо выполнения итераций, чтобы получить всю необходимую информацию.
| | [TTable] [Exception] [BDE] [Исключения (exceptions)] |
- BDE parameters Password
| [13-07-1999] | нет комментариев Обсуждение материала | | Во время разработки приложения надоедает все время вводить пароль на доступ к БД. Пароль можно добавить в реестр, после этого он станет доступным в настройках BDE.
| | [BDE] [Логин и пароль] |
- Компонент TOraCommentsToFL — загрузка русских наименований колонок из ERwin в DisplayLabels
- 'Оконный киллер' . Пример работы с окнами средствами Win API
- Ошибка в процедуре _AddRefArray в Delphi 5 и ее исправление
| [10-01-2003] | нет комментариев Обсуждение материала | | Эта ошибка была обнаружена и исправлена "за бугром" еще в 2000 г. Однако, когда в фидо возник вопрос по этому поводу, никто не привел метода решения этой проблемы. | | [Интерфейсы COM-объектов] |
- Отправка SMS на мобильные телефоны МТС
- Определение установленных версий .NET Framework в системе
- Функция для преобразования TDecisionGrid -> TDataSet
- Модуль VHeapLow — модуль для работы с виртуальной памятью
| [03-11-2003] | нет комментариев Обсуждение материала | | VheapLow – модуль для работы с виртуальной памятью. Дает возможность хранить
информацию на диске, а обрабатывать ее как находящуюся в оперативной памяти. | | [Работа с памятью] |
- Примеры, позволяющие расширить возможности TDBGrid и TRxDBGrid
| [30-01-2004] | нет комментариев Обсуждение материала | | Быстрый поиск по колонке в DbGrig; Сортировка данных при использовании TRxQuery и TRxDbGrid; Экспорт данных из DbGrig в Excel; Выделение строк TRxDbGrid цветом с сохранением выделения после перезагрузки программы; Установка кнопки в поле DbGrig и последующая обработка события по этой кнопке. | | [TDBGrid] [Работа с Excel] [Отображение списков, сеток] |
- Пример построения графика в Excel
| [16-01-2004] | нет комментариев Обсуждение материала | | Excel имеет мощное средство для построения графиков, а разобраться, как это сделать из Delphi порой довольно сложно. Хоть и есть так называемая "запись макроса", но это не всегда помогает, т.к. в библиотеке типов и в макросе VB есть существенные отличия. | | [Диаграммы] |
- Таблицы перекодировки Win1251 - KOI8 и их применение. Вариант 1.
|
|