Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / FoxPro, Visual FoxPro Новый топик    Ответить
 Вывод картинки в форме.  [new]
Romario_rus
Member

Откуда: Владимир
Сообщений: 151
Еще одна проблема.

полю типа General присваиваю фото

APPEND GENERAL foto FROM bmp\111.jpg

но при выводе в форме в объекте Ole bound control выводиться только имя файла(если файл jpg, а если файл bmp то еще иконка).

Если иду другим путем - создаю файл ВОРД вставляю туда картинку потом открываю BROWSE и в поле типа General вставляю с помощью копирования чарез буфер обмена - В ФОРМЕ ВЫВОДИТЬСЯ ДЕЙСТВИТЕЛЬНО ФОТО.

Но как всетаки это сделать программным путем ???

ЗАРАНЕЕ СПАСИБО, Роман.
24 июн 08, 21:33    [5842664]     Ответить | Цитировать Сообщить модератору
 Re: Вывод картинки в форме.  [new]
Romario_rus
Member

Откуда: Владимир
Сообщений: 151
И еще один вопрос.
какой командой можно открыть окно для выбора файла, чтобы записать фото в поле General/

Чувствую, напрягаю со своими вопросами...

Но прошу простите новичка, но некоторые моменты очень сложно найти в книгах.
Огромнейшее спасибо за понимание.
Роман.
24 июн 08, 22:19    [5842753]     Ответить | Цитировать Сообщить модератору
 Re: Вывод картинки в форме.  [new]
oav
Guest
Я пробовал хранить картинку в blob, у меня так работало ...,
хотя многие рекомендуют хранить картинки в отдельной директории
и в базе только путь и/или наименование в символьном поле

Свойство объекта Image.Stretch = 2 – Stretch

В Init формы добавляем код

IF !EMPTY(user.foto)
Thisform.Image1.PictureVal = user.foto
Thisform.Image1.Visible = .T.
ELSE
Thisform.Image1.PictureVal = ""
Thisform.Image1.Visible= .F.
ENDIF

Кнопка “добавить” изображение

myfoto=GETPICT()
IF !EMPTY(myfoto) AND FILE((myfoto))
SELECT user
replace user.foto WITH FILETOSTR(myfoto)
= TABLEUPDATE(.T.)
thisform.image1.PictureVal= user.foto
thisform.image1.visible= .T.
thisform.Refresh()
ENDIF

Кнопка “стереть” изображение

SELECT user
replace user.foto WITH ''
= TABLEUPDATE(.T.)
Thisform.Image1.PictureVal = ""
Thisform.Image1.Visible= .F.
Thisform.Refresh()

Код метода Click кнопок движения по базе (cmdPrev,cmdNext,cmdTop,cmdEnd)
добавить код

DODEFAULT()
IF !EMPTY(user.foto)
Thisform.Image1.PictureVal = user.foto
Thisform.Image1.Visible = .T.
ELSE
Thisform.Image1.PictureVal = ""
Thisform.Image1.Visible= .F.
ENDIF
Thisform.Refresh()
25 июн 08, 00:09    [5842987]     Ответить | Цитировать Сообщить модератору
 Re: Вывод картинки в форме.  [new]
Romario_rus
Member

Откуда: Владимир
Сообщений: 151
oav
Я пробовал хранить картинку в blob, у меня так работало ...,
хотя многие рекомендуют хранить картинки в отдельной директории
и в базе только путь и/или наименование в символьном поле

Свойство объекта Image.Stretch = 2 – Stretch

В Init формы добавляем код

IF !EMPTY(user.foto)
Thisform.Image1.PictureVal = user.foto
Thisform.Image1.Visible = .T.
ELSE
Thisform.Image1.PictureVal = ""
Thisform.Image1.Visible= .F.
ENDIF

Кнопка “добавить” изображение

myfoto=GETPICT()
IF !EMPTY(myfoto) AND FILE((myfoto))
SELECT user
replace user.foto WITH FILETOSTR(myfoto)
= TABLEUPDATE(.T.)
thisform.image1.PictureVal= user.foto
thisform.image1.visible= .T.
thisform.Refresh()
ENDIF

Кнопка “стереть” изображение

SELECT user
replace user.foto WITH ''
= TABLEUPDATE(.T.)
Thisform.Image1.PictureVal = ""
Thisform.Image1.Visible= .F.
Thisform.Refresh()

Код метода Click кнопок движения по базе (cmdPrev,cmdNext,cmdTop,cmdEnd)
добавить код

DODEFAULT()
IF !EMPTY(user.foto)
Thisform.Image1.PictureVal = user.foto
Thisform.Image1.Visible = .T.
ELSE
Thisform.Image1.PictureVal = ""
Thisform.Image1.Visible= .F.
ENDIF
Thisform.Refresh()


Я правильно понял, что создать таблицу user (name c(10), foto g()) ???

и еще - в форме создать объект image1 , если да , то куда в свойствах вписывать источник user.foto !???

Спасибо за ответ.
25 июн 08, 00:39    [5843040]     Ответить | Цитировать Сообщить модератору
 Re: Вывод картинки в форме.  [new]
Romario_rus
Member

Откуда: Владимир
Сообщений: 151
О, нет поле фото текстовое для ввода пути, Это понял.
25 июн 08, 00:44    [5843045]     Ответить | Цитировать Сообщить модератору
 Re: Вывод картинки в форме.  [new]
Romario_rus
Member

Откуда: Владимир
Сообщений: 151
И неужеле источник защот init сам прописан !???

IF !EMPTY(user.foto)
Thisform.Image1.PictureVal = user.foto
Thisform.Image1.Visible = .T.
ELSE
Thisform.Image1.PictureVal = ""
Thisform.Image1.Visible= .F.
ENDIF
25 июн 08, 00:46    [5843056]     Ответить | Цитировать Сообщить модератору
 Re: Вывод картинки в форме.  [new]
Romario_rus
Member

Откуда: Владимир
Сообщений: 151
OAV

Пишет ошибку !!!!
Как от нее избавиться ??

К сообщению приложен файл (Документ Microsoft Word.doc - 73Kb) cкачать
25 июн 08, 00:58    [5843079]     Ответить | Цитировать Сообщить модератору
 Re: Вывод картинки в форме.  [new]
oav
Guest
1) Поле для хранения картинки в базе для данного примера - blob
2) Форму в данном примере делал стандартным мастером форм
3) После создания формы стандартным мастером для поля user.foto
добавил объект Image, дальше все вроде написано, что и где добавить

3) Твой документ Word не смог открыть /у меня нет Office 2007/
поэтому сообщения лучше отправлять в RTF формате или ТХТ
25 июн 08, 01:09    [5843094]     Ответить | Цитировать Сообщить модератору
 Re: Вывод картинки в форме.  [new]
Romario_rus
Member

Откуда: Владимир
Сообщений: 151
В приложенном файле скрин экрана.
Сдесь опишу проблему : при нажатии кнопки "добавить" выбираю фото и открывается окно ошибки "Для функции требуется режим буферизации строк или таблиц" что сделать ?

Поле foto исправил , проблема осталась.
25 июн 08, 01:18    [5843102]     Ответить | Цитировать Сообщить модератору
 Re: Вывод картинки в форме.  [new]
oav
Guest
* Закоментируй этот код
* = TABLEUPDATE(.T.)

Как я написал выше, при построении формы использовал form wizard
и форма, использует буферизацию.
25 июн 08, 01:42    [5843120]     Ответить | Цитировать Сообщить модератору
 Re: Вывод картинки в форме.  [new]
Romario_rus
Member

Откуда: Владимир
Сообщений: 151
OAV
Когда сам без конструктора форм создал то что Ты написал, все работало заисключением ошибки с буфером. Создав тоже с помощью конструктора - при запуске открывается окно для ввода файла , затем кнопки работают некорректно и фото не выводится.

Может можно избавиться от ошибки с буфером ?
Спасибо, Роман.
25 июн 08, 02:00    [5843144]     Ответить | Цитировать Сообщить модератору
 Re: Вывод картинки в форме.  [new]
oav
Guest
прикрепи к сообщению форму и таблицу, и утром, может кто-нибудь
тебе поможет ...
25 июн 08, 02:18    [5843156]     Ответить | Цитировать Сообщить модератору
 Re: Вывод картинки в форме.  [new]
Romario_rus
Member

Откуда: Владимир
Сообщений: 151
OAV
Спасибо за помощь.
Буду обрабатывать Твою идею.
25 июн 08, 02:21    [5843157]     Ответить | Цитировать Сообщить модератору
Все форумы / FoxPro, Visual FoxPro Ответить