Последние записи
- Рандомное слайдшоу
- Событие для произвольной области внутри 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
30th
Июн
Как передать динамический массив Tbitmap в процедуру
Posted by maloy under Delphi
Armageddets
Добрый день, уважаемые эксперты. У меня стоит задача передать массив типа TBitmap в процедуру. В процедуре я пытаюсь его создать и загрузить в него картинки. Ошибок не происходит, но когда я пытаюсь нарисовать на форме картинки из этого массива, то ничего не происходит. Будто массив так и не создан.
Процедура у меня такая:
procedure DownLoadBMP(BMP:array of TBitmap; var Transparent:boolean; Min,Max:integer; Papka:String);
var path:string;
i,j:integer;
begin
path:=ExtractFileDir(Application.ExeName);
path:=path+'\';
if Papka<>'' then Path:=Path+Papka+'\';
for i:=min to Max do
begin
BMP:=TBitmap.Create;
BMP.Width:=64;
BMP.Height:=64;
if Transparent=true then BMP.Transparent:=true else BMP.Transparent:=false;
BMP.LoadFromFile(path+inttostr(i)+'.bmp');
end;
end;
Я пробовал вариант с обьявлением типа:
procedure DownLoadBMP(var BMP:array of TBitmap; Transparent:boolean; Min,Max:integer; Papka:String);
Также пробовал передавать не динамический массив сюда, тоже ничего. А когда добавляю строку сюда Setlength(BMP,Max+1); Тогда появляется ошибка о несовместимости форматов integer и bitmap;
Вот собственно и вопросс. Каким образом можно сюда передавать массив картинок формата TBitmap; Причем мне не важно динамический это будет или нет массив. Главное чтобы процедура могла сразу весь массив обработать. Если это конечно возможно. Заранее спасибо за ответ.
Аватар
type TArrayOfBitmap = array of TBitmap;
procedure DownLoadBMP(var BMP: TArrayOfBitmap);
begin
SetLength(BMP,1);
BMP[0]:=TBitmap.Create;
...
end;
var xBMP: TArrayOfBitmap;
i: Integer;
DownLoadBMP(xBMP);
...
for i:=Low(xBMP) to High(xBMP) do xBMP.Free;
Похожие статьи
Купить рекламу на сайте за 1000 руб
пишите сюда - alarforum@yandex.ru
Да и по любым другим вопросам пишите на почту
пеллетные котлы
Пеллетный котел Emtas
Наши форумы по программированию:
- Форум Web программирование (веб)
- Delphi форумы
- Форумы C (Си)
- Форум .NET Frameworks (точка нет фреймворки)
- Форум Java (джава)
- Форум низкоуровневое программирование
- Форум VBA (вба)
- Форум OpenGL
- Форум DirectX
- Форум CAD проектирование
- Форум по операционным системам
- Форум Software (Софт)
- Форум Hardware (Компьютерное железо)