Последние записи
- Рандомное слайдшоу
- Событие для произвольной области внутри 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
Ноя
Создание html отчёта, и копирование изображения в папку с отчётом
Posted by Chas under Delphi
У меня есть программа которая создаёт HTML отчёт. Картинка загружается в Image. Затем у меня начинает генерироваться HTML файл. Вопрос такой, как мне программно по пути сохранения файла создать рядом с ним папку «img» и поместить в него исходную выбранную картинку, для того чтобы тег работал, и как узнать имя картинки для прописывания тега?
vovk
примерно так
if SaveDialog.Execute then
begin
HTMLStr.SaveToFile(SaveDialog.FileName);
//создание папки
if not DirectoryExists(ExtractFilePath(SaveDialog.FileName)+'img') then
mkdir(ExtractFilePath(SaveDialog.FileName)+'img');
//и копирование в неё картинки
Image1.Picture.SaveToFile(ExtractFilePath(SaveDialog.FileName)+'img\1.jpg')
end;
если надо именно копировать картинку, то имя файла при загрузке можно сохранять в глобальной переменной
var
form:TMainForm;
fl_nm:string;
................
procedure TMainForm.ButtonLoadImageClick(Sender: TObject);
begin
if(OpenPictureDialog.Execute) then
begin
Image.Picture.LoadFromFile(OpenPictureDialog.FileName);
fl_nm:=OpenPictureDialog.FileName;
end;
end;
А потом значение этой переманной использовать
procedure TMainForm.HTMLClick(Sender: TObject);
var
HTMLStr: TStringList;
i, j: Integer;
E: Exception;
begin
try
HTMLStr := TstringList.Create;
HTMLStr.Clear;
HTMLStr.Add('<html>');
HTMLStr.Add('<head>');
HTMLStr.Add('<title>'+'Название'+'</title>');
HTMLStr.Add('</head>');
HTMLStr.Add('<body>');
HTMLStr.Add('<img src = img/'+ExtractFileName(fl_nm)+'>'); //используем
HTMLStr.Add('</body>');
HTMLStr.Add('</html>');
try
if SaveDialog.Execute then
begin
HTMLStr.SaveToFile(SaveDialog.FileName);
if not DirectoryExists(ExtractFilePath(SaveDialog.FileName)+'img') then
mkdir(ExtractFilePath(SaveDialog.FileName)+'img');
CopyFile(pwidechar(fl_nm), pwidechar(ExtractFilePath(SaveDialog.FileName)+'img\'+ExtractFileName(fl_nm)), true)// копируем
end;
except
ShowMessage('Ошибка записи результатов в файл!');
end;
HTMLStr.Free;
ShellExecute(Handle, 'open', pchar(SaveDialog.FileName), '', '', sw_ShowNormal);
except
on EExternal do OnErrorDo(E);
end;
end;
Похожие статьи
Купить рекламу на сайте за 1000 руб
пишите сюда - alarforum@yandex.ru
Да и по любым другим вопросам пишите на почту
пеллетные котлы
Пеллетный котел Emtas
Наши форумы по программированию:
- Форум Web программирование (веб)
- Delphi форумы
- Форумы C (Си)
- Форум .NET Frameworks (точка нет фреймворки)
- Форум Java (джава)
- Форум низкоуровневое программирование
- Форум VBA (вба)
- Форум OpenGL
- Форум DirectX
- Форум CAD проектирование
- Форум по операционным системам
- Форум Software (Софт)
- Форум Hardware (Компьютерное железо)