Последние записи
- Windows 10 сменить администратора
- Рандомное слайдшоу
- Событие для произвольной области внутри TImage
- Удаление папки с файлами
- Распечатка файла
- Преобразовать массив байт в вещественное число (single)
- TChromium (CEF3), сохранение изображений
- Как в Delphi XE обнулить таймер?
- Изменить цвет шрифта TextBox на форме
- Ресайз PNG без потери прозрачности
Интенсив по Python: Работа с API и фреймворками 24-26 ИЮНЯ 2022. Знаете Python, но хотите расширить свои навыки?
Slurm подготовили для вас особенный продукт! Оставить заявку по ссылке - https://slurm.club/3MeqNEk
Online-курс Java с оплатой после трудоустройства. Каждый выпускник получает предложение о работе
И зарплату на 30% выше ожидаемой, подробнее на сайте академии, ссылка - ttps://clck.ru/fCrQw
23rd
Июл
Drag & Drop компоненты
mutabor:
Я тут расспрашивал вас о разных компонентах. Хочу тоже поделиться полезной информацией. Если кому нужны будут компоненты для перетаскивания, посмотрите на эти, очень хорошая вещь.
23rd
Как конвертировать *.bmp в *.ico.
Posted by bullvinkle under Исходники, Пост-обзор
Код:
……………………
type
TForm1 = class(TForm)
Button1: TButton;
procedure FormCreate(Sender: TObject);
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
BitBuf: TBitMap;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
begin
BitBuf:= TBitMap.Create;
BitBuf.LoadFromFile(’1.bmp’);
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
BitBuf.SaveToFile(’1.ico’);
end;
end.
На форму “бросьте” кнопку Button1, в папку с проектом – файл BMP (как пример – 1.bmp) для преобразования в иконку (32 х 32 pixels).
22nd
Июл
Парсер сайта на Делфи.
20th
Июл
Загрузка bmp в TImage на WinApi
{
Данный код был спроектирован в среде APIx - Visual WinAPI 2
Copyright (c) PiddleSoft 2004-2006
http://piddlesoft.narod.ru
piddlesoft@mail.ru
Дата генерации листинга - 19.07.2010 16:05:36
}
program APIx_Project26;
uses
windows, messages, commctrl; //Используемые модули
// Иконка
{$R 'icon.res'}
var
WinClass : TWndClass; //переменная класса TWndClass для создания главного окна
hInst : HWND; //хандлер приложения
Handle : HWND; //локальный хандлер
Msg : TMSG; //сообщение
Bmp : HBITMAP;
hFont : HWND; //хандлер шрифта
Image1 : HWND; //TImage
{$R 'D:\_MainDir\APIx 2 - Visual WinAPI\temp\bitmaps.res'}
procedure ShutDown; //процедура завершения программы
begin
DeleteObject(hFont); //удаление шрифта
UnRegisterClass('TAPIxForm', hInst); //удаление окна
ExitProcess(hInst); //закрытие программы
end;
function WindowProc(hwnd, msg, wparam, lparam: longint): longint; stdcall; //обработчик сообщений
begin
Result := DefWindowProc(hwnd, msg, wparam, lparam);
case Msg of
WM_DESTROY: ShutDown;
end;
end;
begin
hInst := GetModuleHandle(nil);
with WinClass do
begin
Style := CS_PARENTDC; //стиль класса главного окна
hIcon := LoadIcon(hInst, MAKEINTRESOURCE('APIXICON')); //иконка программы
lpfnWndProc := @WindowProc; //назначение обработчика сообщений
hInstance := hInst;
hbrBackground := COLOR_BTNFACE + 1; //цвет окна
lpszClassName := 'TAPIxForm'; //класс окна
hCursor := LoadCursor(0, IDC_ARROW); //активный курсор
end;
InitCommonControls;
RegisterClass(WinClass); //регистрация класса в системе
// Создание главного окна программы
Handle := CreateWindowEx(0, 'TAPIxForm', 'Форма1',
WS_OVERLAPPEDWINDOW or
WS_VISIBLE or WS_MINIMIZEBOX or WS_MAXIMIZEBOX or WS_SYSMENU,
219, 116, 550, 366,
0, 0,
hInst, nil);
// Создание шрифта
hFont := CreateFont(
-11, 0, 0, 0, 0, 0, 0, 0,
DEFAULT_CHARSET,
OUT_DEFAULT_PRECIS,
CLIP_DEFAULT_PRECIS,
DEFAULT_QUALITY,
DEFAULT_PITCH or FF_DONTCARE, 'MS Sans Serif');
Image1 := CreateWindow(
'Static',
'' ,
WS_CHILD or SS_BITMAP or WS_VISIBLE,
104, 88, 225, 145, Handle, 0, hInst, nil);
SendMessage(Image1, WM_SETFONT, hFont, 0);
Bmp := LoadBitmap(hInstance, MAKEINTRESOURCE('Image1'));
SendMessage(Image1, STM_SETIMAGE, IMAGE_BITMAP, Bmp);
// Цикл сбора сообщений
while(GetMessage(Msg, 0, 0, 0)) do
begin
TranslateMessage(Msg); //прием сообщений
DispatchMessage(Msg); //удаление сообщений из очереди
end;
end.
bmp – это HBitmap
20th
Как в Delphi сделать принтскрин и пережать в jpeg формат?
procedure GetRS(RS:TBitmap; Path: string);
var
c: TCanvas;
r: TRect;
jpgImg: TJPEGImage;
begin
c:=Tc.Create;
c.Handle:=getWindowDC(GetDesktopWindow);
try
r:=Rect(0,0,screen.Width,screen.Height);
RS.Width:=screen.Width;
RS.Height:=screen.Height;
RS.Canvas.CopyRect(r,c,r);
RS.SaveToFile(Path);
jpgImg := TJPEGImage.Create;
jpgImg.Assign(RS);
jpgImg.SaveToFile(Path)
finally
ReleaseDC(0,c.Handle);
c.Free;
jpgImg.Free;
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
b: TBitMap;
begin
b:=TBitMap.Create;
GetRS(b,ExtractFilePath(Application.ExeName) + IntToStr(i) + ‘.jpg’);
b.Free;
Inc(i);
end;
19th
Июл
Универсальный совет для дизассемблирования
Это очень обширная тема, и, естесственно, не бывает универсальной методики, а бывают килограммы книг по дизассемблированию (копать в сторону Криса Касперски). Но вот есть что-то общее для этой темы:
Здравствуйте уважаемые формучане, есть проблемма с получением исходников из ехе приложения, упакован Armadilio, помогите советом, или прийдется позновать все тонкости дизассемблирования ((((….
1) Открой прогу в PEID(можно скачать с www.cracklab.ru) и определи версию упаковщика Armadillo.
2) Распакуй(распаковщик для Armadillo на этом же сайте) свою прогу и еще раз
открой в PEID(или можно в EXEINFO) чтобы узнать на чем же писали и версию компилятора.
3) Если нужен диззассемблированный код открой в OllyDebuger v 1.10(не 2.0) или
IDA advanced pro и анализируй код до посинения.
4) Если нужен именно исходник то после определения на чем писалось и версии
компилятора делай так:
Если покажет Delphi то декомпилируй в DeDe
Если С++ то декомпилер от HexRays тебе в руки(кстати вместе с IDA как плугин
прикрепляют).
Если честно современными декомпиляторами можно получить многое о коде но не
все(Даже и не думай об обратной компиляции исходника полученного таким способом). Поэтому шоб получить читабельный компилябельный код надо хроршо
погимориться над этим.
Кстати еще можно попробовать SourceRescuer для декомпиляции С++ Builder
19th
Перемещение TImage по форме. Как это сделать?
dmitriegorovih:
Значит у меня Delphi 7
кидаем на форму image1 и кнопку, чтоб создавались image(ы)
во “всеобщий var” пишем следующиеvar
x2,y2,n:integer;
nagata:boolean;в обработчике onmousedown пишем следующие
procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
nagata:=true;
x2:=x;
y2:=y;
end;в обработчике onMouseMove пишем следующие
procedure TForm1.Image1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
if nagata=true then begin
if xx2 then begin
Timage(sender).Left:=Timage(sender).Left+(x-x2)
end;
if yy2 then begin
Timage(sender).Top:=Timage(sender).Top+(y-y2)
end;
end;
end;в обработчике onMouseUp пишем следующие
procedure TForm1.Image1MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
nagata:=false;
end;по нажатию кнопки пишем следующие
procedure TForm1.Button1Click(Sender: TObject);
Var K:Timage;
Begin
K:=Timage.create(self);
k.parent:=self;
k.picture:=image1.picture;
k.onMouseMove:=image1.onMouseMove;
k.onMouseDown:=image1. onMouseDown;
k.onMouseUp:=image1.onMouseUp;
k.name:=’Image_’+inttostr(n);
inc(n);
end;
Ещё один способ:
Кидаем на форму TPanel На нее кидаем TImage, и расстягиваем Image на AlClient чтоб оно заполнило всю панель.
Далее в в обработчике зажатия мышки для Image пишем:
procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
const Sc_dragmove = $F012;
begin
ReleaseCapture;
Panel1.Perform(WM_SYSCOMMAND, Sc_dragmove, 0);
end;
19th
Delphi+MySQL. Какой компонент можно использовать?
Posted by Chas under Пост-обзор
MySQL Data Access Components v5.90.0.57 (Delphi 5-2010)
MySQL Data Access Components (MyDAC) – это расширенная библиотека VCL / VCL DOT NET / CLX компонентов для быстрого прямого доступа к серверам MySQL из Delphi, C++Builder и Kylix. MyDAC тщательно протестирован на производительность и стабильность для обеспечения наиболее быстрого соединения по сетевому протоколу с MySQL.
— Прямой доступ к данным сервера. Не требует установки других средств доступа к данным (таких как BDE и ODBC).
— В Direct режиме не требует клиента MySQL, а работает напрямую через TCP/IP.
— Полная поддержка последних версий MySQL и всех типов данных MySQL.
— Disconnected Model с автоматическим контролем соединения для работы с данными в режиме offline.
— Local Failover для обнаружения потери соединения и перевыполнения определенных операций.
— Все типы локальной сортировки и фильтрации.
— Автоматическое обновление данных с помощью компонентов TMyQuery, TMyTable и TMyStoredComponents.
— Поддержка Unicode и национальных кодировок.
— Поддержка специфических для MySQL типов данных и функций, таких как блокировка, типы данных SET и ENUM.
— Расширенная функциональность выполнения скриптов при помощи компонента TMyScript.
— Поддержка макроподстановок в текстах запросов.
— Интеграция с MySQL Developer Tools для решения сложных задач разработки и администрирования баз данных.
— Простая миграция с BDE с помощью Migration Wizard.
19th
Как установить принтер. WinApi и С++
TCHAR temp[MAX_PATH];
DWORD size = MAX_PATH;
GetDefaultPrinter(temp, &size);
HDC hDC = CreateDC(NULL, temp, NULL, NULL);
if(hDC){
DOCINFO docinfo;
docinfo.cbSize = sizeof(docinfo);
docinfo.lpszDocName = _T("Simple");
docinfo.lpszOutput = NULL:
docinfo.lpszDatatype = _T("EMF");
docinfo.fwType = 0;
if(StartDoc(hDC, &docinfo) > 0){
if(StartPage(hDC) > 0){
TextOut(hDC, ....);
EndPage(hDC);
}
EndDoc(hDC);
}
DeleteDC(hDC);
18th
Июл
Использование оператора goto в современных программах
Electron:
Можно ли при написании современных программ использовать оператор goto. И не могу понять почему все так избегают этот оператор как злую собаку. Все равно на низком уровне после дизассемблирования там же есть что то вроде jmp,jz,jnz(тоже goto). Так почему же на ЯВУ нельзя?
Облако меток
css реестр ассемблер timer SaveToFile ShellExecute программы массив советы word MySQL SQL ListView pos random компоненты дата LoadFromFile form база данных сеть html php RichEdit indy строки Win Api tstringlist Image мысли макросы Edit ListBox office C/C++ memo графика StringGrid canvas поиск файл Pascal форма Файлы интернет Microsoft Office Excel excel winapi журнал ПРОграммист DelphiКупить рекламу на сайте за 1000 руб
пишите сюда - alarforum@yandex.ru
Да и по любым другим вопросам пишите на почту
пеллетные котлы
Пеллетный котел Emtas
Наши форумы по программированию:
- Форум Web программирование (веб)
- Delphi форумы
- Форумы C (Си)
- Форум .NET Frameworks (точка нет фреймворки)
- Форум Java (джава)
- Форум низкоуровневое программирование
- Форум VBA (вба)
- Форум OpenGL
- Форум DirectX
- Форум CAD проектирование
- Форум по операционным системам
- Форум Software (Софт)
- Форум Hardware (Компьютерное железо)