![]() |
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]() ![]() ![]() |
|
p0s0l |
|
|||
![]() Г-н Посол ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 3668 Регистрация: 13.7.2003 Где: 58°38' с.ш. 4 9°41' в.д. Репутация: 58 Всего: 112 |
Не раз уже встречал случаи, когда кто-нибудь хотел выложить какие-то свои наработки в Delphi: модули, исходники, компоненты, может еще что-то. Предлагалось создавать отдельный раздел, но пока не понятно, будет ли от этого толк. Пока что создаю эту тему. В дальнейшем же будет видно насчёт отдельного раздела исходников по тому, какая тут будет активность, и как к этому отнесётся Admin.
Единственное правило - в этой теме не флеймить, тут оставлять только краткое описание модулей и ссылки к ним. Можно скинуть мне на мыло (кнопка E-Mail под моим постом) файл, и я его прикреплю к вашему сообщению при первой же возможности... -------------------- С уважением, г-н Посол. |
|||
|
||||
p0s0l |
|
|||
![]() Г-н Посол ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 3668 Регистрация: 13.7.2003 Где: 58°38' с.ш. 4 9°41' в.д. Репутация: 58 Всего: 112 |
Модуль работы с ресурсами в PE файлах by Alex:
http://forum.vingrad.ru/index.php?showtopic=21183 - Извлечение иконок из ресурсов - Добавление нового ресурса - Изменение существующего ресурса - Удаление ресурса - Работа с ресурсами различных языков - Работает в любой версии Windows - И другое -------------------- С уважением, г-н Посол. |
|||
|
||||
SlaUr |
|
||||||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 408 Регистрация: 18.9.2003 Репутация: 3 Всего: 5 |
"Системный модуль"
"Модуль для работы со строками"
"Зачатки модуля для работы с графикой"
"Зачатки модуля для работы с 2000/XP"
"Примеры"
Зайти на сайт Это сообщение отредактировал(а) SlaUr - 22.1.2007, 07:02 |
||||||||||
|
|||||||||||
Alex |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4147 Регистрация: 25.3.2002 Где: Москва Репутация: 80 Всего: 162 |
Функции для записи и чтение своих данных в, ЕХЕ- файле
http://forum.vingrad.ru/index.php?act=ST&f...=21513&unread=1 Модуль состоит: 1. AppendStringToFile - Дописывает строку к файлу 2. AppendedStringFromFile - Возвращает строку дописаную к файлу процедурой AppendStringToFile -------------------- Написать можно все - главное четко представлять, что ты хочешь получить в конце. |
|||
|
||||
Alex |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4147 Регистрация: 25.3.2002 Где: Москва Репутация: 80 Всего: 162 |
Модуль для упрощенного вызова сообщений
http://forum.vingrad.ru/index.php?act=ST&f...=21766&unread=1 Модуль служит для вывода диалоговых окон посредством Windows.MessageBox. -------------------- Написать можно все - главное четко представлять, что ты хочешь получить в конце. |
|||
|
||||
Akella |
|
||||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 36 Всего: 329 |
Процедура поиска по всем полям
Пример использования
|
||||
|
|||||
OlegFPM |
|
|||
Новичок Профиль Группа: Участник Сообщений: 35 Регистрация: 27.4.2004 Репутация: нет Всего: нет |
Delphi и Microsoft Office
Если нужно решить какуе то задачу для Word или Excel, на Делфи и вы не знаите как это сделать,то вот простое решение : Откройте Word или Excel, запустите на запись макрос. Решите поставленную для вас задачу, закройтье макрос. Дальше нажмите сочитание клавишь Alt+F8, выбирите ваш макрос, по идеи он там будит один. Нажимаите кнопку "Войти" (уменя русский офис) и перед вами предстанит тело вашего макроса. Этот текст надо будит перенести в Делфи, но не Ctrl+C и Ctrl+V, а ту последовательностть функций, которая там идет, с параметрами могут возникнуть праблемы. Дело в том что VBA иногда опускае параметры, прочтите MSDN!!!!, а в делфи этот номер не пройдет. Так же для некоторых ф-ций, количество параметров увеличено. Я столкнулся с такой проблемой, когда мне надо было сделать график, в VBA они вообще не передавались,а в делфи их было 6 штук. |
|||
|
||||
LENIN INC |
|
|||
Unregistered |
LENIN INC WIN32API Library v1.0 (build 11.05.04), Модули для создания программ на WIN32API
Вашему вниманию предлагаються модули для создания программ на чистом WIN32API в DELPHI (all version). Все функции и процедуры 100% работают в Win9X/ME/NT/2000/XP. Подробнее на странице - LENIN INC WIN32API Library v1.0 (build 11.05.04) Суважением, автор. |
|||
|
||||
RA |
|
|||
![]() Брутальный буратина ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3497 Регистрация: 31.3.2002 Где: Лес Репутация: 14 Всего: 115 |
Маленький простенкий протектор для UPX'а.
Присоединённый файл ( Кол-во скачиваний: 300 ) ![]() |
|||
|
||||
Slawanix |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 177 Регистрация: 29.7.2004 Где: г. Великие Луки Репутация: нет Всего: 1 |
Процедура для тех, кто пишет синхронизатор фалов, она ищет, сортирует файлы и добавляет в таблицы StringGrid.
http://forum.vingrad.ru/index.php?showtopi...ndpost&p=193439 есть мнения?.... Это сообщение отредактировал(а) Slawanix - 3.8.2004, 23:57 --------------------
моск кипит |
|||
|
||||
Dynamic |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 372 Регистрация: 5.7.2004 Где: Салехард Репутация: 12 Всего: 15 |
Модератор: Сообщение скрыто. -------------------- Было бы о чем молчать, а уж что сказать – всегда найдется... |
|||
|
||||
The MASTER |
|
||||||||
Old master) ![]() ![]() Профиль Группа: Участник Сообщений: 862 Регистрация: 19.7.2004 Где: Санкт-Петербург Репутация: 2 Всего: 5 |
Пример работы с MS Agent:
Для начала добавить компонент TMicrosoftAgent, для этого нажимаем: Component -> Import ActiveX Control -> ищешь "Microsoft Agent Control 2" или что-то вэтом роде, далее нажимаешь Install, затем заходишь на вкладку компонентов ActiveX, оттуда кидаешь на форму компонент TAgent и далее код:
В событие формы onCreate добавить:
Далее создать новую кнопку и ввести:
Взять персоонажа можно либо из приложения Microsoft Office, либо из папки: C:\WINDOWS\srchasst\chars, от туда в папку со своим проектом копируй файл rover.acs, переименуй его в Offcat, первая буква "О" обязательно большая! Всё удачи, если будут проблемы пиши сюда! Это сообщение отредактировал(а) The MASTER - 6.3.2005, 13:59 |
||||||||
|
|||||||||
Akella |
|
|||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 36 Всего: 329 |
нужно найти номер позиции второго символа "/" из строки "17/32/16"
![]() Это сообщение отредактировал(а) dsergey - 16.9.2004, 09:00 |
|||
|
||||
The MASTER |
|
|||
Old master) ![]() ![]() Профиль Группа: Участник Сообщений: 862 Регистрация: 19.7.2004 Где: Санкт-Петербург Репутация: 2 Всего: 5 |
Вот Примерчик сортировки!
Это сообщение отредактировал(а) p0s0l - 2.10.2004, 00:14 Присоединённый файл ( Кол-во скачиваний: 134 ) ![]() |
|||
|
||||
Петрович |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1000 Регистрация: 2.12.2003 Где: Москва Репутация: 25 Всего: 55 |
В архиве:
ufExSpellCheck.pas + ufExSpellCheck.dfm Пример использования проверки граматики Word'а из Delphi. Реализовано два подхода. Рекурсивный просмотр директорий.txt "рыба" для рекурсивного просмотра и обработки каталога DirName с подкаталогами. Это сообщение отредактировал(а) p0s0l - 2.10.2004, 00:17 Присоединённый файл ( Кол-во скачиваний: 229 ) ![]() -------------------- Все знать невозможно, но хочется |
|||
|
||||
ДЫМ |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 224 Регистрация: 6.1.2004 Репутация: 8 Всего: 8 |
Компонент LSVGauge является альтернативой стандартным
компонентам Gauge и ProgressBar При помощи этого компонента можно создавать графические индикаторы с оригинальным визуальным оформлением: 1) управление цветом частей текста на полосе и на фоне; 2) заполнение фона и полосы изображениями; 3) установка прозрачности заливки; 4) произвольная форма индикатора; 5) полоса с краями; 6) вывод целых блоков (в стиле ProgressBar, причем конфигурация блоков может быть практически любой); 7) режим "бегущей полосы", когда число повторений цикла неизвестно (возможность анимации полосы, титры на фоне см. пример); 8) простейшая трехмерная круговая диаграмма (Kind=Pie3D); 9) индикатор в стиле Partition Magic (текст центруется по текущей ширине (высоте) полосы) Может пригодиться тем, кто использует в своих приложениях сменные шкуры. http://www.lsvhost.narod.ru/LSVGauge.zip |
|||
|
||||
p0s0l |
|
|||
![]() Г-н Посол ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 3668 Регистрация: 13.7.2003 Где: 58°38' с.ш. 4 9°41' в.д. Репутация: 58 Всего: 112 |
Модератор: Прошу не флеймить и не оффтопить в этой теме! Левые посты в скоре будут удалены. Все личные сообщения пишите через PM.
Также прошу не выкладывать огроменные тексты прямо тут - либо присоединяйте файл к ответу, либо давайте ссылку на исходник! Иначе неудобно просматривать тему! Кто не может присоединить файл к ответу (т.е. не является участником клуба), или не знает как выложить в инете свой файл - просто пока запостите в эту тему пост про свой исходник и по мылу вышлите мне сам исходник - я его присоединю к вашему посту при первой же возможности. Чтобы написать мне письмо, жмите кнопку "E-Mail" внизу под моим постом... -------------------- С уважением, г-н Посол. |
|||
|
||||
Akella |
|
||||||||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 36 Всего: 329 |
Отправка файлов в корзину
в секцию private
в секцию USES
использование
Это сообщение отредактировал(а) dsergey - 1.10.2004, 09:44 |
||||||||
|
|||||||||
Girder |
|
|||
![]() Лентяй 2 ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1993 Регистрация: 12.5.2004 Репутация: 31 Всего: 155 |
Универсальная функция для обращения к любым экспортируем функциям DLL, внутри адресного пространства чужого процесса.
При этом возвращает как результат работы функции так и обработает все указатели на данные (т.е. к примеру в function ImageList_GetIconSize(ImageList: HIMAGELIST; var CX, CY: Integer): Bool - также вернет CX и CY). Идею обращения к функции, внутри чужого процесса, предложил p0s0l, но к сожалению код был реализован только под одну функцию. Функция:
PS: Писал ночью... ![]() ![]() В архиве: Inject.pas - сама функция Example.pas -Пример использования: - Выдираем в WinXP иконки из трея и добавляем их в ImageList и отображаем их в TreeView... 13 октября 2006: Поправил пример ![]() Присоединённый файл ( Кол-во скачиваний: 126 ) ![]() -------------------- Как слышим, так и пишим. Истина где-то там... |
|||
|
||||
Pathfider |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 128 Регистрация: 13.7.2004 Где: все там же Репутация: -1 Всего: 1 |
Накатал тут програмку от нечего делать. Можно использовать в качестве дневника или для ведения конфеденциальных записей. Применял свой алгоритм шифрования. Работает везде (по идее), тестировалась на WinXP SP2. Если будут какие либо предложения или замечания, пожалуюста напишите!
Присоединённый файл ( Кол-во скачиваний: 271 ) ![]() --------------------
Trust is a weakness |
|||
|
||||
p0s0l |
|
||||||
![]() Г-н Посол ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 3668 Регистрация: 13.7.2003 Где: 58°38' с.ш. 4 9°41' в.д. Репутация: 58 Всего: 112 |
И я выложу (раз уж доделал) свою версию
![]() В модуле две основых функции: RemoteCall и AsyncRemoteCall - вторая асинхронная (работа потока не останавливается), результатов не возвращает.
FuncName - имя функции, LibName - имя DLL Params - параметры вызываемой функции. Передача параметров осуществляется двумя способами: ByVal - по значению, и ByRef - по ссылке Функция возвращает результат вызова функции в чужом процессе. Пример 1:
Пример 2:
Присоединённый файл ( Кол-во скачиваний: 149 ) ![]() -------------------- С уважением, г-н Посол. |
||||||
|
|||||||
Dr Smth |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 100 Регистрация: 11.10.2004 Где: New Podrezkovo Репутация: нет Всего: 1 |
При составлении программ часто возникает ситуация, когда нужно что-нибудь подсчитать, и вывести результат в виде: ЧИСЛО + СЛОВО. Причём СЛОВО обозначает то, что, собственно, и нужно подсчитать. Например, нужно вывести число строк в списке TListBox в формате: 'N слов'. Благодаря особенностям великого и могучего русского языка и тому, что число N заранее неизвестно, может меняться и вычисляется самой программой, заранее также неясно в каком падеже нужно ставить следующее за числом слово.
Если плюнуть на это и написать просто: N + ' слово', то при расчётах получим малограмотные конструкции типа '17 слово' и '3 слово'. Между тем избавиться от данной ситуации довольно просто. Я тут поразмыслил, и написал функцию, выбирающую из трёх падежей нужный. Возможно не самый оптимальный вариант, но всё же... Для более детального ознакомления смотрите комментарии в коде.
|
|||
|
||||
Girder |
|
|||
![]() Лентяй 2 ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1993 Регистрация: 12.5.2004 Репутация: 31 Всего: 155 |
Функция поворота изображения на заданный угол через DIB.
Функция:
В архиве: Сама функция и пример использования Это сообщение отредактировал(а) Girder - 12.11.2004, 23:56 Присоединённый файл ( Кол-во скачиваний: 133 ) ![]() -------------------- Как слышим, так и пишим. Истина где-то там... |
|||
|
||||
p0s0l |
|
|||
![]() Г-н Посол ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 3668 Регистрация: 13.7.2003 Где: 58°38' с.ш. 4 9°41' в.д. Репутация: 58 Всего: 112 |
С помощью этого модуля можно прочитать или записать в файл, который уже открыт, даже эксклюзивно! (Но файл и не обязательно должен быть открыт
![]() Но: * работает в NT (тестил в XP, в 2k - не тестил) * нужны права администратора * к файлу должен быть разрешен доступ FILE_READ_ATTRIBUTES (единственное, что не получилось пока прочитать - это файлы подкачек) * тестил на: NTFS, FAT32 (FAT16 теоретически должен поддерживаться) * при записи нужно учитывать работу кэша... * также, следует понимать, что размер файла нельзя изменить, т.е. дописать что-то в конец файла, или обрезать файл... В модуле 3 функции (названия говорят сами за себя):
Offset - смещение внутри файла в байтах, откуда будет происходить чтение/запись Size - размер данных для записи/чтения (в байтах) Buf - указатель на буфер В архиве лежит этот модуль и пример. В примере .exe сам себя изменяет - считается количество запусков программы... Присоединённый файл ( Кол-во скачиваний: 320 ) ![]() -------------------- С уважением, г-н Посол. |
|||
|
||||
RA |
|
|||
![]() Брутальный буратина ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3497 Регистрация: 31.3.2002 Где: Лес Репутация: 14 Всего: 115 |
Пример реализации Русско-Английского KeyLoggera Средствами WinApi
Присоединённый файл ( Кол-во скачиваний: 287 ) ![]() |
|||
|
||||
RA |
|
|||
![]() Брутальный буратина ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3497 Регистрация: 31.3.2002 Где: Лес Репутация: 14 Всего: 115 |
* Пример внедрения длл в чужой процесс
* Пример перехвата функций Api: FindNextFile..., RegEnumValue..., FormatMessage..., WinExec..., ShellExecute..., CreateProcess... . Таким образом можно скрывать имена файлов, ключи в реестре, открытые порты, и запрещать запуск определённых файлов. Присоединённый файл ( Кол-во скачиваний: 428 ) ![]() |
|||
|
||||
BSV_Sergey |
|
|||
Новичок Профиль Группа: Участник Сообщений: 33 Регистрация: 19.11.2004 Где: г. Москва Репутация: нет Всего: 3 |
Привет всем.
Пока не разобрался как добавить к сообщению файлы. Если кто-нибудь озадачится вызовом отчетов Crystal Reports из приложения без установленного Crystal-а то для этого необходимо: 1. К проекту подключить модуль CRDelphi.pas,содержащий описание функций и типов для работы с Crystal Report Engine API. Модуль включен в дистрибутив CR 9.0 \\Tools\Developers 2. Библиотека содержащая функции CR API – crpe32.dll 3. Кроме того для работы программы без Crystal-а необходимы следующие библиотеки: crqe.dll, Implode.dll, querybuilder.dll, ufmanager.dll и также библиотеки используемые отчетом для подключения к источнику данных. 4. Так же необходимо внести изменения в реестр, чтобы программа могла использовать функции Crystal Report Engine. В разделы: [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{BDE2D224-27E0-4925-A4E1-F5F38A191ABC}] [HKEY_CLASSES_ROOT\CLSID\{BDE2D224-27E0-4925-A4E1-F5F38A191ABC}] 5. Пример использования функций CR API в программе (Пример урезанный):
6. !!!!! ВАЖНО. При завершении работы приложения или во время его работы (зависит от того, сколько отчетов пользователь может просматривать одновременно) необходимо организовать выполнение процедуры PECloseEngine, иначе выдастся ошибка. При этом PECloseEngine нужно вызвать столько раз, сколько раз был запущен PEOpenEngine. Я постарался сделать описание крадким, если данная тема интересна и нужна подробная информация, пишите на E-mail. Это сообщение отредактировал(а) BSV_Sergey - 2.12.2004, 14:24 |
|||
|
||||
Alex |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4147 Регистрация: 25.3.2002 Где: Москва Репутация: 80 Всего: 162 |
Получение длинного пути из короткого:
-------------------- Написать можно все - главное четко представлять, что ты хочешь получить в конце. |
|||
|
||||
Girder |
|
|||
![]() Лентяй 2 ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1993 Регистрация: 12.5.2004 Репутация: 31 Всего: 155 |
OpenThread - Функция получения дескриптора потока по его идентификатору для Win 9X,ME,WinNT All.
PS: данная функция присутствует только в старших версиях NT и ME, в младших версиях есть NTOpenThread. При этом в Win 9X - её вообще нет... ![]() Функция:
В примере рассматривается алгоритм поиска потока отвечающий за панель задач. Основан он на том что если поток остановить(а для этого мы должны получить дескриптор потока с соответствующими правами) и обратится к его любым методам и свойствам из другого потока, то поток инициатор обращения тоже "как бы уснет"... ![]() ![]() ![]() В архиве: сама функция и пример её использования... ![]() Это сообщение отредактировал(а) Girder - 3.12.2004, 13:27 Присоединённый файл ( Кол-во скачиваний: 110 ) ![]() -------------------- Как слышим, так и пишим. Истина где-то там... |
|||
|
||||
Dr Smth |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 100 Регистрация: 11.10.2004 Где: New Podrezkovo Репутация: нет Всего: 1 |
Модуль позволяющий, любые конвертации между темперетурными шкалами Цельсия, Фаренгейта, Ренкина и Реомюра.
Всего 20 функций, названия которых гроворят сами за себя:
Присоединённый файл ( Кол-во скачиваний: 103 ) ![]() |
|||
|
||||
ДЫМ |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 224 Регистрация: 6.1.2004 Репутация: 8 Всего: 8 |
Иллюстрированный самоучитель по Delphi 7 для профессионалов
Этот самоучитель попал ко мне в виде набора HTML-страниц, что было неудобно в использовании. Я скомпилировал документ в формат chm, добавил оглавление и полнотекстовый поиск. Очень хороший самоучитель как для тех, кто серьезно занимается программированием на Delphi, так и для начинающих. Помимо всего прочего chm-файл содержит архив примеров к самоучителю с исходниками. Скачать 3,21 Мб |
|||
|
||||
Петрович |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1000 Регистрация: 2.12.2003 Где: Москва Репутация: 25 Всего: 55 |
Один из моих наиболее часто используемых библиотечных модулей.
Тут в основном функции работы со строками, но попадаются и некоторые другие. Может кто то найдет что-то интересное для себя. Это сообщение отредактировал(а) Петрович - 21.1.2005, 11:30 Присоединённый файл ( Кол-во скачиваний: 350 ) ![]() -------------------- Все знать невозможно, но хочется |
|||
|
||||
Петрович |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1000 Регистрация: 2.12.2003 Где: Москва Репутация: 25 Всего: 55 |
Многие кто писал консольные приложения наверное сталкивался с такой проблеммой:
В окне консоли используется кодировка OEM, т.е. DOS-кодировка. Поэтому, если в программе написать:
то в консольно окне мы увидим "кракозябры" вместо русских букв. Это потому, что в Delphi программе естественно используется кодировка Windows. Есть еще одна проблема: Если в консольной программе возникает исключительная ситуация (Exception), то это вызывает малопонятное для клиента окно сообщения о системной ошибке в приложении. Мне приходилось часто писать консольные приложения. Так вот, что бы не заниматься постоянной перекодировкой и не заботиться об необработанных программой исключениях, я написал свой модулек awConsole. Просто добавление этого модуля в проект вызывает несколько изменений в поведении программы: 1. Весь консольный ввод/вывод осуществляется в кодировке OEM; Достигается это подменой "драйвера" обслуживания консольных файлов Input, Output, ErrOutput. 2. Исключения не обработанные программой вызывают окно сообщения вместо системной ошибки. Ну и есть там еще несколько полезных и не очень полезных функций. Это сообщение отредактировал(а) Петрович - 21.1.2005, 11:30 Присоединённый файл ( Кол-во скачиваний: 162 ) ![]() -------------------- Все знать невозможно, но хочется |
|||
|
||||
Петрович |
|
||||||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1000 Регистрация: 2.12.2003 Где: Москва Репутация: 25 Всего: 55 |
А вот еще, уже просто выдержки из библиотеки:
интерфейс:
Реализация "пристегнута" А вот пример полезного использования:
И еще:
Соответственно требуется SetReadOnlyAndColor:
Это сообщение отредактировал(а) Петрович - 21.1.2005, 11:47 Присоединённый файл ( Кол-во скачиваний: 78 ) ![]() -------------------- Все знать невозможно, но хочется |
||||||||
|
|||||||||
Петрович |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1000 Регистрация: 2.12.2003 Где: Москва Репутация: 25 Всего: 55 |
Ну, пожалуй еще один модуль, и достаточно на сегодня
![]() Модуль awNetwork пристегнут, а реализует он следующие функции:
Присоединённый файл ( Кол-во скачиваний: 179 ) ![]() -------------------- Все знать невозможно, но хочется |
|||
|
||||
Петрович |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1000 Регистрация: 2.12.2003 Где: Москва Репутация: 25 Всего: 55 |
А вот еще модуль. Его я обычно использую для измерения времени исполнения процедур и даже отдельны фрагментов кода. Разрешающая способность составляет 1 такт процессора. Точность измерения конечно ниже, поскольку зависит от работы кэша процессора. Но она все равно значительно выше нежели все остальные известные мне способы использующие те или иные аппаратные таймеры.
Присоединённый файл ( Кол-во скачиваний: 241 ) ![]() -------------------- Все знать невозможно, но хочется |
|||
|
||||
Петрович |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1000 Регистрация: 2.12.2003 Где: Москва Репутация: 25 Всего: 55 |
Вот, тут DRKB v2.3 натолкнул на мысль опубликовать еще один из модулей. К сожалению, автора исходного модуля мне установить не удалсь. Жаль, идеи заложенные в его модуле были очень хороши. Я лишь чуть усовершенствовал их.
Интерфейс:
Если интересно, то бери пристегнутый файл ![]() Присоединённый файл ( Кол-во скачиваний: 109 ) ![]() -------------------- Все знать невозможно, но хочется |
|||
|
||||
Петрович |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1000 Регистрация: 2.12.2003 Где: Москва Репутация: 25 Всего: 55 |
Для пользователей библиотеки EhLib.
Мною, а так-же Alex'ом были сделаны несколько доработок некоторых модулей этой библиотеки. Мои доработки следующие:
Это сообщение отредактировал(а) Петрович - 8.2.2005, 11:18 Присоединённый файл ( Кол-во скачиваний: 164 ) ![]() -------------------- Все знать невозможно, но хочется |
|||
|
||||
Петрович |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1000 Регистрация: 2.12.2003 Где: Москва Репутация: 25 Всего: 55 |
Для пользователей библиотеки EhLib.
Мною, а так-же Alex'ом были сделаны несколько доработок некоторых модулей этой библиотеки. Доработки от Alex:
Это сообщение отредактировал(а) Петрович - 18.2.2005, 00:27 Присоединённый файл ( Кол-во скачиваний: 99 ) ![]() -------------------- Все знать невозможно, но хочется |
|||
|
||||
RA |
|
|||
![]() Брутальный буратина ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3497 Регистрация: 31.3.2002 Где: Лес Репутация: 14 Всего: 115 |
Пример передачи файлов при помощи TClientSocke и TServerSocket
Очень многих интересует данный вопрос поэтому выкладываю сырячек. Это пока так, зарисовочка, в дальнейшем планируется доработать, оптимизировать и добавить кое-какие вещи. Ну и соответвенно сделать примеры с использованием ICS и Indy. Присоединённый файл ( Кол-во скачиваний: 546 ) ![]() |
|||
|
||||
SoWa |
|
|||
![]() Харекришна ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2422 Регистрация: 18.10.2004 Репутация: 2 Всего: 74 |
Посмотрев примеры в DRKB для перевода числа из одной системы счисления в другую, понял, что они предназначены не для глупого списывания, поэтому написал собственную функцию! код немного не оптимизированный, но все равно работает!
ПРЕДУПРЕЖДЕНИЕ: СИСТЕМЫ ПЕРЕВОДА ОТ 2 ДО 36!!! НЕ БОЛЬШЕ!
-------------------- Всем добра ![]() |
|||
|
||||
Петрович |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1000 Регистрация: 2.12.2003 Где: Москва Репутация: 25 Всего: 55 |
Вот реализация доработок EhLib от меня и Alex для версии 3.06. Подробнее см. здесь и здесь
Присоединённый файл ( Кол-во скачиваний: 153 ) ![]() -------------------- Все знать невозможно, но хочется |
|||
|
||||
p0s0l |
|
|||
![]() Г-н Посол ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 3668 Регистрация: 13.7.2003 Где: 58°38' с.ш. 4 9°41' в.д. Репутация: 58 Всего: 112 |
Этот пример показывает, как всего парой десятков строк можно использовать WMI (Windows Management Instrumentation) для просмотра информации о системе, железе, программах и многом другом...
Для компиляции нужно иметь библиотеки Jedi WinAPI... Скачать их можно тут: http://members.chello.nl/m.vanbrakel2/ (архив около 2 метров) При запуске программы будет показано три окошка: Левое верхнее - список классов. Например, Win32_BIOS - инфа о биосе, Win32_Processor - о процессоре и т.д. Правое верхнее окно - объявление выбранного класса (свойства и методы) Нижнее - экземпляры выбранного класса... WMI.ZIP (5 kb) Присоединённый файл ( Кол-во скачиваний: 175 ) ![]() -------------------- С уважением, г-н Посол. |
|||
|
||||
Girder |
|
|||
![]() Лентяй 2 ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1993 Регистрация: 12.5.2004 Репутация: 31 Всего: 155 |
Компонент для работы с драйверами программы FileMon (Sysinternals - www.sysinternals.com).
***В компоненте реализованна полная потдержка управляющих команд в плоть до версии драйвера v436. ***Особые благодарности, за тест и конструктивные предложения: p0s0l-у PS: Данный компонент выкладывается для ознакомительных целей. Использование его в своих программах допускается ![]() ![]() В присоединенке: Компонент и пример его использования(А также драйверы: новые и старые). PS2: К сожалению... так и не смог найти подходящию иконку для компонента ![]() Присоединённый файл ( Кол-во скачиваний: 168 ) ![]() -------------------- Как слышим, так и пишим. Истина где-то там... |
|||
|
||||
Akella |
|
|||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 36 Всего: 329 |
Сделал небольшой архив с примерами
Имя Описание папки 05_1 Пример использования компонентов TTreeView и TTreeList для просмотра информации из системного реестра Windows 05_2 Простой пример разработки собственного компонента 06_1 Ресурсы манифеста Windows XP 07_1 Пример использования в приложении списка объектов на основе класса TList 07_2 Пример использования в приложении списка строк на основе класса TStringList 10_1 Пример приложения, использующего компоненты Delphi для отображения графики 10_2 Приложение для просмотра растровых приложений JPG, JPEG, BMP 11_1 Пример простейшего приложения баз данных 12_1 Пример использования параметров компонентов запросов SQL и взаимодействия таких компонентов на основе передачи значений параметров 14_1 Приложение баз данных, использующее отношение "один-ко-многим" между таблицами базы данных 14_2 Приложение баз данных, демонстрирующее варианты поиска записей в таблице базы данных 14_3 Пример использования закладок (класс TBookmark) в наборах данных Delphi 15_1 Приложение баз данных, использующее компоненты синхронного просмотра 16_1 Приложение баз данных, напрямую использующее API BDE для полного удаления записей из таблиц базы данных 16_2 Приложение баз данных, напрямую использующее API BDE для представления данных 17_1 Приложение баз данных, демонстрирующее возможности технологии dbExpress 19_1 Приложение баз данных, демонстрирующее возможности технологии ADO 21_1 Пример простого распределенного приложения баз данных 25_1 Пример использования компонента проекта отчета Rave Reports и разработки простых отчетов в визуальной среде Rave Reports 26_1 Пример использования настраиваемого соединения на основе компонента TRvCustomConnection 26_2 Пример отчетов Rave Reports для приложений баз данных 27_1 Пример реализации Drag-and-Drop 27_2 Пример реализации Drag-and-Dock 27_3 Пример реализации управления мышью 28_1 Пример создания динамической библиотеки 29_1 Приложение, использующее отдельный поток к памяти для расчета числа 30_1 Приложение, использующее компоненты многомерного представления данных 31_1 Пример приложения, использующего Shell API пару папок удалил из архива, т.к. он получается больше 250 кБ. Присоединённый файл ( Кол-во скачиваний: 484 ) ![]() |
|||
|
||||
Akella |
|
|||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 36 Всего: 329 |
Примеры для работы с
1. MS Word 2. pop3 3. smtp 4. socket 5. mail - отправка почты Примеры не мои личные Присоединённый файл ( Кол-во скачиваний: 436 ) ![]() |
|||
|
||||
Akella |
|
|||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 36 Всего: 329 |
Обмен данными между процессами. Сам не тестировал.
Присоединённый файл ( Кол-во скачиваний: 134 ) ![]() |
|||
|
||||
ДЫМ |
|
||||
Бывалый ![]() Профиль Группа: Участник Сообщений: 224 Регистрация: 6.1.2004 Репутация: 8 Всего: 8 |
Быстрая функция для разбивки строки на части (слова) в один цикл.
Пример использования
|
||||
|
|||||
ДЫМ |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 224 Регистрация: 6.1.2004 Репутация: 8 Всего: 8 |
Делал тут ListBox с подсказками, получился такой вот компонент.
Компонент LSVListBox, потомок TListBox, использует всплывающие подсказки (Hint) для полного отображения не умещающихся строк и позволяет изменять стиль подсказок (шрифт, цвета, дополнительные рамки, тень, авторазмер), установить разные стили подсказок для выделенных и невыделенных пунктов. Помимо этого не умещающиеся строки корректно обрезаются (с троеточием), имеется возможность изменить цвета для выделенных пунктов, отключить фокусирующий прямоугольник, уменьшено мерцание при прорисовке элементов, добавлены обработчики событий OnMouseEnter и OnMouseLeave Это сообщение отредактировал(а) ДЫМ - 18.4.2005, 01:09 Присоединённый файл ( Кол-во скачиваний: 122 ) ![]() |
|||
|
||||
Akella |
|
||||||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 36 Всего: 329 |
Функция подмены разделителя целой и дробной части при вводе данных прямо в сетку, а также при вводе даты. Пользователя не должен думать о том, что ему правльно вводить в качетсве разделителя: точку или запятую
TfmMain - TForm TDBGridEh - сетка из пакета EhLib, можно необязательно сетку, можно, просто TEdit.
использование в OnKeyPress
|
||||||
|
|||||||
Alex |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4147 Регистрация: 25.3.2002 Где: Москва Репутация: 80 Всего: 162 |
Две полезные процедуры:
-------------------- Написать можно все - главное четко представлять, что ты хочешь получить в конце. |
||||
|
|||||
Alex |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4147 Регистрация: 25.3.2002 Где: Москва Репутация: 80 Всего: 162 |
Для пользователей библиотеки EhLib.
Присоединённый файл ( Кол-во скачиваний: 60 ) ![]() -------------------- Написать можно все - главное четко представлять, что ты хочешь получить в конце. |
|||
|
||||
RA |
|
|||
![]() Брутальный буратина ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3497 Регистрация: 31.3.2002 Где: Лес Репутация: 14 Всего: 115 |
Функция конвертации текста HTML содержащего строки вида &# 123; в читабельбный вид
|
|||
|
||||
Rrader |
|
|||
Inspired =) ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 1535 Регистрация: 7.5.2005 Репутация: 70 Всего: 191 |
В аттаче пример работы с TaskBar (получене текста всех кнопок).
Это сообщение отредактировал(а) Rrader - 18.7.2008, 15:54 Присоединённый файл ( Кол-во скачиваний: 42 ) ![]() |
|||
|
||||
Rrader |
|
||||
Inspired =) ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 1535 Регистрация: 7.5.2005 Репутация: 70 Всего: 191 |
Функция, которая нарисует на форме сетку и сделает форму похожей на дизайнер форм Delphi. По умолчанию в дизайнере Delphi отступы равны 8 пикселям
![]()
Ещё способ, рисует сетку либо линии на компоненте AObject цветом FGridColor, в параметре ACanvas нужно передать холст компонента, FSizeX и FSizeY определяют размер сетки либо линий:
Это сообщение отредактировал(а) Rrader - 24.6.2006, 11:57 |
||||
|
|||||
Rrader |
|
|||
Inspired =) ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 1535 Регистрация: 7.5.2005 Репутация: 70 Всего: 191 |
Пример использование методов интерфейса IShellDispatch (это интересно
![]()
Проект с формой находится в аттаче. Присоединённый файл ( Кол-во скачиваний: 132 ) ![]() |
|||
|
||||
Rrader |
|
|||
Inspired =) ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 1535 Регистрация: 7.5.2005 Репутация: 70 Всего: 191 |
Как сделать ProgressBar таким же, как на заставке Windows XP
Вопос задается часто, вот решение без каких-либо компонентов:
|
|||
|
||||
vstepanov78 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 10.1.2006 Где: Москва Репутация: нет Всего: нет |
Периодически читаю рассылку этого форума. Хочу поделиться своими наработками (обновленной версией). Последние лет 5 при работе над текущими проектами пытаюсь выносить код общего назначения в отдельные библиотеки. Думаю, что выкладываемые исходники библиотек, а также реализованные в них идеи по универсализации функций и классов могут быть интересны и остальным.
ALLLIB. НАБОР ИСХОДНИКОВ ДЛЯ РАСШИРЕНИЯ ФУНКЦИОНАЛА СТАНДАРТНЫХ БИБЛИОТЕК DELPHI. ВЕРСИЯ ОТ 9.01.2006 Исходники библиотек: http://vstepanov78.narod.ru/alllib.zip Краткая справка: http://vstepanov78.narod.ru/prog.htm#alllib ОБЗОР ФУНКЦИОНАЛА 1. ОБЩИЕ ФУНКЦИИ (типы, строки, варианты, память, списки, таблицы, потоки, файлы, ini, реестр, многопоточность, исключения, языки): - КОНВЕРТАЦИЯ ТИПОВ: конвертация строк и вариантов в типы и наоборот с автораспознаванием многих форматов независимо от настроек разделителей Windows (включая сложные форматы вроде '1 443,45', '12=34', '1111011b', '30-JAN-2004', '30/01/04 11:12:55.945', 'Wed Mar 13 19:15:06 UTC+0300 2002'), варианты функций без порождения исключений и использования SysUtils и с порождением исключений; - КОДИРОВАНИЕ: кодирование и декодирование (строки C++/JScript и Pascal, Base64, HTML, URLEncode/URLDecode, KOI, ISO, Wide формата Windows NT и с нечетным количеством байт, XOR и др.), в том числе поддерживается быстрое кодирование длинных строк; разбор Delphi-форм DFM, включая бинарные; проверка соответствия маске и извлечение по маске (маски - с символами '?' и '*'); увеличение, уменьшение и округление даты до секунд, минут, часов, дней, месяцев, лет; поиск и замена в строке, добавление и извлечение строки из массива, хранимого в строке; извлечение строки текста при разных вариантах перевода строки, выравнивание колонок текста, функции парсинга выражений без использования объектов; - ПАМЯТЬ: контроль утечек объектов и возможность контроля утечек памяти, дескрипторов; работа со списком и списком списков без SysUtils и использования объектов с заданием емкости, работа со строкой с заданием емкости и перераспределением памяти при превышении емкости, наращиваемой шагами; буфер в строку, изменение регистра и регистронезависимое сравнение блоков памяти, перемещение с перекрытием; - СПИСКИ: индексируемые списки и таблицы без изменения порядка элементов с построением индекса при первой попытке поиска, поиск в таблице по любому набору колонок (списки и таблицы - указателей, строк, вариантов); иерархия без VCL; - ПОТОКИ: обертки потоков с кэшированием чтения и записи, возможностью чтения следующего фрагмента данных без смещения позиции благодаря кэшу, извлечением следующей строки до перевод строки; - ФАЙЛЫ: список файлов, копирование и удаление по маске с возможностью просмотра подкаталогов, вызовом прогресса; собственное имя DLL, получение версии библиотеки; поиск файла в %PATH%, разбор командной строки; работа с ярлыками, Map-файлами; простые функции файл в строку и строка в файл; простая функция записи в лог или на консоль с однозначно интерпретируемым форматом лога, поддержка отладки во многих функциях и объектах библиотеки; диалоги выбора файла и папки без VCL и SysUtils; вставка и извлечение из буфера обмена с правильной обработкой русских букв; - INI: ini в памяти или потоке, возможность работы с секцией без имени, значениями параметров любой длины, быстрый поиск, сохранение комментариев; быстрое чтение иерархической конфигурации в многомерный массив вариантов; - РЕЕСТР: реестр с корректной работой при ограниченных правах доступа, экспортом, импортом и удалением ключа с подразделами; - МНОГОПОТОЧНОСТЬ: threadvar с инициализацией и завершением, правильной работой в Delphi 3, поддержка многопоточности всем кодом, инициализация и автоосвобождение объектов без увеличения кода приложения в случае подключения библиотеки без обращений к объекту библиотеки из приложения, работа с критическими секциями без SysUtils; - ИСКЛЮЧЕНИЯ: отдельные модули сокращенных аналогов SysUtils для небольших приложений; объекты исключений с именем процедуры и кодом ошибки, в том числе поддержкой определения текста по коду ошибки Windows; список информации об исключениях; - ЯЗЫКИ: русские и английские языковые константы, динамический выбор языка; чтение текущего языка системы; сумма прописью для разных валют на русском и английском с torry.ru без необходимости ini-файла; проверка ключевания счета; - УДОБНЫЕ ФУНКЦИИ И ДР.: прочие функции для конвертации типов, удобной работы со строками вроде IIf, IfEmpty, AddPrefix, AddPostfix, JoinStr, вариантами, файлами. 2. СПЕЦИАЛИЗИРОВАННЫЕ ФУНКЦИИ (окна, база, интернет, COM, интерпретация скриптов, процессы, сжатие, привязка к компьютеру, графика): - ДИАЛОГИ: диалоги без VCL, SysUtils и ресурсов - функции ввода строки, пароля, логина и пароля, просмотра и редактирование текста с выбором кодировки, ввода имени файла или выбора каталога, ввода случайной последовательности (функции взывают дочерние объекты от единого абстрактного объекта диалога без VCL); добавление иконки в системную область панели задач; получение списка окон верхнего уровня или иерархии с дочерними окнами; скроллирование в конец и поиск в TRichEdit в VCL, быстрое получение и обновление списка TListView и иерархии TTreeView из списка и иерархии в памяти; - БАЗЫ ДАННЫХ: работа с базами данных через ADO без VCL, загрузка выборки таблиц в индексируемую таблицу вариантов в памяти и обновление выборки таблицы в базе по содержимому таблицы в памяти при заданных ключевых полях, в том числе с корректной работой с BLOB-полями для MS-SQL, Sybase, Oracle (с поддержкой ISO Cyrillic), Interbase; получение версии ADO; - ИНТЕРНЕТ: работа с сокетами для сервера и клиента без VCL и SysUtils; отсылка HTTP- или HTTPS-запроса с получением ответа через WinInet; подключение к интернету, выход из Offline-режима браузера, получение собственных IP-адресов, разбор HTTP-ссылки; обертки ASP- и HTML-объектов с общим предком, делающим однотипным доступ к параметрам (полям) формы из сервера и клиента; общий метод чтения из ASP параметров сертификата CryptoAPI/Крипто-Про и Сигнал-КОМ Inter-PRO Client; отсылка почты простой функцией; - СКРИПТЫ: поддержка интерфейса IActiveScript устанавливаемого с браузером интерпретатора JScript, VBScript (напрямую, без использования ScriptControl); поддержка интерфейса IDispatch (без необходимости написания и регистрации ocx), например, для встраивания COM-объекта в пространство имен IActiveScript для обращения к нему из скрипта; внутренний парсер функции строки обращения к COM-объекту с параметрами; получение GUID; - ПРОЦЕССЫ: список имен и идентификаторов процессов (с поддержкой Windows 95/NT+); запуск задачи с ожиданием завершения или ожиданием создания ею первого окна, открытие документа (также есть возможность ожидания заданного промежутка времени с обработкой событий без VCL или ожидания появления файла); объекты межзадачного обмена с помощью сообщений Windows и прямой записи в память процесса; запуск приложения от имени пользователя; запуск и остановка сервиса, включая таймаут ожидания зависимых сервисов; запуск и остановка приложений COM+ в Component Services; - СЖАТИЕ: сжатие и распаковка строки путем использования библиотеки Delphi ZLib (без внешних dll); распаковка CAB-файла; - ПРИВЯЗКА К КОМПЬЮТЕРУ: привязка приложения к компьютеру, чтение напрямую из оборудования идентификатора и серийного номера CPU (также корректное определение частоты процессора), версии, даты, производителя и серийного номера BIOS, модели, версии и серийного номера контроллера HDD (возможно чтение для первых четырех жестки дисков) - всего используется порядка 14 различных способов обращении к оборудованию, благодаря чему поддерживаются Windows 95/98/ME/NT/2000/XP/2003, получение одинаковой информации при различных правах пользователя, включая гостевые; также чтение системной информации PCI-драйверах, версии Windows и Internet Explorer, доступных шрифтах; - ГРАФИКА: поддержка загрузки GIF, PCX - позаимствованы с torry.ru, сделана динамическая инициализация; поддержка загрузки других форматов графики, в том числе TIF, PNG с помощью GDI+ (сделана динамически, т.к. библиотека может отсутствовать в старых Windows); функция изменения яркости картинки; - ФИНАНСОВЫЕ И ДР.: прочие специализированные функции и классы конвертации, в том числе в и из формата 1С, поддержки HTTP-транспорта, получения информации об автозагружаемых процессах Windows. 3. КРИПТОГРАФИЯ (поддержка библиотек асимметричной шифрации и ЭЦП, симметричная шифрация и CRC): - CRYPTOAPI/КРИПТО-ПРО: асимметричная шифрация и дешифрация, подпись и проверка ЭЦП с использованием CryptoAPI RSA, RSA-128 и Крипто-Про ГОСТ 28147-89, ГОСТ Р 34.11/34.10-94/2001 с возможностью кэширования ключей (прямое обращение к CryptoAPI), доступна симметричная шифрация (на сессионном ключе) и асимметричная шифрация на секретном и открытом ключе, секретном ключе и сертификате, автораспознавание Base64 и PEM-форматов запроса и сертификата, возможность хранения ключей Крипто-Про в файлах с временным импортом в реестр на период криптооперации и экспортом после нее; генерация ключей, формирование запросов на сертификат и установка сертификатов без и с использованием xenroll.dll, выпуск или отзыв сертификата по запросу в Microsoft Certification Authority, проверка действительности сертификата; поиск сертификата в хранилище по набору параметров, чтение его полей, добавление сертификата в хранилище, диалоги просмотра и выбора сертификатов; список установленных в системе типов криптопровайдеров, их имен и параметров, поддерживаемых алгоритмов и алгоритмов по умолчанию; - СИГНАЛ-КОМ: асимметричная шифрация и дешифрация, подпись и проверка ЭЦП с использованием trial-версии Сигнал-КОМ Message-PRO RSA и СКЗИ ГОСТ 28147-89, ГОСТ Р 34.11/34.10-94/2001 с возможностью кэширования ключей; значения полей сертификата и просмотр содержимого сертификата аналогично диалогу в Сигнал-КОМ Inter-PRO; эмуляция диалога генерации случайной последовательности при ее отсутствии для ранних версий mespro.dll (аналогично имеющемуся в поздних); - СИММЕТРИЧНОЕ ШИФРОВАНИЕ И CRC: симметричная шифрация и дешифрация по алгоритмам Blowfish, RC6, GOST, контрольная сумма CRC32 - позаимствованы с torry.ru, добавлена возможность кэширования ключей шифрования, чтобы не проводить повторную инициализацию, занимающую некоторое время, добавлена возможность поточного шифрования; формирование и однозначный разбор строки X500 с поддержкой имен параметров, используемых в CryptoAPI и Message-PRO. ОСОБЕННОСТИ БИБЛИОТЕК: - совместимость с Delphi 3 - Delphi 7 (преимущественно тестируется на Delphi 5); - при подключении модулей в код EXE добавляются только те функции и объекты, которые реально вызываются в программе; - динамическое подключение функций различных API, если они могут отсутствовать в Windows 95 или Windows NT, при этом для последних, по возможности, вызывается альтернативная функция, иногда недокументированная; - все глобальные описания и объекты многопоточны или чаще создается отдельная копия глобального объекта в каждом потоке; - библиотеки не требуют установки компонентов и прописывания путей в Delphi, при компиляции нет Warnings и Hints, публичные объекты и функции откомментированы на русском. ПРИЛАГАЕТСЯ: UTILS.EXE. УТИЛИТА С ИНТЕРФЕЙСОМ И ПОДДЕРЖКОЙ КОМАНДНОЙ СТРОКИ И ЕЕ ИСХОДНИКИ НА DELPHI (ТРЕБУЮТ ALLLIB). ВЕРСИЯ ОТ 9.01.2006 Утилита и ее исходники: http://vstepanov78.narod.ru/utils.zip Функции: графический просмотр и проигрывание файлов, блокнот с поддержкой шифрования, вывода оглавления; конвертация (Base64 и др.) и двоичный редактор файлов; просмотр, правка и экспорт в SQL-запросы значений полей базы данных, включая BLOB-поля; список запущенных процессов с корректным завершением; список активных окон по задачам; системная информация; запускаемые при старте Windows процессы; отправка и прием данных через серверный или клиентский сокет, включая двоичные данные, WhoIs, отправка почты; генерация ключей, запрос, издание и установка сертификатов, в том числе для сервера, для алгоритмов CryptoAPI RSA и Крипто-Про ГОСТ; шифрация и дешифрация, подпись и проверка ЭЦП для алгоритмов CryptoAPI RSA и Крипто-Про ГОСТ, а также Сигнал-КОМ Message-PRO, перепривязка секретного ключа от одного сертификата CryptoAPI к другому. |
|||
|
||||
Foley |
|
|||
![]() Фсемба Яцца ![]() Профиль Группа: Участник Сообщений: 235 Регистрация: 31.1.2006 Где: Россия, Арх.обл Репутация: 2 Всего: 7 |
Мини - прога для расчета промежутка времени...
Присоединённый файл ( Кол-во скачиваний: 77 ) ![]() |
|||
|
||||
CaNIBaLchik |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 48 Регистрация: 8.2.2006 Где: Томск Репутация: нет Всего: нет |
Компилятор с подсветкой символов.
BDS2005 Компилятор паскаля циклы процидуры. условные операторы любая вложенность реализован алгоритмом рекурсивный спуск, обратная польская строка Присоединённый файл ( Кол-во скачиваний: 179 ) ![]() |
|||
|
||||
Girder |
|
||||||
![]() Лентяй 2 ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1993 Регистрация: 12.5.2004 Репутация: 31 Всего: 155 |
Учимся работать с "многопоточными файлами" в NT.
За не большой теорией... обращаемся к топику ![]() 1. Создание(изменение) и чтение "Опциональных потоков"
Как видно из первого примера... что бы прочитать "Опциональный поток" нам необходимо знать его "имя"... ![]() ![]() 2. Определяем инфу о файле/директории - читаем инфу о потоках: *** Не забудьте включить SE_BACKUP_NAME привелегию ***
Ну и до кучи... пример использывания InfoFileStreams:
Удачи. -------------------- Как слышим, так и пишим. Истина где-то там... |
||||||
|
|||||||
former |
|
|||
![]() MEMS Expert ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1166 Регистрация: 1.3.2006 Где: Россия Репутация: 5 Всего: 17 |
Народ, ранее в этом разделе публиковалась ссылка на SoftUtl.zip. Сейчас она не работает. Если у кого есть и не жалко, дайте ссылку или киньте на мыло.
-------------------- Достаточно снизить уровень мышления, чтобы иные почувствовали почву под ногами. |
|||
|
||||
Guedda |
|
|||
![]() Подрывник ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3137 Регистрация: 27.12.2005 Где: Ростов-на-Дону Репутация: 14 Всего: 78 |
Вот мой модуль для работы с Ini файлами... Должен всем пригодиться...
MyIni.pas:
-------------------- Ll 2 |
|||
|
||||
Rrader |
|
|||
Inspired =) ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 1535 Регистрация: 7.5.2005 Репутация: 70 Всего: 191 |
А вот мой, ещё проще:
Guedda, Try-Finally не видно... ![]() Это сообщение отредактировал(а) Rrader - 24.6.2006, 12:01 |
|||
|
||||
Guedda |
|
|||
![]() Подрывник ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3137 Регистрация: 27.12.2005 Где: Ростов-на-Дону Репутация: 14 Всего: 78 |
Да по-моему это обрезанный класс TIniFile...
-------------------- Ll 2 |
|||
|
||||
Sh@dow |
|
||||||||||||||
Новичок Профиль Группа: Участник Сообщений: 32 Регистрация: 1.7.2004 Репутация: нет Всего: 1 |
Хотел бы поделиться некоторыми наработками под MS SQL. Так как в разделе баз данных подобного раздела нет выкладываю сюда. Может кому и пригодяться. На авторство не претендую
![]()
|
||||||||||||||
|
|||||||||||||||
RA |
|
|||
![]() Брутальный буратина ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3497 Регистрация: 31.3.2002 Где: Лес Репутация: 14 Всего: 115 |
совмещённые, между собой:
ToolBar2000 v2.1.7 и TBX v2.2 http://g32.org и http://www.jrsoftware.org Скачать |
|||
|
||||
TP@MB@Y |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 370 Регистрация: 18.12.2004 Где: Москва Репутация: нет Всего: 4 |
Как-то мне пришлось для удобства написать эту функцию. Но она настолько полезна, что я ее пользую во многих своих проектах. Сорри если такое уже было.
Если кто не понял, то функция возвращает n-ое слово из строки str, считая за разделитель символ sep Надеюсь комунибуть пригодится! ![]() |
|||
|
||||
Sansei |
|
|||
Новичок Профиль Группа: Участник Сообщений: 1 Регистрация: 14.5.2006 Репутация: нет Всего: нет |
Начинающие системные программисты всегда ощущают дискомфорт и профессиональную неполноценность при отсутствии крайне необходимого им системного драйвера для чтения записи портов и MSR-регистров. Как же быть, когда знаний порой не достаточно, а времени на изучение тонкостей написания драйверов не хватает, а порой и не возникает? В этом случае есть два выхода. Найти в Интернете бесплатный либо позаимствовать уже готовый полноценный драйвер. Первый, как правило, обеспечивает только чтение и запись портов ввода-вывода, чего естественно недостаточно. Второй зачастую стоит больших денег, что естественно нас не устраивает. Поэтому мы попробуем найти простенькую бесплатную программу, драйвер которой сделает нас полноценными системными программистами.
Я не стал обременять себя поиском необходимой программы, а сразу обратился на один попсовый среди оверклокеров рунета форум. Программа, по сути, ничем не примечательна и актуальностью не выделяется, чего не скажешь о её авторе. По сути, очередной банальный идентификатор CPU, самопально написанный на презренном многими программистами Delphi 7.0. Скачав последнюю бета версию 1.0, я приступил к её изучению. Для начала, я загрузил программу в известный PE-редактор PE Explorer 1.96 с целью анализа прилинкованных к EXE-файлу ресурсов, среди которых мог обнаружится сам драйвер. Как я и ожидал, драйвер быстро обнаружился в секции RC Data под именем OSCI_DRVNT. Сохраняем драйвер в виде sys-файла на диск выбором команды контекстного меню Save Resource As…. В последующем он понадобился для компиляции в файл ресурсов и, как результат, подключения готового Res-файла к тестовому Delphi-приложению директивой {$R driver.res}. Следующий этап заключается в поиске необходимых нам так называемых IOCTL-кодов, через которые происходит обращение приложения к драйверу. По сути, это команды, в ответ на которые драйвер выполняет ту или иную функцию, например читает порт или перезаписывает MSR-регистр процессора. В итоге, драйвер возвращает результат выполненной функции приложению. Для поиска IOCTL-кодов я прибегнул к встроенному дизассемблеру программы PE Explorer. Данный дизассемблер хорошо подходит для программ, скомпилированных на Delphi и предоставляет код ассемблера в удобном для изучения виде. Дизассемблировав EXE-файл, нажатием Ctrl+F вводим запрос IOCTL. Естественно, первая попытка найти соответствие символьной константы необходимому IOCTL-коду неудачна, поэтому двигаем поиск дальше нажатием клавиши F3. И вот она удача! Полный перечень IOCTL-кодов обнаружился! ![]() Итак, видим, что для того, чтобы считать данные MSR-регистра необходимо обратиться к драйверу с IOCTL-кодом IOCTL_READ_MSR, числовое значение в hex-формате которого равно 9C402604h. Драйвер понимает и множество других IOCTL-кодов, смысл которых нам раскрывают интуитивно понятные имена символьных констант. Прекрасно понимая, что автор программы – полный «лом» в написании драйверов, всё-таки не могу не упрекнуть его за такое упущение! Финальный шаг состоит в определении названия функции, с помощью которой приложение отправляет драйверу IOCTL-код. Их две: DeviceIoControl и WriteFile. Учитывая, что первая функция применяется гораздо чаще и является, по сути, классической в данной случае, с её поиска мы и начнем. Поднимаемся в самое начало дизассемблированного кода, и начинаем поиск по критерию IOCTL_READ_MSR. Первый найденный результат доказывает, что для обращения к драйверу применяется классическая функция DeviceIoControl – сместившись на 20 строчек по коду выше обнаруживаем вызов данной функции из библиотеки kernel32.dll! Теперь, когда мы знаем все IOCTL-коды и название применяемой функции мы можем приступить к написанию тестового приложения, полный рабочий пример которого можно взять здесь. Я не буду комментировать его т.к., а я лично одобряю позицию, о которой говорил в самом начале этой статьи: не нужно постигать то, в чем мы не заинтересованы, нам важен конечный результат. Тестовое приложение реализует одним модулем необходимый набор функций для начинающего системного программиста, а именно: чтение/запись портов и MSR-регистров процессора. Для вашего приложения понадобится лишь прилагаемый к архиву модуль PortIO.pas и сам драйвер в виде ресурса driver.res. Инсталляцию и инициализацию драйвера берет на себя модуль. В завершении этой статьи я хотел бы акцентировать ваше внимание на том, что моя статья опубликована исключительно в образовательных целях и не носит какой-либо противозаконный характер! Удачи! Это сообщение отредактировал(а) Sansei - 14.5.2006, 18:19 Присоединённый файл ( Кол-во скачиваний: 104 ) ![]() |
|||
|
||||
Budy |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 616 Регистрация: 6.2.2004 Где: Екатеринбург Репутация: 1 Всего: 2 |
Два компонента esNumLabel и esTextLabel. Ложатся в палитру Standart.
Оба компонента предназначены для необычного вывода соответственно чисел и строк. 1) Готовый BPL. Ссылка http://frombudy.narod.ru/upload/delphi/esComponent.rar. Как установить? Заходим в меню "Component/Install packeges...", жмем "Add..." и указываем распакованный BPL. 2) Исходники. Ссылка http://frombudy.narod.ru/upload/delphi/esComponent_units.rar Немного о компонентах: •Размер выравнивается самостоятельно, изменение Width и Height ни к чему не привидет. •Есть возможность использовать свой стиль символов. •esNumLabel: обратите внимание на следующие property: Number, NumberImage, NumberShow, Transparent. •esTextLabel: обратите внимание на следующие property: Caption, TextImage, Transparent. •При написании компонентов использовал класс TGraphicControl. •Предупреждаю: Использовать, изменять и распространять данные ресурсы разрешаю. Ресурсы создал от нечего делать, да и попрактиковался немного ![]() Кстати, буду рад выслушать все ваши комментарии в мой адрес, пожалуйста пользуемся Личными сообщениями или почтой mailto:[email protected]. С уважением, Budy. -------------------- Как ты назовешь свой корабль, так на нем и напишут ![]() |
|||
|
||||
Angel_19 |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 73 Регистрация: 5.4.2005 Репутация: нет Всего: нет |
Кто нибудь юзал исходники Sansei? Я попробовал, у меня чт-то они глючат...
|
|||
|
||||
Rouse_ |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 469 Регистрация: 23.4.2005 Репутация: 5 Всего: 29 |
Долго держал данную утилиту для себя, сейчас дозрел, код вроде отточен, глюков не замечается, посему выкладываю в публичный доступ.
Небольшая полезность: PEDump Shell Extension Ссылка: http://rouse.front.ru/propsheet.zip а также в прикрепленке Размер: 139 600 байт В архиве, помимо исходников сама утилита. Выглядит данная утилита вот так: ![]() Что из себя представляет: Выводит список импорта - экспорта выбранного РЕ файла на закладке свойств файла. Собственно, помимо демо получения самих списков импорта/экспорта показывает работу с IShellPropSheetExt, при помощи которого реализуется сама закладка, есть работа с активизацией контекста манифеста (интересно будет тем, кто работает с диалогами под ХР), в качестве вкусностей - юнит с реализацией функций ImageRvaToVa и ImageDirectoryEntryToData. Надеюсь данная работа будет вам интересна. Помимо этого обновил сайт примером работы с корзиной, впрочем не маленькие, сами разберетесь: http://rouse.front.ru/ ![]() Всем удачных выходных. Присоединённый файл ( Кол-во скачиваний: 153 ) ![]() |
|||
|
||||
ctulhu |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 32 Регистрация: 7.2.2007 Репутация: нет Всего: нет |
Модуль для работы с файловой системой на ООП-основе.
- класс для работы с директориями - класс для работы с содержимым директорий - возможность работы с текстовыми файлами Присоединённый файл ( Кол-во скачиваний: 117 ) ![]() |
|||
|
||||
Alexeyt |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 332 Регистрация: 15.9.2006 Где: около Москвы Репутация: нет Всего: 2 |
//Раз народ выкладывает свои реализации работы с ini файлами, выложу я:
Модуль работы с реестром - быстрый, на одном API. Никаких классов. Чтение/запись строки/числа/binary. Есть поддержка юникода в более новой версии, кому нужно - пишите.
|
|||
|
||||
Alexeyt |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 332 Регистрация: 15.9.2006 Где: около Москвы Репутация: нет Всего: 2 |
Юнит для работы с Directory Junctions под Win2000/XP+. Чтение директории назначения + создание/удаление junctions. Плюс консольная утилита, на основе этого юнита, которая создает junctions из командной строки.
Это сообщение отредактировал(а) Alexeyt - 1.3.2007, 21:45 Присоединённый файл ( Кол-во скачиваний: 42 ) ![]() |
|||
|
||||
Alexeyt |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 332 Регистрация: 15.9.2006 Где: около Москвы Репутация: нет Всего: 2 |
Выделил из своего компонента код, содержащий TScrollBox + TImage + обвязку.
Получился компонент ATImageBox. Можно загружать рисунок и задавать ему разный масштаб, подгонять размеры, перетаскивать мышью и т.д. Свойства: ImageFitToWindow, ImageFitOnlyBig, ImageCenter, ImageScale и т.д. ![]() Обсуждение (на этом форуме) здесь: http://forum.vingrad.ru/topic-139061.html Присоединённый файл ( Кол-во скачиваний: 84 ) ![]() |
|||
|
||||
lukas |
|
||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 771 Регистрация: 23.2.2007 Репутация: 3 Всего: 15 |
Функция возвращения N-ого параметра из строкового выражения типа <название>(параметр1 ... параметрN)
Где N - номер параметра, Atype - символ разделитель параметров. Если разделительный символ содержится в параметре, то параметр нужно заключить в двойные кавычки " ".
Пример использования:
Еще одна функция, возвращает кол-во параметров:
P.S. в коде интерпретатора можно сильно сократить всю свою писанину. (У меня было так). Это сообщение отредактировал(а) lukas - 8.5.2007, 22:48 -------------------- http://code.google.com/p/orionphp/ - opensource скриптовой язык Orion (аналог PHP) для freepascal/delphi. |
||||||
|
|||||||
AlexxxM |
|
|||
Новичок Профиль Группа: Участник Сообщений: 17 Регистрация: 15.5.2007 Репутация: нет Всего: нет |
На работе возникла проблема при открытии заказа рассылать письма по отделам (Список рассылки + пользователь кто внес запись). Список рассылки довольно статичен, а вот пользователей человек 40 плюс ко всему они довольно часто меняются. Поэтому возникла идея брать e-mail пользователя из Active Directory (благо e-mail всегда заполняется системщиками).
Большинство того ято нашел в инете больше подходило администраторам чем программистам, поэтому выкладываю код. Забыл сказать известны домены и логин пользователя ( не известно какой organisation union (группа в AD) является родительским для пользователя и т. п., ну в общем основной проблемой было получить ADsPath пользователя)
+ файл с примерами (не помню откуда скачал). В директории common 2 uses'а которые использовались в коде Это сообщение отредактировал(а) AlexxxM - 23.5.2007, 18:52 Присоединённый файл ( Кол-во скачиваний: 79 ) ![]() |
|||
|
||||
Akella |
|
||||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 36 Всего: 329 |
Rodman нашел примеры работы TreeView с XML
|
||||
|
|||||
Rodman |
|
|||
CIO ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 6144 Регистрация: 7.5.2006 Где: Ukraine ⇛ Kyiv ci ty Репутация: 7 Всего: 122 |
XML формируется по всем открытым пунктам! Так чт разворачивайте, если надо!
|
|||
|
||||
ne0n |
|
|||
PlayBoy ![]() ![]() Профиль Группа: Участник Сообщений: 733 Регистрация: 5.8.2005 Где: Н.Новгород Репутация: 1 Всего: 11 |
Вот когда то писал стать про написание простого антивирусного сканера, тока не выложил ее нигде,
вообщем если статья кому-то поможет или будет полезной буду рад...статья и сорцы в аттач Присоединённый файл ( Кол-во скачиваний: 95 ) ![]() |
|||
|
||||
RA |
|
|||
![]() Брутальный буратина ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3497 Регистрация: 31.3.2002 Где: Лес Репутация: 14 Всего: 115 |
Вот случайно где-то нашёл такой хороший компонент с примером использования
Reader for ОS/2, NЕ, PE32, PE32+ and VxD executable file types.
Добавил + FileMode = 0 Это сообщение отредактировал(а) RA - 19.8.2007, 23:04 Присоединённый файл ( Кол-во скачиваний: 100 ) ![]() |
|||
|
||||
ne0n |
|
|||
PlayBoy ![]() ![]() Профиль Группа: Участник Сообщений: 733 Регистрация: 5.8.2005 Где: Н.Новгород Репутация: 1 Всего: 11 |
В последнее время участился интерес к упаковщикам и протекторам...вот собрал колекцию исходников,собранную по всему нету, на данную тему
![]() ![]() http://rapidshare.com/files/49501095/Packe...Sourse.rar.html з.ы. архив весит чуть более десяти метров... Это сообщение отредактировал(а) ne0n - 17.8.2007, 15:19 |
|||
|
||||
EvilsInterrupt |
|
|||
Executables research ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1019 Регистрация: 14.7.2007 Где: Железнодорожный, МО, Россия Репутация: 3 Всего: 9 |
RA, Держи файл для проверки на котором твой компонент не верно ф-ционирует ))) проверка шла согласно данным от PE_Tools by Neox
Присоединённый файл ( Кол-во скачиваний: 37 ) ![]() |
|||
|
||||
Rrader |
|
|||
Inspired =) ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 1535 Регистрация: 7.5.2005 Репутация: 70 Всего: 191 |
Open Directory Dialog 1.2 by Rrader, Alix
Разработан был давно, но не выкладывался ![]() Позволяет изменять стандартный диалог SHBrowseForFolder Присоединённый файл ( Кол-во скачиваний: 72 ) ![]() |
|||
|
||||
Alix |
|
|||
![]() L45 ![]() ![]() Профиль Группа: Участник Сообщений: 581 Регистрация: 4.5.2005 Где: Pskov/Spb Репутация: 7 Всего: 23 |
Несколько давно написанных юнитов, возможно кому-то будет интересно. Возможно что-то я бы сейчас написал по другому... а может и нет ) Так что не пинать если что.
CDDrives.pas - возвращает буквы всех установленных CD-ROM'ов ClipBoard.pas - модуль для работы с буфером обмена, всего пара функций - GetText и SetText. Перед началом работы надо проинициализировать. Использует только модуль windows, так что не увеличивает размер программы. IniFilesLight.pas - класс TIniFilesLite для работы с ini-файлами. Умеет почти то же, что и TIniFiles (read/write string/integer/bool + updatefile (aka flush)). Использует только windows. Ну еще SysUtils, но если надо, можно легко избавиться. TrayIcon.pas - простенький класс создающий иконку в трее (TNotifyIconData_50), поддерживает balloon tooltips и анимацию (не помню точно как, вроде by showNextFrame method). Обработка сообщений осуществляется создавшим иконку окном, т.к. она не содержит своего обработчика. Использует windows, messages, shellAPI, graphics {for TBitmap only}, sysUtils {for strPCopy only}. PopupMenu.pas - Класс для создания popupmenu, поддерживает только appendMenuItem, popup, cursorPopUp. Можно задавать шрифт элементов, понимает разделители. НО не имеет своего кода отрисовки. Использует windows, messages, sysutils. battery.dpr - программа, ради которой и писались два последних модуля. Индикатор заряда батарей в качестве замены стандартному виндовскому. Написан на winapi, заодно есть и пример работы с GDI при отрисовке элементов popup menu (в стиле типа MSO XP). Если хотите - доделывайте, но и сейчас неплохо работает ). Bitmaps.res прилагается. Использовано: windows, messages, shellAPI, graphics, sysUtils, TrayIcon, 'PopupMenu.pas'. Праверять, конечно, надо на ноуте ) Есть вопросы? You are welcome! PS: сейчас почитал топик, привет, Rrader! У тебя точно такой же код для чтения ini файлов, прям один в один ![]() Это сообщение отредактировал(а) Alix - 24.9.2007, 21:39 Присоединённый файл ( Кол-во скачиваний: 74 ) ![]() -------------------- Знание только тогда знание, когда оно приобретено усилиями своей мысли, а не памятью (с) Л. Толстой High tech. Low live. (с) Gardner Dozois |
|||
|
||||
lukas |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 771 Регистрация: 23.2.2007 Репутация: 3 Всего: 15 |
давно никак не доходили руки написать объект копирующий компоненты, можно копировать компоненты с одной формы на другую сохраняя все свойства, единственное у копий нет имен, поэтому имена нужно дать после копирования. NetSize - отвечает за смещение объекта при копировании,
Метод AddObjFrom добавляет компоненты (названия которых находятся в LIST с формы FRM) в буфер Метод LoadObjTo выгружает объекты в буфере на форму FRM со смещение NetSize P.S. Все классы копируемых объектов должны быть зарегистрированы, делаем это так: RegisterClass(TButton) и т.п.
Это сообщение отредактировал(а) lukas - 13.11.2007, 19:22 -------------------- http://code.google.com/p/orionphp/ - opensource скриптовой язык Orion (аналог PHP) для freepascal/delphi. |
|||
|
||||
san46 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 15 Регистрация: 30.11.2006 Репутация: нет Всего: нет |
Компонент для Delphi. Вывод линейных графиков.
Возможности: - Кривых на графике может быть более одной (кривые выводятся только в run-time заполнением массивов значений точек). - Автомасштабирование. При добавлении точек в кривую и выходе их значений за установленные максимум или минимум по обеим осям происходит пересчет максимальных и/или минимальных значений. - Ручное масштабирование графика мышкой или с клавиатуры (после формирования всех кривых). - Панорамирование графика при масштабе > 100% - сдвиг по всем четырем направлениям также мышкой или с клавиатуры. - "Датализация" точек - два режима отображения кривых. - Отображение значений точек в виде хинта при нахождении курсора мыши около точки. - Наличие "навигатора" - отдельное полупрозрачное окно (площадь 1/16 от площади компонента), отображающее весь график и которое можно таскать мышкой по экрану. - Можно изменять: цвет компонента, цвет кривых, цвет осей, видимость сетки графика. Компонент ведет себя весьма прилично - при перерисовке (а это может происходить очень часто, например, при панорамировании, добавлении точек) график не дергается. Пригодится для тех (ИМХО), кто не хочет связываться с TChart с его непомерно обширными настройками, кому достаточно отображать линейные графики (кривые). Страница компонента. Там можно посмотреть скриншоты, детальное описание и скачать исходники компонента с примером. |
|||
|
||||
EvilsInterrupt |
|
|||
Executables research ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1019 Регистрация: 14.7.2007 Где: Железнодорожный, МО, Россия Репутация: 3 Всего: 9 |
Возникла задача написать приложение, которое расширяет свои возможности за счет использования подключенных плагинов. Логично положить, что плагины можно подключить на этапе запуска приложения или на этапе обнаружения новых плагинов в то время как основное приложение уже работает. Мне как раз понадобился механизм, который будет в доп. потоке обнаруживать новые плагины и будет своего рода шпионом за папкой с плагинами.
Цель класса: Ожидать добавления в папку с плагинами добавления новых плагинов и при наступлении этого события дернуть CALLBACK ф-цию или в простонародье "ивент" ;) Присоединённый файл ( Кол-во скачиваний: 74 ) ![]() |
|||
|
||||
Doga |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 115 Регистрация: 20.12.2007 Где: Россия, Обнинск Репутация: нет Всего: нет |
Всем привет.
![]() TRGrid это чистый VCL-компонент, является наследником базового класса TCustomControl. При разработке использовались исходные коды классов TCustomGrid и TRxDrawGrid (RxLib). По своей сути TRGrid можно назвать виртуальным, он ничего не знает о данных, которыми он управляет. Всю необходимую информацию для их отображения он получает от приложения с помощью событий. В отличие от компонентов аналогичного типа TRGrid имеет следующие особенности: 1. Умеет создавать объединения ячеек в виде прямоугольника как в области фиксированных, так и в области не фиксированных ячеек. Единственное ограничение: объединённая ячейка должна распологаться только в одной из областей и не может распологаться сразу в двух областях (фиксированных и не фиксированных ячеек). 2. Имеет возможность скрывать и показывать колонки и строки в любом порядке, без переинициализации данных. 3. Имеет три режима маркировки данных: по колонкам, по строкам и по ячейкам. Маркировка может производиться в любом порядке и не сбрасывается при перемещении курсора с ячейки на ячейку. Одновременно можно использовать только один из трёх режимов маркировки. 4. Для каждого из состояний ячейки (активная ячейка, ячейка текущей строки/колонки, маркированная ячейка, фиксированная, ...) предусмотрены настраиваемые наборы шрифтов и цветов фона. Так же имеется возможность чередующейся окраски фона строк и (или) колонок. 5. Умеет отображать картинки как прозрачные, так и не прозрачные в любой из ячеек с требуемой привязкой относительно границ ячейки. 6. Умеет отображать текст и в многострочном и в обычном режиме (в одну строку) с автоматической заменой не вмещающегося в границы ячейки текста на многоточие ("..."). При этом так же имеется возможность его позиционирования относительно границ ячейки. 7. Фиксированные ячейки могут исполнять роль кнопок. Для этого предусмотрена анимация нажатия и имеются соответствующие события. 8. Поддерживается сортировка строк с помощью внешних функций сравнения. При этом возможна сортировка и всех строк и только не фиксированной области строк. 9. Для хранения разнообразных внешних данных каждая строка, колонка и ячейка предоставляет возможность использования указателей типа void * (pointer). Для своевременной инициализации и очистки данных так же предусмотрены соответствующие события. 10. Имеется полный набор событий для ручной прорисовки ячеек. Компонент бесплатный. Примеры работ с использованием компонента TRGrid: ![]() ![]() ![]() P.S Компонент TRGrid обновлён до версии 1.20. Текущая сборка содержит исходники компонента и примера. А также, полный хелп на русском языке в формате HLP и CHM. Это сообщение отредактировал(а) Doga - 15.5.2015, 10:53 Присоединённый файл ( Кол-во скачиваний: 184 ) ![]() |
|||
|
||||
KgCoder |
|
||||||
Шустрый ![]() Профиль Группа: Участник Сообщений: 93 Регистрация: 6.3.2008 Где: KGstan Репутация: нет Всего: нет |
Короче и красивее:
Это сообщение отредактировал(а) KgCoder - 15.4.2008, 13:09 |
||||||
|
|||||||
RA |
|
|||
![]() Брутальный буратина ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3497 Регистрация: 31.3.2002 Где: Лес Репутация: 14 Всего: 115 |
Полноценный редактор ресурсов
![]() бинарник http://www.btinternet.com/~wilsoncpw/xnresourceeditor.zip сорс http://www.btinternet.com/~wilsoncpw/xn_re...itor_source.zip Допы тут: http://www.wilsonc.demon.co.uk/files/d10/ Это сообщение отредактировал(а) RA - 17.6.2008, 13:27 Присоединённый файл ( Кол-во скачиваний: 67 ) ![]() |
|||
|
||||
Beltar |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 627 Регистрация: 11.1.2006 Репутация: 3 Всего: 7 |
2 RA
Доп компоненты не устанавливаются. Требует пакет LowLevel100. -------------------- Опытный программист на C++ легко решает любые не существующие в Паскале проблемы. ![]() Пищущий на C++ мужик. Даже если это мужик сидит в написанном на Delphi и жрущем паскалевскую библиотеку билдере. |
|||
|
||||
Bose |
|
||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1458 Регистрация: 5.3.2005 Где: Riga, Latvia Репутация: 23 Всего: 51 |
Я тут пытался разобраться, как получить список всех resourcestrings в программе. Этот вопрос неоднократно поднимался на разных форумах, но полное решение нигде не приводилось. Как оказалось, готовое решение всё же есть, и в довольно неожиданном для меня месте. В Program Files\Borland\Delphi6\Demos\ResXplor. =) Я лишь собрал все необходимые классы и типы в одном модуле.
Модуль экспортирует одну функцию scCollectResourceStrings:
у этой функции два параметра: 1) aExeFilename: string - путь до файла с ресурсами 2) aPerformForEveryFoundString: TscOnGetResString - callback фунция, вызываемая для каждого найденного ресурса строкового типа.
У callback функции два параметра: aText - resourcestring aData - представляет из себя строку формата: "ID ресурса = текст ресурса". aText и aData формируются в процедуре TStringResource.ForEveryString. Так что их формат легко изменить, подправив пару строк кода. Присоединённый файл ( Кол-во скачиваний: 34 ) ![]() |
||||
|
|||||
RA |
|
|||
![]() Брутальный буратина ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3497 Регистрация: 31.3.2002 Где: Лес Репутация: 14 Всего: 115 |
||||
|
||||
CHERRY |
|
|||
![]() Прохожий ![]() Профиль Группа: Участник Сообщений: 150 Регистрация: 17.6.2002 Где: Одесса Репутация: нет Всего: -2 |
Эта прога может читать файлы MS Word и отображать их в Мемо или RichEdit.
Тестировалась на Word-ах от Office 97 до 2003
--------------------
Трясу надежды ветвь, но где желанный плод? |
|||
|
||||
san46 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 15 Регистрация: 30.11.2006 Репутация: нет Всего: нет |
Комплексная программа для разработки баз данных различного назначения.
Когда перед программистом, работающим с Delphi, встает задача сделать серьезную базу данных, то выбор у него невелик, особенно, если речь идет о бесплатных инструментах и бесплатных СУБД. Firebird и IBX (закладка "Intrbase" в палитре компонентов Delphi) вот, пожалуй, и весь выбор. Для тех, кто в разработку баз данных не ввязывался, конечно, могут все начать с нуля, но предлагаю обратить внимание на эту программу. "Комплексность" предлагаемой программы заключается в том, что разработчик базы данных (назовем это проектом) и пользователь проекта действуют в одной среде - все взаимосвязано. Программа сделана на Delphi, в роли СУБД выступает Firebird. Разработка предлагаемой программы началась в 2002 году и до сегодняшнего дня поддерживается. Некоторые возможности программы: (далее термин Справочник - эквивалент термина Таблица, который используется в большинстве СУБД). - Создание справочников любой структуры. Для ввода табличных данных можно создавать элементы структуры типа "таблица". Все или часть структурных элементов разработчик размещает на форме ввода, в которые пользователь будет вводить данные. Объекты связанные с элементами типа "таблица" отображаются на форме для ввода данных именно как таблица. К объектам ввода можно "привязывать" функции для обработки вводимых данных. Все это несколько напоминает работу в Delphi. - Логические связи справочников и их данных. Понятие это расплывчато и, если конкретные логические связи зависят от задачи, то для примера, под этим можно понимать и ссылочную целостность данных, и возможность создания записей одного справочника из другого, и что-то еще - все зависит от целей проекта базы данных. - Изменения проекта разработчиком может происходить "на лету", т.е. в период эксплуатации уже готового проекта разработчиком могут вноситься изменения любого рода. - В справочниках можно разрабатывать отчеты различного вида, в т.ч. и табличного для печати. Есть и специальные отчеты-справочники, которые не хранят данные в базе, а требуются только для того чтобы собирать информацию из базы и формировать отчеты (печатные формы). - Есть экспорт данных в наиболее популярные приложения (MS Office и OpenOffice). - Ограничение доступа пользователей к определенной разработчиком группе справочников. - Возможно задействовать иерархическую модель справочников - справочники могут быть вложенными один в другой с любой степенью вложенности (характеристики "родительского" справочника могут наследоваться полностью или частично). - Встроенный язык программирования с более чем 140 встроенных функций, оптимизированных по скорости выполнения. - Библиотека функций разработчика проекта, где он может писать свои функции, доступные из любого места проекта. - Работа с плагинами (DLL) и DBF файлами. И еще много чего есть в этой разработке. Работа "комплекса" происходит через локальную сеть. Возможна работа через интернет с помощью VPN или ZeBeDee без каких либо переделок. Для ознакомления можно скачать однопользовательскую сборку. Для ее работы не нужно устанавливать Firebird. Но полноценная работа с проектами и в этом случае гарантируется, т.к. управляется база тем же сервером Firebird, но называемым Embedded, который устанавливать не требуется. Для работы в сети нужна сетевая сборка (также свободна для скачивания). Проекты разработанные и в однопользовательской и в сетевой сборках одинаковы. Различие только в методе соединения с базами содержащие проекты. Все это удовольствие БЕСПЛАТНО. Плюс бесплатный Firebird. При необходимости можно использовать и бесплатный OpenOffice. Ресурс здесь: http://san-46.narod.ru Это сообщение отредактировал(а) san46 - 13.11.2008, 09:40 |
|||
|
||||
Akella |
|
||||||||||||||||||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 36 Всего: 329 |
Пример организации панели кнопок как у 1С в многодокументальном приложении (MDI).
Создание и показ кнопки на панели. Этот код вызывается при создании каждой дочерней формы
пример использования
т.е. на каждую форму вешаем код создания кнопки ( fmMain.CreateFormButton(self)) Код удаления кнопки с панели при закрытии формы
Пример использования (код цепляем на событие закрытия каждой дочерней формы)
Код подсвечивания кнопки активного окна, тоже цепляем на событие активации каждой дочерней формы
Пример использования
В секции private главной формы
Код который будет выполняться при нажатии на кнопку на панели
При создании главной формы
На главной форме внизу лежит Bar1 типа TdxBar |
||||||||||||||||||
|
|||||||||||||||||||
RA |
|
|||
![]() Брутальный буратина ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3497 Регистрация: 31.3.2002 Где: Лес Репутация: 14 Всего: 115 |
Эмулятор наличия запущеной IDE Delphi
Присоединённый файл ( Кол-во скачиваний: 33 ) ![]() |
|||
|
||||
hkdkest |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 300 Регистрация: 30.11.2008 Репутация: нет Всего: 1 |
Исходники:
• База данных фильмов FilmsBase ![]() Привязка к записи скринщота и видео файла. Воспроизведение происходит средствами программы FilmsBase. Реализован поиск (как в Chetmax) и фильтр по жанрам. • БД сеть компьютерных магазинов Задача курсового проекта заключается в создании такой информационной системы, которая включала бы в себя следующие возможности: 1. Добавление, удаление и редактирование информации о магазинах, продавцах, поставщиках, продажах, покупателях, заказах, комплектующих, каталоге. Необходимо предусмотреть для обеспечения наиболее эффективной работы пользователя удаление и редактирование путем непосредственного выбора записи из таблицы. 2. Просмотр информации о магазинах, продавцах, поставщиках, продажах, покупателях, заказах, комплектующих, каталоге. 3. Просмотр и печать информации о проданных товарах, содержащей сведения о покупателе, магазине, количестве и цене конкретного товара. 4. Просмотр и печать информации о комплектующих требуемого компьютера. 5. Осуществление поиска необходимой информации о товарах, магазинах, продавцах, поставщиках, продажах, покупателях, заказах, комплектующих и каталоге. 6. Осуществление операций продажи, заказов, а также, просмотр полного перечня сотрудников, клиентов и поставщиков конкретного магазина, выбор которого осуществляется при запуске клиентского приложения. 7. Возможность перехода из системы текущего магазина в систему необходимого. 8. Возможность входа в систему с разными уровнями доступа к данным: пользовательский (осуществляет только просмотр информации) и администраторский (осуществляет все возможные операции, представленные в системе). 9. Возможность смены пользователя в ходе работы программы. 10. Осуществление контроля введенных данных: проверка на соответствие типов, на ввод обязательных полей данных , а также, на ввод только возможных значений, считываемых из необходимых таблиц. 11. Возможность просмотра информации из таблиц в режиме реального времени. • Распознавание идентификаторов при лексическом анализе программ ![]() Разработанная программа производит лексический анализ исходного текста программы, написанной на языке программирования Pascal, распознает идентификаторы следующего типа: имена массивов, процедур, функций. В языках программирования выделяются следующие основные типы лексем: • Идентификаторы; • Служебные слова; • Целые и вещественные константы; • Строки; • Операции; • Разделители. В ходе лексического анализа происходит разбиение входной строки символов на лексические единицы и обработка выделенных лексем. Программа проста в использовании и рассчитана на средний уровень квалификации возможного пользователя. • Игра "Астероиды" |
|||
|
||||
Yanis |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2937 Регистрация: 9.2.2004 Где: Москва Репутация: 72 Всего: 111 |
Склонение временных единиц соответственно числу.
Согласитесь, довольно криво звучит и выглядит: 1 минут(ы) или 5 года(лет). Понадобилось и я написал функцию, которая определяет какой падеж подставлять к числу n. Вторым параметром в функции идёт размерность единицы: секунды, минуты, час, день, неделя, месяц, год, век. Больше измерений не придумал, но при желании легко добавить. Главное сохранять порядок — по возрастанию.
|
|||
|
||||
sbfactory |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 26 Регистрация: 26.2.2010 Репутация: нет Всего: нет |
Доброго времени суток уважаемые коллеги и просто любители программирования.
Решил выложить 100% рабочую сборку библиотеки GDI+ (с рабочим модулем Direct Draw) Для Delphi 2010 (скачать). Лучшее описание, которое встречал тут - http://www.rsdn.ru/article/gdi/gdiplus2mag.xml Если у кого будут вопросы по установке и использованию, могу проконсультировать: ICQ 571-880-051; С уважением к вам, Сергей. Это сообщение отредактировал(а) sbfactory - 19.4.2010, 12:08 |
|||
|
||||
SeregaAltmer |
|
|||
Новичок Профиль Группа: Участник Сообщений: 13 Регистрация: 15.9.2010 Репутация: нет Всего: нет |
TOptions. Компонент Delphi для удобной работы с опциями.
TOptions - небольшой но мощный инструмент, организующий удобную работу с опциями. Компонент представляет собой удобный, полноценый интерфейс для работы с опциями. Используя его в своих программах вы по максимуму минимизируете свои временные затраты, на разработку модуля по работе с опциями. Для хранения опций, компонент позволяет использовать: реестр, ini-файлы и оперативную память. Компонент может самостоятельно взаимодействовать с "контролами настроек" расположенными на форме с опциями. ссылка на офсайт ![]() Это сообщение отредактировал(а) SeregaAltmer - 21.9.2010, 14:36 |
|||
|
||||
RomanEEP |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 424 Регистрация: 18.5.2006 Где: Коломна Репутация: 5 Всего: 8 |
Компактный и очень быстрый формат хранения данных. Задуман как замена xml в тех местах, где нужна очень большая скрость чтения/записи.
Использование:
Обновил - ускорена работа в целом + уменьшен размер файла засчет спец записи пустых строк и записи целых чисел < 255 как байт Это сообщение отредактировал(а) RomanEEP - 20.10.2011, 16:54 Присоединённый файл ( Кол-во скачиваний: 38 ) ![]() |
|||
|
||||
igorsh |
|
||||
Новичок Профиль Группа: Участник Сообщений: 17 Регистрация: 20.3.2006 Репутация: нет Всего: нет |
Расширение функциональности компонента TcxLookupComboBox из библиотеки DevExpress. Если у компонента установлено свойство IncrementalFilteringLike, то при наборе текста в выпадающем списке строки фильтруются по вхождению (т.е. применяется оператор LIKE).
Расширение реализовано через "хак" (делалось для Delphi 2007), но в Delphi 2010 это можно сделать законным способом через helpers. Код юнита:
Использование: В секции uses раздела interface самым последним в списке юнитов указываем UcxLookupComboBoxExt, теперь все компоненты TcxLookupComboBox, которые есть на форме получать дополнительную функциональность. Далее в конструкторе формы у нужных компонентов TcxLookupComboBox выставляем свойство IncrementalFilteringLike := True; Пример:
|
||||
|
|||||
V0LT |
|
||||
Шустрый ![]() Профиль Группа: Участник Сообщений: 91 Регистрация: 16.6.2009 Репутация: нет Всего: 2 |
Простой класс для работы с базой Firebird позволяет организовать запрос в минимум строк
Бонус: автоматически создающаяся и удаляющаяся транзакция, отличное быстродействие, отличная замена IBQuery, юзается на крупном проекте ![]() Пример
Реализация класса
Это сообщение отредактировал(а) V0LT - 9.10.2012, 11:53 |
||||
|
|||||
san46 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 15 Регистрация: 30.11.2006 Репутация: нет Всего: нет |
|
|||
|
||||
V0LT |
|
||||
Шустрый ![]() Профиль Группа: Участник Сообщений: 91 Регистрация: 16.6.2009 Репутация: нет Всего: 2 |
По хорошему я бы это написал в данный класс но мне это потребовалось лишь однажды
... а можно переделать конструктор так, что бы в деструкторе производилось либо commit либо rollback
... и ещё, так же деструктор класса возможно лучше обернуть в try ... except и в except добавил бы Rollback пример ниже не люблю я try ... except ![]()
Это сообщение отредактировал(а) V0LT - 12.5.2012, 15:37 |
||||
|
|||||
V0LT |
|
||||||
Шустрый ![]() Профиль Группа: Участник Сообщений: 91 Регистрация: 16.6.2009 Репутация: нет Всего: 2 |
Новый TIBSQLWT - теперь банановый с rollback'ом
Это сообщение отредактировал(а) V0LT - 12.5.2012, 16:00 |
||||||
|
|||||||
san46 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 15 Регистрация: 30.11.2006 Репутация: нет Всего: нет |
Спасибо. Это сообщение отредактировал(а) san46 - 12.5.2012, 15:59 |
|||
|
||||
V0LT |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 91 Регистрация: 16.6.2009 Репутация: нет Всего: 2 |
всегда пожалуйста
![]() ... я думаю было бы полезно обмениваться не только громоздкими исходниками новейших классов, но и различными надстройками над классами |
|||
|
||||
V0LT |
|
||||
Шустрый ![]() Профиль Группа: Участник Сообщений: 91 Регистрация: 16.6.2009 Репутация: нет Всего: 2 |
И снова обновление класса TIBSQLWT
![]() Использовать так ... и никак иначе
А тем временем в классе ...
Это сообщение отредактировал(а) V0LT - 9.10.2012, 11:55 |
||||
|
|||||
Akella |
|
|||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 36 Всего: 329 |
||||
|
||||
V0LT |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 91 Регистрация: 16.6.2009 Репутация: нет Всего: 2 |
Исходник класса TIBSQLWT - для выполнения SQL запросов (Firebird)
Это сообщение отредактировал(а) V0LT - 9.10.2012, 11:56 Присоединённый файл ( Кол-во скачиваний: 9 ) ![]() |
|||
|
||||
CynicRus |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 248 Регистрация: 31.5.2012 Репутация: нет Всего: 5 |
Сей модуль был написан мной на Delphi XE, но должен без проблем скомпилироваться в любой другой версии дельфей , для Lazarus+FPC будет необходимо внести небольшие коррективы. Модуль реализует функциональность 'human-like mouse movements', тоесть движения мышью как человеческие. Модуль будет полезен для тех, кто разрабатывает всяческих ботов для игр или интернет казино\покера. Не требует никаких дополнительных модулей кроме Windows.pas.
В архиве собственно юнит и небольшая демка. Присоединённый файл ( Кол-во скачиваний: 11 ) ![]() |
|||
|
||||
ЧеловекБорща |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 94 Регистрация: 5.6.2010 Репутация: нет Всего: нет |
Доброго времени.
Сетевой компонент для работы с HTTP протоколом. В основу лег довольно простой, без наворотов, Synapse THTTPSend, вместе с этим каждый раз нужно дико нагромождать кода, для тойже отправи TMultipartformdataStream куда-либо, что не айс. Потому написал для этого наворот. Естественно, я некоторые вещи улучшил в наследнике(THTTPSendEx). Основные отличия от оригинала:
В планах реализовать автоматическую поддержку GZIP ну и с Cookies что-то придумать.. Требования к использованию:
Предложения, комментарии, критика и исправления - приветствуются на сайте или email. Это сообщение отредактировал(а) ЧеловекБорща - 25.6.2013, 19:04 Присоединённый файл ( Кол-во скачиваний: 13 ) ![]() |
|||
|
||||
Beltar |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 627 Регистрация: 11.1.2006 Репутация: 3 Всего: 7 |
Lines на доске из шестиугольников, зачем и почему оно сделано никто не знает. Для отрисовки использовался сей двиг.
http://www.afterwarp.net/asphyre/files/AsphyreSphinx304.rar Сырец XE3. Технически ничего интересного, несложная рисовка с помощью готового DirectX движка, чтобы игра не занимала проц на 100% есть ограничение fps. Алгоритм Дейкстры и самопальный алгоритм определения клика по шестиугольной клетке. Была идея сделать уничтожение нескольких типов фигур, как в Lines 98, но так и не сделано. Это сообщение отредактировал(а) Beltar - 30.10.2013, 22:05 Присоединённый файл ( Кол-во скачиваний: 5 ) ![]() -------------------- Опытный программист на C++ легко решает любые не существующие в Паскале проблемы. ![]() Пищущий на C++ мужик. Даже если это мужик сидит в написанном на Delphi и жрущем паскалевскую библиотеку билдере. |
|||
|
||||
Beltar |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 627 Регистрация: 11.1.2006 Репутация: 3 Всего: 7 |
-------------------- Опытный программист на C++ легко решает любые не существующие в Паскале проблемы. ![]() Пищущий на C++ мужик. Даже если это мужик сидит в написанном на Delphi и жрущем паскалевскую библиотеку билдере. |
|||
|
||||
CynicRus |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 248 Регистрация: 31.5.2012 Репутация: нет Всего: 5 |
Класс для получения хэндлов с контролов формы, самих окон. Очень часто использую.
Как использовать - создаем экземпляр класса, и в обработчике MouseDown - вызываем метод Drag. В свойстве Handle - будет тот хэндл, который мы выделили. Это сообщение отредактировал(а) CynicRus - 11.4.2014, 13:32 |
|||
|
||||
CynicRus |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 248 Регистрация: 31.5.2012 Репутация: нет Всего: 5 |
Только что закончил, класс для создания скриншотов. Умеет снимать с помощью Winapi, DirectX,DirectDraw. Написан на Delphi XE3, проверен в Win7 x32\64.
Как использовать: Создать экземляр класса, скормить в TargetHandle - HWND требуемого окна,выставить режим снятия скриншота(ctWinapi,ctDDraw,ctDirectX), затем при нажатии кнопки выполнить метод класса ActivateClient; После GetScreenShot; и в поле Bitmap будет находится скрин окна. Внимание: Использовать режим ctDDraw Только для снятия скрина с видеоплееров и т.д. С простыми окнами оно не будет работать как надо. Это сообщение отредактировал(а) CynicRus - 12.4.2014, 15:15 |
|||
|
||||
navodri |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 173 Регистрация: 26.10.2007 Репутация: нет Всего: -1 |
Эта штука теперь здесь. На сайте можно скачать демонстрационные файлы. А вот фото примеров, которые входят в библиотеку LENIN INC WIN32API Library: ![]() |
|||
|
||||
Doga |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 115 Регистрация: 20.12.2007 Где: Россия, Обнинск Репутация: нет Всего: нет |
![]() Модифицированные компоненты TJvTabBar и TJvModernTabBarPainter из библиотеки JEDI VCL (исходник JvTabBar.pas из версии 3.47, сборка 4571). TJvTabBar может использоваться для организации закладок дочерних окон MDI-приложения, для альтернативной отрисовки закладок компонента TPageControl и многого другого. Это сообщение отредактировал(а) Doga - 9.7.2015, 14:48 Присоединённый файл ( Кол-во скачиваний: 14 ) ![]() |
|||
|
||||
kami |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1806 Регистрация: 25.8.2007 Где: Санкт-Петербург Репутация: 23 Всего: 72 |
Долго искал исходники инженерного калькулятора... К сожалению, в сети распространен только один, написанный во времена D7(или ранее), с кучей глобальных переменных, дублирующимся кодом и прочими недостатками, мешающими если не модифицировать, то хотя бы понять его.
Предлагаю упрощенный вариант, основанный на алгоритме http://algolist.ru/syntax/parsear.php Из исходного алгоритма убраны скобки (мне они были не нужны) и добавлены тригонометрические функции. Визуальная часть - фрейм FireMonkey (т.е. - минимум Delphi XE), "бакенд" использует дженерики, посему - минимум D2009. Написано под XE7. Это сообщение отредактировал(а) kami - 18.4.2015, 20:39 Присоединённый файл ( Кол-во скачиваний: 9 ) ![]() |
|||
|
||||
Beltar |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 627 Регистрация: 11.1.2006 Репутация: 3 Всего: 7 |
В сети закончились калькуляторы?
Наверное, каждый второй, начиная писать, делал свой калькулятор. У меня 10 лет назад получился вот такой. Обратная польская запись, 51 функция (считая унарные плюс/минус и т. п.), включая среднее арифметическое. Правда без бутылки там сейчас и я не разберусь, мне на это смотреть страшно. Присоединённый файл ( Кол-во скачиваний: 6 ) ![]() -------------------- Опытный программист на C++ легко решает любые не существующие в Паскале проблемы. ![]() Пищущий на C++ мужик. Даже если это мужик сидит в написанном на Delphi и жрущем паскалевскую библиотеку билдере. |
|||
|
||||
CynicRus |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 248 Регистрация: 31.5.2012 Репутация: нет Всего: 5 |
Всем привет. Выкладываю здесь, быть может кому нибудь пригодится.
И так, реализация Deformable Template Models (DTM). Суть: Есть главная точка, и подточки, содержащие в себе смещения до главной точки. В каждой точке содержится: x,y - коодинаты, color - цвет точки, tolerance - допустимая погрешность цвета, AreaSize - размер области. На данный момент не играет роли. Для поиска структуры - сперва размечаем шаблон для поиска. При поиске: бежим по изображению, если нашли цвет = цвету главной точки, бежим по смещениям в подточках - если и там все сходится, значит вот оно. Добавляем главную точку в массив и бежим дальше. В принципе - ничего сложного. Представленная программа умеет - создавать, изменять существующие, и тестировать шаблоны. А так же генерировать паскале-подобный скрипт с шаблонами, для использования в коде. Работает достаточно шустро. Скрин с разметкой: ![]() Скрин с результатами поиска: ![]() Бинарник и свежий исходный код всегда можно забрать тут: https://github.com/CynicRus/dtmeditor/releases/tag/0.9b PS: если вы нашли ###код, у вас появились мысли по оптимизации, или просто достойная критика - с радостью всё выслушаю. Лицензия GPL v 3. СУВ, Cynic. |
|||
|
||||
Дмитрий01 |
|
||||
Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 29.8.2015 Где: Сестрорецк Примор ск. ш. д. 285 Репутация: нет Всего: нет |
Не очень понимаю, что вы имеете в виду под выражением
и слово "пост" . |
||||
|
|||||
Дмитрий01 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 29.8.2015 Где: Сестрорецк Примор ск. ш. д. 285 Репутация: нет Всего: нет |
Доброго времени суток.
Предлагаю вашему вниманию простую, но удобную графическую библиотеку. За вопросами обращайтесь по E-Mail адресу. Зарание извиняюсь за её имя. Присоединённый файл ( Кол-во скачиваний: 8 ) ![]() |
|||
|
||||
Plankin |
|
|||
Новичок Профиль Группа: Участник Сообщений: 1 Регистрация: 30.1.2016 Репутация: нет Всего: нет |
Файл то передается, но самому файлу после передачи хана. Тупо передавал текстовый файл, на 3 строчки, после передача получил мусор в файле, одни знаки вопроса и все!!! |
|||
|
||||
kami |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1806 Регистрация: 25.8.2007 Где: Санкт-Петербург Репутация: 23 Всего: 72 |
Try this ![]() |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Delphi: Общие вопросы" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |