:: Visual Foxpro, Foxpro for DOS
Научите работать с Data Environment
ZenTigra
Автор

Сообщений: 514
Дата регистрации: 03.12.2004
Здравствуйте форумчане, много вы мне помогали, помогите еще раз.
Сейчас начал писать маленькую новую программку, и хочу себе облегчить труд.
Хочу разобраться как работать с Dataenvironment.

Проблема вот в чем.
1.У меня есть несколько баз данных, одна тестовая, другая рабочая
(Как между ними переключаться в программе, вернее как это прописывать в Dataenvironment)
Раньше при запуске программы я выбираю какую базу подключить, и благодаря DO CASE.... ENDCASE, я подключал, ту или иную БД.
Как теперь сделать это в Dataenvironment?

2.У меня есть много одинаковых таблиц, у которых одинаковая структура, благодаря Alias я могу с ними работать из одной формы
T_path="Переменная пути к таблице"+"table"+"№ таблицы"+".dbf"
USE &T_path ALIAS table
Как теперь сделать это в Dataenvironment?

И возможно ли это сделать?

PS.Не может же такого быть, что VFP такого не умеет, как же тогда переносить программу на другой компьютер, или диск.



Исправлено 1 раз(а). Последнее : ZenTigra, 12.09.20 07:53
Ratings: 0 negative/0 positive
Re: Научите работать с Data Environment
of63

Сообщений: 25256
Откуда: Н.Новгород
Дата регистрации: 13.02.2008
А зачем открывать нужную таблицу именно в DE формы? Можно открывать нужную таблицу в LOAD формы, или вообще при старте программы...
Ratings: 0 negative/0 positive
Re: Научите работать с Data Environment
Аспид

Сообщений: 3475
Откуда: Москва
Дата регистрации: 01.04.2005
Кардинальный совет, отказаться от Dataenvironment.
Насовсем, навсегда. Забыть о его существовании.
1. Сделайте класс доступа к данным.
Возможно сразу не ясно. Сделайте процедуру. Если постараться сделать ее максимально абстрактной, то вот и базовый класс.
Да бог с ним, это можно и позже, а сначала, пищите процедуры. А потом ищите в них общие черты, сигнатуру, заготовка для будущего класса.
И там, мне кажется вам ясно как переключаться между БД.
2. Исходя из первого ответа, второй напрашивается сам.
Вы делаете процедуру получения данных, структура одинаковая, а откуда, можно передать в параметре.

И забудьте про инструмент для домохозяек - Dataenvironment.



Исправлено 1 раз(а). Последнее : Аспид, 12.09.20 08:13
Ratings: 0 negative/1 positive
Re: Научите работать с Data Environment
Аспид

Сообщений: 3475
Откуда: Москва
Дата регистрации: 01.04.2005
of63
А зачем открывать нужную таблицу именно в DE формы? Можно открывать нужную таблицу в LOAD формы, или вообще при старте программы...
И еще совет. Не работайте с таблицами напрямую, работайте с курсорами.
Хотя конечно, поначалу будет сложнее
Это даст опыт работы (хоть какой то), работы, с настоящими СУБД.
Полегче переходить будет.
Хотя конечно, поначалу сложнее будет
Ratings: 0 negative/0 positive
Re: Научите работать с Data Environment
of63

Сообщений: 25256
Откуда: Н.Новгород
Дата регистрации: 13.02.2008
of63> А зачем открывать нужную таблицу именно в DE формы? Можно открывать нужную таблицу в LOAD формы, или вообще при старте программы...
>> И еще совет. Не работайте с таблицами напрямую, работайте с курсорами.

Спасибо, Владимир!
Ratings: 0 negative/0 positive
Re: Научите работать с Data Environment
ZenTigra
Автор

Сообщений: 514
Дата регистрации: 03.12.2004
of63
А зачем открывать нужную таблицу именно в DE формы? Можно открывать нужную таблицу в LOAD формы, или вообще при старте программы...
Так я так сейчас и делаю, просто хотел схитрить, чтоб код не писать, думал мышкой поеложу и все...
Ratings: 0 negative/0 positive
Re: Научите работать с Data Environment
of63

