Последние записи
- Функция выбора вариантов (choice) на CMD/BAT
- Поиск значения и вставка текста
- Быстрый доступ к пикселям
- Количество сотых долей секунды, прошедших с начала дня (CMD, BAT)
- Как по даблклику крутить значения ячейки по кругу (Microsoft Office Excel)?
- Запустить батник в свернутом окне
- Как получить доступ к массиву пикселов DIB
- Модуль числа |a| без условных операций на CMD
- Как копировать текст из блока в буфер обмена?
- Получение ProductKey установленной Windows
Интенсив по Python: Работа с API и фреймворками 24-26 ИЮНЯ 2022. Знаете Python, но хотите расширить свои навыки?
Slurm подготовили для вас особенный продукт! Оставить заявку по ссылке - https://slurm.club/3MeqNEk
Online-курс Java с оплатой после трудоустройства. Каждый выпускник получает предложение о работе
И зарплату на 30% выше ожидаемой, подробнее на сайте академии, ссылка - ttps://clck.ru/fCrQw
2nd
Мар
Быстрый доступ к пикселям
Вот Вам быстрый доступ к пикселам.
Пользуюсь давно. Работает быстро и замечательно.
К сожалению автор не известен
TMyClass
private
fDelta; integer;
fStart: integer;
end;
...
function TMyClass.GetPixels(X, Y: integer): integer; assembler;
asm
imul ecx,[eax].fDelta
add ecx,[eax].fStart
add ecx,edx
movzx eax,WORD PTR [ecx+2*edx]
bswap eax
shr eax,8
movzx ecx, BYTE PTR [ecx+2*edx+2]
or eax,ecx
end;
procedure TMyClass.SetPixels(X, Y: integer; {color}const Value: integer); assembler;
asm
imul ecx,[eax].fDelta
add ecx,[eax].fStart
lea edx,[edx+edx*2]
mov eax,[ebp+8] //Value
bswap eax
shr eax, 8
mov [ecx+edx],ax
shr eax, 16
mov [ecx+edx+2],al
end;
procedure TMyClass.Mymethod;
begin
if (bmp = nil) or bmp.Empty then Exit;
bmp.PixelFormat := pf24bit;
fStart := integer(bmp.Scanline[0]);
fDelta := integer(bmp.Scanline[1]) - fStart;
...
end;
11th
Фев
Как получить доступ к массиву пикселов DIB
Создаю HBITMAP
var
bi: BITMAPINFO;
hB: HBITMAP;
DC: HDC;
Scr: Pointer;
begin
DC := CreateCompatibleDC(0);
FillChar(bi, SizeOf(bi), 0);
bi.bmiHeader.biSize := SizeOf(BITMAPINFOHEADER);
bi.bmiHeader.biWidth := asize.cx;
bi.bmiHeader.biHeight := asize.cy;
bi.bmiHeader.biPlanes := 1;
bi.bmiHeader.biBitCount := 32;
bi.bmiHeader.biCompression := BI_RGB;
bi.bmiHeader.biSizeImage := asize.cx * asize.cy * 4;
Scr := nil;
hB := CreateDIBSection(DC, bi, DIB_RGB_COLORS, Scr, 0, 0);
Как получить доступ к R,G,B,A значениям каждого пиксела через указатель Scr?
16th
Янв
Как парсить https сайт ?
Как парсить https сайт? В http получается, но https не парсит.
var
IdHTTP: TIdHTTP;
StrPars,St :string;
s:Tstringlist;
begin
s:=TStringList.Create;
IdHTTP:=TIdHTTP.Create(Self);
s.text:=IdHTTP.Get('http://........./');
StrPars:=s.text;
Delete(StrPars,1,pos('<td>',StrPars)+1);
st:=copy(StrPars,3,pos('</td>',StrPars)-3);
label1.Caption:=(St);
end;
19th
Дек
Узнать дату окончания сертификата
Есть куча *.cer файлов. Как программно узнать дату окончания сертификата?
23rd
Ноя
Динамические массивы в Lazarus / Delphi — индексация элементов
Привет, приведите листинг примера создания динамического символьного массива (занесения к примеру элементы: Катя, Петя, Лена и вывод одного из них скажем в Memo1 )
13th
Ноя
Дата и время изменения файла
Мне нужно в ячейку StringGrid поместить дату и время изменения файла
Делаю это так:
function ReadDate(FN:String):String
var
W: WideString; // полное имя файла
Dat:TDateTime;
FHandle: Integer;
begin
W:=FN;
FHandle := FileOpen(w, 0);
Dat:= FileDateToDateTime(FileGetDate(FHandle));
Result:= FormatDateTime('yyyy.mm.dd.hh.nn.ss', Dat);
end;
Однако, полученное время отличается от видимого в свойствах файла (в проводнике)
Например:
получено 2008.08.26.19.42.02
в свойствах 26.08.2008 20:42
То есть, ровно на час (если файл был изменен за час до нового года, то на год)
Что интересно, если дату изменения вернуть назад функцией FileSetDate,
то дата в свойствах файла становится на час моложе (прибавляется час)
Сам вопрос:
Можно ли не особенно исхитряясь получить дату съемки полностью соответствующую таковой в свойствах файла.
Если нельзя, то как выяснить (программно) региональные настройки Windows и как их использовать для коррекции полученной даты (нужно их как-то преобразовать, а затем сложить или вычесть…)
15th
Авг
Передать фокус элементу до отображения формы по ShowModal
Хотел сделать такой вот код, но он выдал ошибку в процессе исполнения
E.SetFocus;
If F.ShowModal ...
Где E — TEdit на форме F
Вопрос: как сделать фокус на E при том что я запускаю форму через ShowModal?
20th
Июл
Управление компонентами интерфейса
Delphi7.
На форме есть Panel на ней лежат компоненты StatusBar и Button.
При выполнении Panel.Enabled:=false
компоненты уже не реагируют на нажатия но визуально они не меняются на серые
Нужно что бы при отключении панели было визуально видно что все компоненты лежащие на ней стали не активны.
Как такое реализовать малой кровью?
17th
Июн
Проиграть wav
Как мне проигрывать wav так, чтоб можно было контролировать воспроизведение. Собственно нужно только PLAY и STOP.
(читать всё…)
Облако меток
ассемблер timer select SaveToFile ShellExecute TBitMap советы программы массив word MySQL ListView SQL pos random компоненты дата LoadFromFile form база данных сеть html php RichEdit indy строки Win Api tstringlist Image мысли макросы Edit ListBox office C/C++ memo графика StringGrid поиск canvas файл Pascal форма Файлы интернет excel Microsoft Office Excel winapi журнал ПРОграммист DelphiКупить рекламу на сайте за 1000 руб
пишите сюда - alarforum@yandex.ru
Да и по любым другим вопросам пишите на почту

пеллетные котлы

Пеллетный котел Emtas
Наши форумы по программированию:
- Форум Web программирование (веб)
- Delphi форумы
- Форумы C (Си)
- Форум .NET Frameworks (точка нет фреймворки)
- Форум Java (джава)
- Форум низкоуровневое программирование
- Форум VBA (вба)
- Форум OpenGL
- Форум DirectX
- Форум CAD проектирование
- Форум по операционным системам
- Форум Software (Софт)
- Форум Hardware (Компьютерное железо)


