Гость
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / OLE-объекты FoxPro / 25 сообщений из 41, страница 1 из 2
16.11.2010, 20:16
    #36960429
GeoA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
OLE-объекты FoxPro
Имеется база (таблица) (но не Gird) с Memo-полем (справки о человеке), имеются фото этого человека (Gen). Создана Forma с EDIT BOX, где помещены записи с Memo. Как разместить в этой же форме фото человека?
...
Рейтинг: 0 / 0
16.11.2010, 20:48
    #36960470
ВладимирМ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
OLE-объекты FoxPro
Используйте объект OleBoundControl для отображения содержимого поля General.

PS: Только потом не спрашивайте, почему на одном компьютере показывает, а на другом перечеркнутый квадратик. Сам выбрали поля типа General, теперь сами и мучайтесь
...
Рейтинг: 0 / 0
16.11.2010, 21:07
    #36960489
piva
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
OLE-объекты FoxPro
ВладимирМPS: Только потом не спрашивайте, почему на одном компьютере показывает, а на другом перечеркнутый квадратик. Сам выбрали поля типа General, теперь сами и мучайтесь

Володя, ты ли это, и тебя уже достало по General рассказывать ?
...
Рейтинг: 0 / 0
17.11.2010, 10:00
    #36960948
Sergey Sizov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
OLE-объекты FoxPro
piva,

Вадик, тебе ли не знать сколько раз твердили про вредность General? И после этого ты еще удивляешься? :)
...
Рейтинг: 0 / 0
19.11.2010, 21:56
    #36966821
GeoA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
OLE-объекты FoxPro
ВладимирМ,

Уважаемый Владимир! Когда у меня встала необходимость использовать в форме фото, то я, как всегда делаю, обратился к книгам. А там кроме как General, никаких советов нет. Может быть я не те книги читаю, но если посоветуете, что читать, то я буду благодарен. НО! вдруг у вас отработана методика, был бы рад вдвойне, ее поиметь. Пока программа не работает, но я надеюсь. ГА.
...
Рейтинг: 0 / 0
20.11.2010, 15:45
    #36967381
ВладимирМ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
OLE-объекты FoxPro
У использования полей типа General есть две проблемы

1. Эти поля "запоминают" то приложение, при помощи которого отображается сохраненный файл. Как следствие, если на компьютере пользователя нет именно такого приложения, то и картинка отображена не будет. Вне зависимости от того, есть или нет другие приложения для работы с картинкой

2. Поля типа General программно практически не управляемые. Это некая "вещь в себе". "Черный ящик". Как следствие, если Вам, скажем, надо получить картинку как файл, то практически нет способа программно "выковырить" картинку из поля General

Именно эти причины заставляют, по возможности, не использовать поля типа General: привязка к конкретному приложения и слабая программная управляемость.

Альтернативой для отображения картинок в среде FoxPro служит объект Image. Для отображения картинки в этом объекте надо указать ссылку на файл в свойстве Image.Picture, либо (в версии VFP9) на бинарную строку (файл, загруженный в память) в свойстве Image.PictureVal

Соответственно, возможны две стратегии хранения картинок

1. Картинки хранятся как картинки. Отдельные независимые файлы в специальной директории. В базе данных указывается всего-лишь ссылка (путь доступа и/или имя) на нужный файл

2. Можно хранить картинку и внутри базы данных в полях типа Memo, а для версии VFP9 - в полях типа BLOB.

В последнем случае для младших версий FoxPro перед отображением картинку придется выгружать в файл на диске, а для версии VFP9 можно этого и не делать, указав в Image.PictureVal имя поля, хранящего файл картинки

Общим недостатком использования полей типа Memo, BLOB, General для хранения картинок является катастрофическое разбухание файла fpt при частой модификации этих полей. Это происходит из-за технических особенностей модификации файла fpt. Для возврата к "нормальным" размерам файла fpt необходимо относительно часто "паковать" таблицу. Т.е. использовать команду PACK или PACK MEMO.

В общем-то, все это Вы могли бы прочитать сделав поиск по данному форуму по ключевому слову General.
...
Рейтинг: 0 / 0
20.11.2010, 20:28
    #36967658
GeoA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
OLE-объекты FoxPro
ВладимирМ,

Искренне благодарю! Насчет Image неясно - ведь там хранится информация об единичной фотографии, а как быть если фотографии зависят от цикла, как тогда их прописать? Даже если они хранятся в теле файла, то все равно путь указывается на единичную, фиксированную фотографию. Может я что то не знаю или не понимаю, то, если возможно, подскажите. Буду Вам благодарен. ГА.
...
Рейтинг: 0 / 0
20.11.2010, 21:20
    #36967708