Сообщений: 25256
Откуда: Н.Новгород
Дата регистрации: 13.02.2008
Куй )
Ratings: 0 negative/0 positive
Re: Научите работать с Data Environment
Simple777

Сообщений: 33855
Дата регистрации: 05.11.2006
of63
Куй )

Вист!..
Ratings: 0 negative/0 positive
Re: Научите работать с Data Environment
of63

Сообщений: 25256
Откуда: Н.Новгород
Дата регистрации: 13.02.2008
Вистующий со...
ДзэнТигра, извини, модеры сотрут тот перепихон
Но ты и сам не плошай (раз на русфоруме черпаешь инфу)



Исправлено 1 раз(а). Последнее : of63, 12.09.20 21:48
Ratings: 0 negative/0 positive
Re: Научите работать с Data Environment
PaulWist

Сообщений: 14620
Дата регистрации: 01.04.2004
of63
А зачем открывать нужную таблицу именно в DE формы? Можно открывать нужную таблицу в LOAD формы, или вообще при старте программы...

Открывать табличку в Form.Load можно, но лучше создать отдельный метод (что и как в нем выполнять - это другой разговор), который дёргать из Form.Init.


------------------
Есть многое на свете, друг Горацио...
Что и не снилось нашим мудрецам.
(В.Шекспир Гамлет)
Ratings: 0 negative/0 positive
Re: Научите работать с Data Environment
of63

Сообщений: 25256
Откуда: Н.Новгород
Дата регистрации: 13.02.2008
ну да, осваивать старый добрый способ - "подпрограммы". Вау! Налетай! Обьясню как это устроено... За знанте видимости переменных - одднльная тема зачетов.
Ratings: 0 negative/0 positive
Re: Научите работать с Data Environment
of63

Сообщений: 25256
Откуда: Н.Новгород
Дата регистрации: 13.02.2008
Ю Открывать табличку в Form.Load можно, но лучше создать отдельный метод (что и как в нем выполнять - это другой разговор), который дёргать из Form.Init.

Паша, при все уважении, Лоад и Инит отличаются.. тем что ими нужно пользоваться (они сделаны) по разному! (вот так)
Ratings: 0 negative/0 positive
Re: Научите работать с Data Environment
PaulWist

Сообщений: 14620
Дата регистрации: 01.04.2004
of63
Паша, при все уважении, Лоад и Инит отличаются.. тем что ими нужно пользоваться (они сделаны) по разному! (вот так)

Поэтому в Init лучше открывать и привязывать данные, когда все объекты уже существуют, правда придётся отказаться от мышкодавства и прописывать всё руками, но это только по первости напрягает.


------------------
Есть многое на свете, друг Горацио...
Что и не снилось нашим мудрецам.
(В.Шекспир Гамлет)
Ratings: 0 negative/0 positive
Re: Научите работать с Data Environment
lulgu

Сообщений: 1838
Дата регистрации: 30.11.2016
У каждого свой DE.
У кого-то инструмент для домохозяек, у кого-то - для работы своя версия.



Исправлено 1 раз(а). Последнее : lulgu, 13.09.20 08:36
Ratings: 2 negative/1 positive
Re: Научите работать с Data Environment
ZenTigra
Автор

Сообщений: 514
Дата регистрации: 03.12.2004
Все вопрос закрыт.
Начал проводить тестирования DataEnvironment, не понравилось, я ожидал большего...
Сохраненных пару минут, при написание кода вручную, не компенсирують те проблемы которые возникают у меня при его использовании...
Ratings: 0 negative/0 positive
Re: Научите работать с Data Environment
Igor Korolyov

Сообщений: 34580
Дата регистрации: 28.05.2002
PaulWist
Поэтому в Init лучше открывать и привязывать данные, когда все объекты уже существуют, правда придётся отказаться от мышкодавства и прописывать всё руками, но это только по первости напрягает.
Весьма спорное заявление. По мнению разработчиков всё же более подходит для создания источников данных метод Load (возможно без из реального заполнения, т.е. в режиме NoData), а привязка данных осуществляется путём задания свойств у объектов во время разработки, а не кодом в Init.

