Последние записи
- Функция рисования для печати на принтере ScanLine
- Функция CharInSet (множества) не работает для русских букв
- Вывод изображений на печать
- Посимвольный перебор строки (сравнение скорости двух методов)
- png в ico с прозрачностью и разными разрешениями
- Автоматическое создание Proxy-файлов видео с камеры DJI Osmo Action 5 Pro для Vegas
- Поиск значения и вставка текса
- Движение image по форме
- Звук в Delphi
- Экранная лупа (линза)
Интенсив по Python: Работа с API и фреймворками 24-26 ИЮНЯ 2022. Знаете Python, но хотите расширить свои навыки?
Slurm подготовили для вас особенный продукт! Оставить заявку по ссылке - https://slurm.club/3MeqNEk
Online-курс Java с оплатой после трудоустройства. Каждый выпускник получает предложение о работе
И зарплату на 30% выше ожидаемой, подробнее на сайте академии, ссылка - ttps://clck.ru/fCrQw
5th
Июн
Функция рисования для печати на принтере ScanLine
Есть ли возможность что-то рисовать на принтере через ScanLine, а не через Canvas?
25th
Май
Функция CharInSet (множества) не работает для русских букв
Я заметил, что в современных версиях Delphi (у меня 10.3) строковый тип юникодный (2-байтовый).
Функция CharInSet не работает для русских букв.
procedure TForm1.Button1Click(Sender: TObject);
var s, s1: string;
i: integer;
begin
//s:='ABCabc АБВабвЁё';
s:=Edit1.Text;
Memo1.Clear;
for i:=1 to Length(s) do
begin
s1:=Format('%s - %d - ', [s, Ord(s)]);
if CharInSet(s, ['А'..'Я', 'а'..'я', 'Ё', 'ё']) then
//if s in ['А'..'Я', 'а'..'я', 'Ё', 'ё'] then
s1:=s1+'русская буква' else
s1:=s1+'другой символ';
Memo1.Lines.Add(s1);
end;
end;
Аналогично не работает такая конструкция
if s in ['А'..'Я', 'а'..'я', 'Ё', 'ё'] then
Ситуацию можно исправить, если вместо s написать AnsiString(s)[1].
Вопрос: есть ли другая подобная функция проверки русских символов?
20th
Май
Вывод изображений на печать
Необходимо вывести на печать несколько небольших изображений из файлов или файла ресурсов не важно, на один лист А4 с заданными координатами на листе, подскажите пожалуйста как это лучше сделать?
6th
Май
png в ico с прозрачностью и разными разрешениями
Возможно ли переконвертировать PNG в ICO? при этом оставить прозрачность и разбить на разные разрешения в один ico файл?
К примеру имеется PNG (с разрешением 128х128) и его перевести в ico в котором будут несколько разных разрешений (к примеру 128х128, 92х29 ну и т.д.)
Возможно ли такое?
Или хотя бы такое имеется несколько ico с одинаковым изображением, но в различных разрешениях, можно ли их собрать в один ico?
14th
Апр
Движение image по форме
Как сделать НЕПРЕРЫВНОЕ движение рисунка по форме по горизонтали справа налево, чтобы часть рисунка, которая уже скрыта за правым полем тут же всплывала с левого поля формы и так далее. Это что-то вроде имитации ЭКГ- выбираем один фрагмент и циклично двигаем его по всей форме.
9th
Апр
Звук в Delphi
Можно ли как-то в Delphi сделать так чтобы звук повторялся постоянно. То есть, если закончилась музыка то она снова включается и так пока сам ее не выключишь.
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 файлов. Как программно узнать дату окончания сертификата?
Облако меток
ассемблер timer ShellExecute SaveToFile select советы программы массив 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 (Компьютерное железо)