AndreTM
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
OLE-объекты FoxPro
GeoAНасчет Image неясно - ведь там хранится информация об единичной фотографии, а как быть если фотографии зависят от цикла, как тогда их прописать? Даже если они хранятся в теле файла, то все равно путь указывается на единичную, фиксированную фотографию.
ВладимирМДля отображения картинки в этом объекте надо указать ссылку на файл в свойстве Image.Picture , либо (в версии VFP9) на бинарную строку (файл, загруженный в память) в свойстве Image.PictureVal

Соответственно, возможны две стратегии хранения картинок

1. Картинки хранятся как картинки. Отдельные независимые файлы в специальной директории. В базе данных указывается всего-лишь ссылка (путь доступа и/или имя) на нужный файл
Вы вообще понимаете, что в этом варианте вам при хранении картинок - в базе вообще не надо иметь MEMO-поля картинок? - достаточно символьной ссылки на соответствующий файл, а файлы - лежат себе спокойно на диске... вы просто в Init или Refresh добавляете проверку на изменение _ссылки_ - и меняете ссылку _перед_ отображением.
...
Рейтинг: 0 / 0
20.11.2010, 21:37
    #36967721
ВладимирМ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
OLE-объекты FoxPro
Вы вообще о чем?

Существуют инструменты хранения информации, ну, там, файлы, поля типа Memo, BLOB, General и т.п. И существуют инструменты отображения этой самой информации. Это различные объекты на форме. Ну, там TextBox, EditBox, Image, OLEBoundControl и т.п.

Так вот, объект Image вообще ничего не хранит. Это просто один из базовых объектов FoxPro предназначенный для отображения одной картинки. А откуда он возьмет информацию об этой картинке определяется значением его свойств Picture или PictureVal.

Хранением информации занимается файл DBF (таблица), но содержимое полей Memo, BLOB, General хранится в связанном с ним файле FPT. У таблицы есть записи (строки). Соответственно, в каждой строке можно хранить другую картинку или имя другого файла.

Далее уже "дело техники" подсунуть конкретному объекту на форме информацию из нужной записи и нужного поля, чтобы он отобразил нужную информацию.

Ну, представьте, что Image - это "дырка" в трафарете. А под трафаретом движется лист бумаги (строки таблицы) с картинками. "За раз" в этой самой "дырке" видна только одна картинка. А вот какая именно, определяется положением "листа бумаги" на которой эти картинки нарисованы.
...
Рейтинг: 0 / 0
20.11.2010, 21:45
    #36967729
AndreTM
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
OLE-объекты FoxPro
ВладимирМ,

Я это и имел ввиду. Что в таблице - просто пути к файлу в полях String или (ну, если _многа_ - в обычном memo - как строки). А отображение файла с картинкой на объект - дело кода формы...
...
Рейтинг: 0 / 0
20.11.2010, 22:00
    #36967746
ВладимирМ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
OLE-объекты FoxPro
AndreTM

Предыдущий мой пост был в ответ на вопрос GeoA . Просто когда писал, Вашего ответа еще не видел...
...
Рейтинг: 0 / 0
20.11.2010, 22:04
    #36967750
AndreTM
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
OLE-объекты FoxPro
ВладимирМ,

Конечно, без проблем :)
...
Рейтинг: 0 / 0
21.11.2010, 19:58
    #36968465
lana-step
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
OLE-объекты FoxPro
Помогите пожалуйста!
Делаю контрольную работу по дисциплине "База данных"
с применением - СУБД Fox pro 2.6
нужна помощь в объяснении - как установить связь между двумя файлами DBF

делаю как описано в пособии
устанавливаю связь между файлами GROUP.DBF и STUDY.DBF
создаю файл GR-ST.VEIW сохраняю, но потом открыть его не могу,
а нужно вывести в текстовый файл из него данные...

Задание: Установить связь между файлами GROUP.DBF и STUDY.DBF (создать файл GR-ST.VEIW)
Вывести в текстовый файл фамилии, названия предметов и оценки только для женщин.