DE в некоторых случаях использовать можно, но... Сложность обработки ошибок открытия курсоров, сложность управления порядком открытия курсоров, отсутствие штатной возможности создания своего базового класса DE для использования в качестве основы для DE форм (можно создать свой базовый класс DE, потом создать конкретный класс DE для одной или нескольких форм, и его уже "подключить" к форме в немодифицируемом виде - но нельзя просто прописать базовый класс а в форме уже набрасывать свои объекты-курсоры в DE).


------------------
WBR, Igor
Ratings: 0 negative/0 positive
Re: Научите работать с Data Environment
Taran

Сообщений: 13625
Откуда: Красноярск
Дата регистрации: 16.01.2008
Или я не нашёл или нету DE в классе на Form.
Использование чистых форм SCX пис--ц. Лет 20 как забросил. Ибо это для стариканов оставлено для совместимости.
Ratings: 0 negative/0 positive
Re: Научите работать с Data Environment
Igor Korolyov

Сообщений: 34580
Дата регистрации: 28.05.2002
Не, scx это типа RAD - быстрая разработка. х*як-х*як и в продакшн.
Всё на то и заточено - мышкой то кинул, там перетащил и готово. Быстрее только визардом, но там свои, кхм, "нюансы".


------------------
WBR, Igor
Ratings: 0 negative/0 positive
Re: Научите работать с Data Environment
Аспид

Сообщений: 3475
Откуда: Москва
Дата регистрации: 01.04.2005
Igor Korolyov
PaulWist
Поэтому в Init лучше открывать и привязывать данные, когда все объекты уже существуют, правда придётся отказаться от мышкодавства и прописывать всё руками, но это только по первости напрягает.
Весьма спорное заявление. По мнению разработчиков всё же более подходит для создания источников данных метод Load (возможно без из реального заполнения, т.е. в режиме NoData), а привязка данных осуществляется путём задания свойств у объектов во время разработки, а не кодом в Init.
Да ладно, ясно же что имел ввиду Паша. Ну не код же,у каждой формы, заполняющей данными объекты формы.
А если есть класс доступа к данным и он же класс заполняющий объекты, то его сам бог велел в ините вызывать.)

Igor Korolyov
DE в некоторых случаях использовать можно, но... Сложность обработки ошибок открытия курсоров, сложность управления порядком открытия курсоров, отсутствие штатной возможности создания своего базового класса DE для использования в качестве основы для DE форм (можно создать свой базовый класс DE, потом создать конкретный класс DE для одной или нескольких форм, и его уже "подключить" к форме в немодифицируемом виде - но нельзя просто прописать базовый класс а в форме уже набрасывать свои объекты-курсоры в DE).
Вот зря такие вещи пишешь)))
Мудрый и внимания не обратит, а новичек, скажет... "ага, у меня тот самый случай"))))
Есть же на фоксе новички, как не странно)
Ratings: 0 negative/0 positive
Re: Научите работать с Data Environment
Crispy

Сообщений: 18571
Дата регистрации: 16.05.2005
Igor Korolyov
По мнению разработчиков всё же более подходит для создания источников данных метод Load

Увы, тоже не совсем удачное для этого место. Из-за несколько странной реализации этого метода собственно в фокспро.
Когда-то давно, перебирая все загружаемые поочерредно методы, я обнаружил самое подходящее для создания источников - как раз таки в DE - в методе BeforeOpenTables. Который возможно единственный и имеет смысл использовать даже и без использования прочих возможностей DE, предлагаемых разработчиками.
Именно в этом методе скажем созданный курсор отлично затем цепляется к чему угодно - скажем без проблем становясь источником хоть того же грида.
Заполнять его разумеется можно и после - например в том же Init грида, что в принципе смотрится достаточно логично, ну можно и формы, если уж есть такая необходимость по какой-то причине.
В целом же, как мне кажется, все проблемы DE - из-за недоработки его на этапе последней их версии.


------------------
В действительности все иначе, чем на самом деле.
                                      (Антуан де Сент-Экзюпери)
Ratings: 0 negative/1 positive


Извините, только зарегистрированные пользователи могут оставлять сообщения в этом форуме.

On-line: 30 shumik73 AndyNigmatec Joys PaulWist  (Гостей: 26)

© 2000-2024 Fox Club 
Яндекс.Метрика