Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Нужен совет по поводу базы даных картинок / 11 сообщений из 11, страница 1 из 1
15.10.2007, 13:12
    #34868773
troll_
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужен совет по поводу базы даных картинок
Как не странно ничего на форуме по этому вопросу не нашел, хотя уверен я не первый кто столкнулся с этой проблемой

Ну и к вопросу
Есть база данных (Access 2000) картинок (BMP,JPG,GIF)
Возникает вопрос как отображать эти картинки на форме в зависимости от выбранной записи в гриде
при том что - экспортировать в тмп-файл неподходит
...
Рейтинг: 0 / 0
15.10.2007, 13:28
    #34868842
Konst_One
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужен совет по поводу базы даных картинок
OLE-рамка объекта на форму и связать с этим полем из таблицы. см пример Northwind.mdb
...
Рейтинг: 0 / 0
15.10.2007, 13:31
    #34868864
troll_
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужен совет по поводу базы даных картинок
поле мемо (
...
Рейтинг: 0 / 0
15.10.2007, 14:58
    #34869194
Бенедикт
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужен совет по поводу базы даных картинок
troll_,
как хранятся картинки - в оригинальном формате?
...
Рейтинг: 0 / 0
15.10.2007, 15:49
    #34869403
troll_
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужен совет по поводу базы даных картинок
Несовсем понял вопрос ежли чесно ;)
сами картинки скажем в BMP
в поле мемо ... как обяснить
Код: plaintext
1.
2.
3.
4.
5.
6.
........
Open strTmp For Binary Access Write As f
        Get f, , strMemo
        Close f
rsMemo.AddNew
rsMemo("Memo")=strMemo
.......
...
Рейтинг: 0 / 0
15.10.2007, 16:00
    #34869461
Бенедикт
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужен совет по поводу базы даных картинок
troll_,
Надо считать из memo-поля в массив байт:
Код: plaintext
 Dim bPicData() As Byte\n ...\n bPicData = rsMemo("Memo")
Далее сюда.
...
Рейтинг: 0 / 0
15.10.2007, 16:59
    #34869714
troll_
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужен совет по поводу базы даных картинок
Спасибо разбираюсь

модуль - CPictureData
Public Enum PictureQuality 'Err - "Ожидался идентификатор" Access 97
'pqLow
pqMedium
pqHigh
End Enum
ну ежли еще не сообщили
...
Рейтинг: 0 / 0
15.10.2007, 17:11
    #34869754
Бенедикт
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужен совет по поводу базы даных картинок
troll_,
причём здесь Access 97 (тем более, что используется Implements и AddressOf, которых там всё равно нет)? Если вопрос по Access, задавайте в форуме по Access. Для VB модуль CPictureData не нужен. Возьмите модуль с функцией LoadPictureUsingStream() из сообщения по ссылке, и всё: Set Picture1.Picture = LoadPictureUsingStream(bPicData).
...
Рейтинг: 0 / 0
15.10.2007, 17:17
    #34869769
nik734
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужен совет по поводу базы даных картинок
Бенедиктtroll_,
Надо считать из memo-поля в массив байт:
Код: plaintext
 Dim bPicData() As Byte\n ...\n bPicData = rsMemo("Memo")
Далее сюда.

или так (код на С# .net)
гдe pictureBox_Foto --> PictureBox(контрол .Net)
Код: plaintext
\n  private System.Windows.Forms.PictureBox pictureBox_Foto;\n........... \n//Вытаскивание фото \n                byte[] result = null;\n........................\n\nresult = (byte[])dr.GetValue( 0 );\n                        // We cannot assign a byte array directly to an image. \n                        // We use MemoryStream, an object that creates a file in memory\n                        //  and than we pass this to create the image object.\n                        MemoryStream ms = new MemoryStream(result,  0 , result.Length);\n                        Image im = Image.FromStream(ms);\n\n                        pictureBox_Foto.Image = im;\n                        pictureBox_Foto.Visible = true;\n                        pictureBox_Foto.Enabled = true;\n                        pictureBox_Foto.Show();
...
Рейтинг: 0 / 0
15.10.2007, 17:55
    #34869907
troll_
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужен совет по поводу базы даных картинок
Бенедиктtroll_,
причём здесь Access 97 (тем более, что используется Implements и AddressOf, которых там всё равно нет)? Если вопрос по Access, задавайте в форуме по Access. Для VB модуль CPictureData не нужен. Возьмите модуль с функцией LoadPictureUsingStream() из сообщения по ссылке, и всё: Set Picture1.Picture = LoadPictureUsingStream(bPicData).

дк у Вас в примере используеться база данных Access вот я и написал что ошибка при открытии базы
...
Рейтинг: 0 / 0
15.10.2007, 18:19
    #34869984
Бенедикт
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужен совет по поводу базы даных картинок
troll_,
на пример с базой я ссылку сейчас не давал, я сразу дал ссылку на модуль, который нужно скопипейстить в проект на VB, и воспользоваться единственной Public функцией из него.

База в формате 97-го Access-а для уменьшения размера, о чём написано в описании примера. Работать в 97-м она не будет. Будет в XP, 2003, а также может, но не пробовал, в 2000 и 2007.

Суть примера - в реализации на VB/VBA COM-объекта, поддерживающего интерфейс IStream (что-то вроде файла в памяти). Можно воспользоваться системной реализацией IStream с помощью функции CreateStreamOnHGlobal(), тогда кода будет на порядок меньше. На этот код я и дал ссылку.
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Нужен совет по поводу базы даных картинок / 11 сообщений из 11, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]