Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 1
Регистрация: 14.04.2015
Сообщений: 92

Сохранение фото в StringGrid

16.06.2019, 22:05. Показов 504. Ответов 0

Студворк — интернет-сервис помощи студентам
Всем доброго времени суток, я бы хотел у вас посоветоваться, как лучше произвести сохранение фотографий в StringGrid и последующей загрузкой по открытию формы?
Прикрепляю код отрисовки фотографий:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
//процедура отрисовки ячейки
void __fastcall TForm1::StringGrid1DrawCell(TObject *Sender, int ACol, int ARow, TRect &Rect,
          TGridDrawState State)
{
    TStringGrid *g = static_cast<TStringGrid*>(Sender);
    if(g->Objects[ACol][ARow]) { // В отрисовываемой ячейке есть картинка?
        //дописать размер картинки!!
        g->Canvas->Draw(Rect.Left, Rect.Top,
        (Graphics::TBitmap*)g->Objects[ACol][ARow]);
    }
}
//---------------------------------------------------------------------------
 
// Это обработка пункта "Добавить картинку в ячейку"
void __fastcall TForm1::Button1Click(TObject *Sender)
{
    if(StringGrid1->Objects[StringGrid1->Col][StringGrid1->Row]) return;
    if(OpenPictureDialog1->Execute())
    {
        Graphics::TBitmap *bm = new Graphics::TBitmap;
        bm->LoadFromFile(OpenPictureDialog1->FileName);
        // Сохраняем указатель на объект TBitmap прямо в Objects грида
        StringGrid1->Objects[StringGrid1->Col][StringGrid1->Row] = (TObject*)bm;
    }
}
//---------------------------------------------------------------------------
 
//Удаление связанных с ячейкой объекты
void __fastcall TForm1::FormDestroy(TObject *Sender)
{
     for (int i = 0; i < StringGrid1->RowCount; i++)
        for (int j = 0; j < StringGrid1->ColCount; j++)
            if (StringGrid1->Objects[j][i])
                delete reinterpret_cast<TBitmap*>(StringGrid1->Objects[j][i]);
}
//---------------------------------------------------------------------------
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
16.06.2019, 22:05
Ответы с готовыми решениями:

Сохранение из StringGrid массива в файл и загрузка из файла в StringGrid
Всем доброго времени суток =) У меня есть загрузка массива из StringGrid на Delphi 2010: //загрузка из файла procedure...

Сохранение StringGrid
Вот сделал сохранение - всё работает хорошо Но, стоит ли создавать 2 TStringList или можно как то обойтись одним? #define SS...

Сохранение/чтение StringGrid
Приведите пожалуйста примеры сохранения и чтения из файла StringGrid'а, прогуглив,не нашел нормального примера

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
16.06.2019, 22:05
Помогаю со студенческими работами здесь

Сохранение в файл из StringGrid
как сохранить данные в файл из StringGrid чтобы они добовлялись а не перезаписывались при повторном нажатии кнопки сохранить. вот код: ...

Сохранение и чтение из StringGrid
Есть следующий код: struct { AnsiString Familia; int NumGroup; int Valuation; }Student; ...

Сохранение StringGrid в EXEL
Как данные StringGrid сохранить в EXEL? Помогите плз.

Сохранение и заполнение StringGrid
Помогите сделать заполнение StringGrid1 с помощью файла, матрица матрица формируется в ручную(её размеры) вот код сохранение StringGrid1 ...

Сохранение StringGrid в ведомость
Доброго времени суток дамы и господа,у меня появилась такая проблема: мне нужно данные из StringGrid сохранить в ТХТ файл(я видел похожие...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
Установка Emscripten SDK (emsdk) и CMake на Windows для сборки C и C++ приложений в WebAssembly (Wasm)
8Observer8 30.01.2026
Чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. Система контроля версиями Git. . .
Подключение Box2D v3 к SDL3 для Android: физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
Влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru