|
Вопрос # 1 696/ вопрос открыт / |
|
Здравствуйте!
Как мне добавить фотографию в бд и за одно прочесть его. Делаю проги типа для отдела кадров. Если можно по подробнее.
С уважением Мехродж.
mehroj-1@mail.ru
 |
Вопрос задал: POWER (статус: Посетитель)
Вопрос отправлен: 16 июня 2008, 09:08
Состояние вопроса: открыт, ответов: 3.
|
Ответ #1. Отвечает эксперт: ANBsoft
Здравствуйте, POWER!
Ну почему никто не хочет использовать поиск, таких вопросов полно в инете.
Например:
http://www.delphikingdom.com/asp/answer.asp?IDAnswer=39461
 |
Ответ отправил: ANBsoft (статус: Студент)
Время отправки: 16 июня 2008, 10:16
Оценка за ответ: 1
Комментарий к оценке: мне бы по подробнее
|
Ответ #2. Отвечает эксперт: Шичко Игорь
Здравствуйте, POWER!
Логично использовать BLOB-поля и компонент TStream.
В Яндексе наберите "BLOD-поля" или "TStream" и выдаст много практически готовых ссылок.
 |
Ответ отправил: Шичко Игорь (статус: 9-ый класс)
Время отправки: 16 июня 2008, 11:44
Оценка за ответ: 2
|
Ответ #3. Отвечает эксперт: Вадим К
Здравствуйте, POWER!
Наиболее правильно будет хранить не сами картинки, а путь к ним на диске или еще лучше, только имя. Сами картинки храняться в отдельной папке и при отображении путь к картинке динамически формируется.
А теперь пара подсказок. Так как картинки скорее всего будут храниться в папке, которая находиться рядом с исполнимым файлом, а он может находиться где угодно, то нужно получить этот путь. Для этого в тестовом приложении напишите такой код для кнопки и "посозерцайте" его, перемещая файл с папки в папку
ShowMessage(ExtractFilePath(Application.exename));
Так как вы не написали, какую технологию доступа к данным вы используете, то точный код для подгрузки картинок не могу написать. В случае с BDE/ADO я использовал такую технологию. На форму ставил TDBEdit и настраивал эго на поле, где храниться картинка. также ставил TImage, который будет отображать её. Теперь, когда с помощью DBNavigator'a перемещаемся по записям, в DBEdit возникает событие OnChange, в котором и вставляем код подгрузки картинки. я писал обычно такое
fullpath := ExtractFilePath+'FolderForFoto\'+DBEdit1.text;
if not Fileexist(fullpath) then fullpath := ExtractFilePath+'FolderForFoto\NoFoto.jpg';
Image1.picture.loadfromFile(fullpath);
Думаю код прост и понятен. Надо только положить картинку для "отсутствующих фото".
Для обратного процесса (то есть добавления картинок в базу), делаем следующее
- копируем картинку в нашу папку, если только это не картинка с этой уже папки.
- по надобности переименовываем, что бы не было совпадающих имен.
- продолжаем работать с DBEdit, куда пишем имя файла., для чего пользуемся функцией ExtractFileName
 |
Ответ отправил: Вадим К (статус: Академик)
Время отправки: 16 июня 2008, 18:20
Оценка за ответ: 5
Комментарий к оценке: Спасибо!
|
Мини-форум вопроса
Мини-форум пуст.
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|