|
Модераторы: Poseidon, Snowy, bems, MetalFan |
|
p0s0l |
|
|||
Г-н Посол Профиль Группа: Экс. модератор Сообщений: 3668 Регистрация: 13.7.2003 Где: 58°38' с.ш. 4 9°41' в.д. Репутация: 58 Всего: 112 |
Не раз уже встречал случаи, когда кто-нибудь хотел выложить какие-то свои наработки в Delphi: модули, исходники, компоненты, может еще что-то. Предлагалось создавать отдельный раздел, но пока не понятно, будет ли от этого толк. Пока что создаю эту тему. В дальнейшем же будет видно насчёт отдельного раздела исходников по тому, какая тут будет активность, и как к этому отнесётся Admin.
Единственное правило - в этой теме не флеймить, тут оставлять только краткое описание модулей и ссылки к ним. Можно скинуть мне на мыло (кнопка E-Mail под моим постом) файл, и я его прикреплю к вашему сообщению при первой же возможности... -------------------- С уважением, г-н Посол. |
|||
|
||||
ДЫМ |
|
|||
Бывалый Профиль Группа: Участник Сообщений: 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: Писал ночью... т.ч. могут быть ошибки (если найдете - пишите в PM). В архиве: Inject.pas - сама функция Example.pas -Пример использования: - Выдираем в WinXP иконки из трея и добавляем их в ImageList и отображаем их в TreeView... 13 октября 2006: Поправил пример Присоединённый файл ( Кол-во скачиваний: 126 ) Girder2.zip 3,47 Kb -------------------- Как слышим, так и пишим. Истина где-то там... |
|||
|
||||
Pathfider |
|
|||
Шустрый Профиль Группа: Участник Сообщений: 128 Регистрация: 13.7.2004 Где: все там же Репутация: -1 Всего: 1 |
Накатал тут програмку от нечего делать. Можно использовать в качестве дневника или для ведения конфеденциальных записей. Применял свой алгоритм шифрования. Работает везде (по идее), тестировалась на WinXP SP2. Если будут какие либо предложения или замечания, пожалуюста напишите!
Присоединённый файл ( Кол-во скачиваний: 271 ) Diry.zip --------------------
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 ) PSL_RemoteCall.zip -------------------- С уважением, г-н Посол. |
||||||
|
|||||||
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 ) rGirder.zip -------------------- Как слышим, так и пишим. Истина где-то там... |
|||
|
||||
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 ) DFA.ZIP -------------------- С уважением, г-н Посол. |
|||
|
||||
RA |
|
|||
Брутальный буратина Профиль Группа: Участник Клуба Сообщений: 3497 Регистрация: 31.3.2002 Где: Лес Репутация: 14 Всего: 115 |
Пример реализации Русско-Английского KeyLoggera Средствами WinApi
Присоединённый файл ( Кол-во скачиваний: 287 ) xKeyLoger.rar |
|||
|
||||
RA |
|
|||
Брутальный буратина Профиль Группа: Участник Клуба Сообщений: 3497 Регистрация: 31.3.2002 Где: Лес Репутация: 14 Всего: 115 |
* Пример внедрения длл в чужой процесс
* Пример перехвата функций Api: FindNextFile..., RegEnumValue..., FormatMessage..., WinExec..., ShellExecute..., CreateProcess... . Таким образом можно скрывать имена файлов, ключи в реестре, открытые порты, и запрещать запуск определённых файлов. Присоединённый файл ( Кол-во скачиваний: 428 ) ApiHook.rar |
|||
|
||||
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 - её вообще нет... Функция:
В примере рассматривается алгоритм поиска потока отвечающий за панель задач. Основан он на том что если поток остановить(а для этого мы должны получить дескриптор потока с соответствующими правами) и обратится к его любым методам и свойствам из другого потока, то поток инициатор обращения тоже "как бы уснет"... . Для этого используется SendMessage(TrayWnd,SW_Show,0,0) - которая будет ждать результат обработки сообщения... В архиве: сама функция и пример её использования... Это сообщение отредактировал(а) Girder - 3.12.2004, 13:27 Присоединённый файл ( Кол-во скачиваний: 110 ) OpenThread.zip -------------------- Как слышим, так и пишим. Истина где-то там... |
|||
|
||||
Dr Smth |
|
|||
Шустрый Профиль Группа: Участник Сообщений: 100 Регистрация: 11.10.2004 Где: New Podrezkovo Репутация: нет Всего: 1 |
Модуль позволяющий, любые конвертации между темперетурными шкалами Цельсия, Фаренгейта, Ренкина и Реомюра.
Всего 20 функций, названия которых гроворят сами за себя:
Присоединённый файл ( Кол-во скачиваний: 103 ) Temperature.zip |
|||
|
||||
Правила форума "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. |