powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Вопрос о форме
15 сообщений из 15, страница 1 из 1
Вопрос о форме
    #32784774
Alex Sheff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Читал в фоксклубе статью С.Чеговца о формах (какраз начал новую програмку) и возник вопрос:
Если запускать из PRG файла форму то вроде как все понятно
Код: plaintext
1.
2.
3.
SET ...
DO FORM...
READ EVENTS
а вот если без PRG.
Код: plaintext
1.
2.
3.
4.
5.
Load
 SET...
Init
 Select ... INTO CURSOR tmp_cursor WHERE <условие>
 ThisForm.Grid.RecordSourse = "tmp_cursor"
Затем при смене <условия> пишу ThisForm.Init и все хорошо...
Но вот правильно ли это и куда вставить READ EVENTS чтоб в .ЕХЕ-шнике работало
...
Рейтинг: 0 / 0
Вопрос о форме
    #32784806
AleksMed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если проект на одной форме и она модальная, то READ EVENTS не треба, в остальном он ставиться в главном модуле проекта после активизации меню и выполнения других начальных действий.
Вот селект в ините не есть хорошо.
Лучьше создай параметризированную вьюшку, помести ее в DE формы, а в ее свойствах установи NoDataOnLoad=.T., привяжи ее к GRID, а в Initе задашь параметр и сделаешь REQUERY(<ViewName>), то же самое и при смене условия.
...
Рейтинг: 0 / 0
Вопрос о форме
    #32784840
Alex Sheff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
да вот форма немодальная, а условия для селекта пользователь указывает в всплывающей (модальной) форме которая как параметр возвращает условие селекта.
Я непредставляю как сделать view в такой ситуации
...
Рейтинг: 0 / 0
Вопрос о форме
    #32784853
AleksMed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Из формы под условие возвращается один параметр или пользователь так и пишет ff> ... and bb<2 ...?
...
Рейтинг: 0 / 0
Вопрос о форме
    #32784872
Alex Sheff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
там формируется строка типа
Код: plaintext
1.
"tmp_cursor.field1 = " + alltrim(ThisForm.Text1.Value)
Форма возвращает эту строку в переменную,
а затем в основной форме
Код: plaintext
1.
SELECT .... WHERE &condition
...
Рейтинг: 0 / 0
Вопрос о форме
    #32784934
AleksMed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну так все равно у тебя получается ограниченное количество параметров, которые можно передать через массив, и привязаны эти параметры к определенным полям, которые можно ограничить параметрами в представлении.
Или можно попробовать в представлении написать
SELECT ... WHERE ?tcParamStr
...
Рейтинг: 0 / 0
Вопрос о форме
    #32784983
Alex Sheff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Надо будет попробовать, но сейчас уже слишком много переделывать придется.
1. почему нежелательно в INIT формы писать SELECT?
2. почему если я из INIT переношу SELECT в ACTIVATE, а затем пишу ThisForm.Activate - SELECT несрабатывает?
...
Рейтинг: 0 / 0
Вопрос о форме
    #32785038
AleksMed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1. Потому что в INIT обычно пишешь установку начальных параметров при создании формы, а если ты их в дальнейшем меняешь и тебе опять необходимо выполнить запрос, что получится при повторном INIT?
Добавь тогда в форму свой метод, который будет отвечать за перезапрос данных. Ты сможешь вызвать его из любой точки формы, а при изменении запроса нужно будет исправить только один метод.
2. Думаю что ответ на первый вопрос разубедит тебя переносить SELECT в какое то другое место.
...
Рейтинг: 0 / 0
Вопрос о форме
    #32785059
karly™
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Правильно вот так:
1. Создай специальный метод, например DataRefresh (вижу, AleksMed меня уже опередил ;) )

2. В init формы напиши
Код: plaintext
1.
2.
ThisForm.DataRefresh()
ThisForm.Show()
Read Events && Так можно поступать только для немодальных форм

3. Все же потрать время на изучение view. В результате окажется, что переделавать надо совсем чуть-чуть. Точнее, понадобится удалить весь старый код и написать чуть-чуть нового ;-)
...
Рейтинг: 0 / 0
Вопрос о форме
    #32785119
Alex Sheff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Неуверен что средствами View можно реализовать такую конструкцию
Код: plaintext
1.
SELECT a.name FROM a WHERE a.id IN (SELECT b.id FROM b HAVING BETWEEN(b.date,date_start,date_end))
А вот о создании своего свойства - надо подумать (еще такого непробовал)
Можно ссылку почитать или вкратце описать как это делать (форму я создавал мастером)
...
Рейтинг: 0 / 0
Вопрос о форме
    #32785242
karly™
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Если a.id уникально, что следует из названия ;) то можно заменить приведенный запрос такой конструкцией
Код: plaintext
Select a.name from a, b where a.id = b.id and b.date between date_start and date_end

В противном случае можно разбить запрос на два view, и второе view строить на результатах первого.

Создание своего метода (а не свойства, не путай) - очень просто. Когда редактируешь форму, в меню появляется пункт Form . А там - все, что тебе надо :)

Удачи.
...
Рейтинг: 0 / 0
Вопрос о форме
    #32806944
Strong
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Чтоб не плодить новых топиков задам вопрос здесь.

Есть форма в ней эдит бокс но при вводе пользователем текста мигающий курсор ( I ) не отображается, т.е. стоит отвести взгляд от экрана и уже забыл где текст редактируешь. При запуске в VFP все нормально. Может быть кто то встречался с подобной проблемой, или есть какието соображения по этому поводу. Программа работает из под "Парус"а
______________________________________
с уважением: Strong
...
Рейтинг: 0 / 0
Вопрос о форме
    #32806986
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Возможно сделана настройка

SET CURSOR OFF
...
Рейтинг: 0 / 0
Вопрос о форме
    #32807057
Strong
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Большое спасибо проблема решена.
______________________________________
с уважением: Strong
...
Рейтинг: 0 / 0
Вопрос о форме
    #32807068
Strong
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
хех рано радовался.
когда скролишь и верхушка едит бох уезжает за границы формы то курсор мигает где угодно только не в том месте где надо, или вообще пропадает,
а едит бох длиннее формы а делать его меньше неудобно пользователям.
______________________________________
с уважением: Strong
...
Рейтинг: 0 / 0
15 сообщений из 15, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Вопрос о форме
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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