Может кто-нибудь поможет... очень надо :(
...
Рейтинг: 0 / 0
21.11.2010, 21:33
    #36968544
OLE-объекты FoxPro
lana-stepПомогите пожалуйста!
Делаю контрольную работу по дисциплине "База данных"
с применением - СУБД Fox pro 2.6
нужна помощь в объяснении - как установить связь между двумя файлами DBF

делаю как описано в пособии
устанавливаю связь между файлами GROUP.DBF и STUDY.DBF
создаю файл GR-ST.VEIW сохраняю, но потом открыть его не могу,
а нужно вывести в текстовый файл из него данные...

Задание: Установить связь между файлами GROUP.DBF и STUDY.DBF (создать файл GR-ST.VEIW)
Вывести в текстовый файл фамилии, названия предметов и оценки только для женщин.

Может кто-нибудь поможет... очень надо :(Вы неправильно понимаете задание. В зажании нет ничего про вывод информации из GR-ST.VEIW, да и не могло быть, ибо в нем нет данных. В ним информация о таблицази связях между ними. При открытии его происходит открытие нужных таблиц и установка связей между ними. Вам остается выббрать нужные данные из связанных таблиц.
...
Рейтинг: 0 / 0
22.11.2010, 07:13
    #36968880
lana-step
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
OLE-объекты FoxPro
[/quot]GR-ST.VEIW при открытии его происходит открытие нужных таблиц и установка связей между ними. Вам остается выбрать нужные данные из связанных таблиц.[/quot]

я не могу открыть файл GR-ST.VEIW
в пособии написано открыть файл связи можно при помощи команды SET VIEW TO <имя файла связи>
это как?где? если б я в этом хоть что-нибудь понимала...
...
Рейтинг: 0 / 0
22.11.2010, 09:51
    #36968993
OLE-объекты FoxPro
lana-stepGR-ST.VEIW при открытии его происходит открытие нужных таблиц и установка связей между ними. Вам остается выбрать нужные данные из связанных таблиц.[/quot]

я не могу открыть файл GR-ST.VEIW
в пособии написано открыть файл связи можно при помощи команды SET VIEW TO <имя файла связи>
это как?где? если б я в этом хоть что-нибудь понимала...[/quot]В окне command. И это не открытие файла, это применение настроек из файла.
...
Рейтинг: 0 / 0
22.11.2010, 14:41
    #36969754
lana-step
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
OLE-объекты FoxPro
Как формируются запросы из баз данных и как вывести в файл TXT?
...
Рейтинг: 0 / 0
22.11.2010, 15:09
    #36969837
OLE-объекты FoxPro
lana-stepКак формируются запросы из баз данных и как вывести в файл TXT?Запросы пишутся ручками. Вывести что? Результат запроса? list to file.
...
Рейтинг: 0 / 0
22.11.2010, 15:29
    #36969899
lana-step
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
OLE-объекты FoxPro
Имеем файл GROUP.DBF
Нужно создать запрос и результат запросов сохранить в файлах TXT
Вывести сведения о мужчинах, родившихся с 1 января по 1 апреля 83 г

Делаю так:

SELECT family FROM group
WHERE sex='M', data BETWEEN 01/01/83 AND 01/04/83
ORDER BY sex, family? name? date
TO FILE ON family TO family.TXT

ничво не получаица
...
Рейтинг: 0 / 0
22.11.2010, 15:38
    #36969940
f
f
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
OLE-объекты FoxPro
Где вы нашли такой синтаксис?
...
Рейтинг: 0 / 0
22.11.2010, 15:53
    #36969999
OLE-объекты FoxPro
lana-stepИмеем файл GROUP.DBF
Нужно создать запрос и результат запросов сохранить в файлах TXT
Вывести сведения о мужчинах, родившихся с 1 января по 1 апреля 83 г

Делаю так:

SELECT family FROM group
WHERE sex='M', data BETWEEN 01/01/83 AND 01/04/83
ORDER BY sex, family? name? date
TO FILE ON family TO family.TXT

ничво не получаица Было бы удивительно если бы получилось!
1. 01/01/83 - это 01 разделить на 01 и разделить на 83. Какое отношение это имеет к датам?
2. WHERE sex='M', data BETWEEN 01/01/83 AND 01/04/83 - с каких пор условия отбора стали перчисляться через запятую? Что бы Вы написали пр условии "мужчины или родившиеся с 1 января по 1 апреля 83 г"?
...
Рейтинг: 0 / 0
22.11.2010, 16:07
    #36970047
lana-step
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
OLE-объекты FoxPro
Было бы удивительно если бы я знала как это всё делается,
но всё равно писала бы сюда и спрашивала...
Хихикать и тд... проще простого, а вот помочь...
Я про существование СУБД fox pro 2.6 узнала два дня назад
учусь на юриста и вообще не понимаю зачем мне пригодится эта фокспро
...
Рейтинг: 0 / 0
22.11.2010, 16:13
    #36970076
Ffffffffffffffff
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
OLE-объекты FoxPro
lana-step, а как это делали, когда не было интернета и форума по Foxpro?
...
Рейтинг: 0 / 0
22.11.2010, 16:16
    #36970080
OLE-объекты FoxPro
Код: plaintext
1.
2.
3.
4.
set date to british
SELECT family FROM group
WHERE sex='M' and data BETWEEN ctod('01/01/1983') and ctod('01/04/1983')
ORDER BY sex, family, name, date
TO family.TXT
...
Рейтинг: 0 / 0
22.11.2010, 16:21
    #36970101
lana-step
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
OLE-объекты FoxPro
проходящий.
Код: plaintext
1.
2.
3.
4.
set date to british
SELECT family FROM group
WHERE sex='M' and data BETWEEN ctod('01/01/1983') and ctod('01/04/1983')
ORDER BY sex, family, name, date
TO family.TXT


спасибо большое!!!
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / OLE-объекты FoxPro / 25 сообщений из 41, страница 1 из 2
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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