Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Работа с полем типа image. / 11 сообщений из 11, страница 1 из 1
08.07.2005, 06:58:28
    #33155878
Настенька
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с полем типа image.
есть файл картинка.tif. в таблице есть поле pict типа image.

как записать этот файл в таблицу в поле pict?

и еще, как только он туда будет записан, как его отобразить в image?

помогите, очень надо!!!
...
Рейтинг: 0 / 0
08.07.2005, 09:43:03
    #33156054
nibbles
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с полем типа image.
Настенькаесть файл картинка.tif. в таблице есть поле pict типа image.
как записать этот файл в таблицу в поле pict?
и еще, как только он туда будет записан, как его отобразить в image?
помогите, очень надо!!!
С помощью объекта класса Stream из модели ADODB (ado дб не менее 2.5)
Вот фрагмент кода:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
'==========================================================
' Назначение:
'       Сохранение файла в указанное поле таблицы
' Аргументы:
'       путь к файлу
'       набор записей (открытый для R/W. Указатель должен стоять на нужной записи)
'       имя поля для записи в него файла
' Автор: nibbles
' ==========================================================
Public Sub ufFileFromADOFieldSave(ByVal strPath As String, _
                                ByRef rst As ADODB.Recordset, _
                                ByVal strField As String)
Dim myStream As New ADODB.Stream
    
    Set myStream = New ADODB.Stream
    myStream.Type = adTypeBinary
    myStream.Open
    myStream.LoadFromFile strPath
    rst(strField).Value = myStream.Read
    myStream.Close
    Set myStream = Nothing
    
End Sub

...
Рейтинг: 0 / 0
08.07.2005, 09:47:20
    #33156061
nibbles
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с полем типа image.
оп-па... а там оказывается ошибочка, нужно вот так:
Код: plaintext
Dim myStream As ADODB.Stream
...
Рейтинг: 0 / 0
08.07.2005, 10:31:14
    #33156170
Настенька
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с полем типа image.
спасибо большое. код работает. теперь еще вопрос: записала я туда картинку, а как теперь ее просмотреть в image?
...
Рейтинг: 0 / 0
08.07.2005, 11:16:24
    #33156316
nibbles
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с полем типа image.
Настенькаспасибо большое. код работает. теперь еще вопрос: записала я туда картинку, а как теперь ее просмотреть в image?

Код: plaintext
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.
'========================================================
' Назначение:
'       Извлечение файла из указанного поля таблицы
' Аргументы:
'       путь к файлу (куда надо сохранять)
'       набор записей (открытый в любом режиме. Указатель уже стоит на нужной записи)
'       имя поля для извлечения из него файла
'       если файл, бывший до этого с таким же названием нужно удалять (по умолчанию - да)
' Автор: nibbles
' ===========================================================
Public Sub ufFileFromADOFieldLoad(ByVal strPath As String, _
                                ByRef rst As ADODB.Recordset, _
                                ByVal strField As String, _
                                Optional IsOverwrite As Boolean = True)
Dim myStream    As New ADODB.Stream
Dim FSys        As New Scripting.FileSystemObject

    ' Удалить файл, если он был до этого...
    If IsOverwrite Then
        If FSys.FileExists(strPath) Then
            FSys.DeleteFile strPath, False
        End If
    End If

    Set myStream = New ADODB.Stream
    myStream.Type = adTypeBinary
    myStream.Open
    myStream.Write rst(strField).Value
    myStream.SaveToFile strPath
    myStream.Close
    Set myStream = Nothing
    
End Sub
...
Рейтинг: 0 / 0
08.07.2005, 11:17:42
    #33156321
nibbles
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с полем типа image.
млин, тут тоже самое...
вот так правильно:
Код: plaintext
Dim myStream    As ADODB.Stream
...
Рейтинг: 0 / 0
08.07.2005, 11:27:26
    #33156351
Настенька
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с полем типа image.
скажите, а какую ссылку в references надо указать для этот FSO? он ругается
user-defined type not defined.
...
Рейтинг: 0 / 0
08.07.2005, 11:28:46
    #33156356
nibbles
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с полем типа image.
Настенькаскажите, а какую ссылку в references надо указать для этот FSO? он ругается
user-defined type not defined.
Microsoft Scripting Runtime (библиотека scrrun.dll)
...
Рейтинг: 0 / 0
08.07.2005, 11:58:19
    #33156477
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с полем типа image.
Намудрили...

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
'в базу
Dim FotoData() As Byte
        Open "pic.tif" For Binary As # 1 
        ReDim FotoData( 0  To LOF( 1 ) -  1 )
        Get # 1 , , FotoData()
        Close # 1 
        rsData("Image").AppendChunk FotoData

'из базы
        FotoData = rsData("Image").GetChunk(rsData("Image").ActualSize)
        Open "pic.tif" For Binary As # 1 
        Put # 1 , , FotoData
        Close # 1 
        imgPhoto.Picture = LoadPicture("pic.tif")
Можно залить массив в image не сохраняя его в файл. Воспользуйся поиском, если интересно.
...
Рейтинг: 0 / 0
08.07.2005, 12:41:19
    #33156634
Настенька
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с полем типа image.
СПАСИБО, это интересное решение. попробуем его.
...
Рейтинг: 0 / 0
08.07.2005, 17:27:00
    #33157527
Работа с полем типа image.
Я получил файл в виде вайтового массива, как его занести в поле типа image?
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Работа с полем типа image. / 11 сообщений из 11, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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