:: Visual Foxpro, Foxpro for DOS
Есть ли команда, обратная команде BROWSE?
негерой
Автор

Сообщений: 17
Дата регистрации: 11.05.2018
Друзья! Речь, понятное дело, не идёт о нажатиях клавиш ESC или Alt + F4. Команда USE или CLOSE TABLES не походят. А подошла бы команда ANTIBROWSE с таким примерно эффектом:

Цитата:
BROWSE появилось окно
ANTIBROWSE закрылось окно
BROWSE появилось окно

Ну вот, как-то так. Спасибо, кто откликнется.
Ratings: 0 negative/0 positive
Re: Есть ли команда, обратная команде BROWSE?
Igor Korolyov

Сообщений: 34580
Дата регистрации: 28.05.2002
Насколько я помню, в FPD для закрытия окон использовалась команда RELEASE WINDOWS.
В VFP ни RELEASE WINDOWS ни BROWSE при написании программ не нужны.


------------------
WBR, Igor
Ratings: 0 negative/0 positive
Re: Есть ли команда, обратная команде BROWSE?
Chemberzhy

Сообщений: 13142
Откуда: Измаил
Дата регистрации: 28.04.2009
Насколько я помню, rele wind срабатывала только после закрытия таблицы.
Где то я встречал вариант отправки окну с browse сообщения через PostMessage(hWnd, chr(27),0,0).
Даже не знаю, работает ли это.
Если работает, то можно и с двумя необязательными параметрами поиграться дополнительно, например, для отправки назад сообщения о том, закрылось таки окно с browse или послало юзера к чертям собачим


------------------
Что-то с памятью моей стало, всё что было не со мной- помню.
Ratings: 0 negative/0 positive
Re: Есть ли команда, обратная команде BROWSE?
Igor Korolyov

Сообщений: 34580
Дата регистрации: 28.05.2002
Какие PostMessage в досе то Либо в виндовой консоли, что не суть важно. А для VFP просто нет абсолютно никакого смысла использоват в программе BROWSE и как то там его "закрывать"


------------------
WBR, Igor
Ratings: 0 negative/0 positive
Re: Есть ли команда, обратная команде BROWSE?
Crispy

Сообщений: 18571
Дата регистрации: 16.05.2005
негерой
Друзья! Речь, понятное дело, не идёт о нажатиях клавиш ESC или Alt + F4. Команда USE или CLOSE TABLES не походят. А подошла бы команда ANTIBROWSE с таким примерно эффектом:
Цитата:
BROWSE появилось окно
ANTIBROWSE закрылось окно
BROWSE появилось окно

Ну вот, как-то так. Спасибо, кто откликнется.

Ну, во-первых, какая версия фокспро: VFP или FPD? ;)
В FPD например для скрытия BROWSE по нажатию каклй-то клавиши, можно воспользоваться открытием BROWSE в заранее созданном окне.
Что-то вроде:
* заранее создаем, но не активируем
DEFINE WINDOW w FROM 0,0 TO 24,79 COLOR список_цветовых_пар и т.д.
* Затем определяем в окне BROWSE со всеми его настройками столбцов, правил и прочего, типа:
BROWSE FIELDS список_полей WINDOW w [или IN WINDOW w]
* если IN w - предварительно нужно активировать само окно через:
* ACTIVATE WINDOW w
* ну а далее можно управлять видимостью окна, скрывая ("ANTIBROWSE" ):
HIDE WINDOW w
* и показывая:
SHOW WINDOW w
* если сделать деактивацию:
DEACTIVATE WINDOW w
* или полную очистку окна из памяти:
RELEASE WINDOWS w
* оно исчезнет полностью, и для вызова потребуется его снова определять.
* Подобное обычно делается только в конце использующей его процедуры или программы.

Если же версия фокспро - VFP, можно слегка упростить себе все, определив BROWSE как объект и работая затем с ним как с объектом.


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

Сообщений: 25256
Откуда: Н.Новгород
Дата регистрации: 13.02.2008
У BROWSE есть опция NAME имя, можно с ней попробовать. И еще опция NOWAIT.

из хелпа: NAME ObjectName
Создает объектную ссылку на окно Browse, позволяя вас управлять окном Browse, с помощью объектно-ориентированных свойств, которые определены для элемента управления Grid. Для получения более подробной информации об объектно-ориентированном программировании в Visual FoxPro смотрите статью Объектно-ориентированное программирование. Для получения более подробной информации об свойствах элемента управления Grid, которые вы моежте указать для окна Browse, созданного с ключевым словом NAME, смотрите описание элемента управления
Ratings: 0 negative/0 positive
Re: Есть ли команда, обратная команде BROWSE?
Crispy

Сообщений: 18571
Дата регистрации: 16.05.2005
of63
У BROWSE есть опция NAME имя, можно с ней попробовать. И еще опция NOWAIT.

Дык это ж только в VFP. ;) О чем я и писал выше.
Хотя в VFP использовать BROWSE таки не самый лучший вариант как бы. О чем уже и заметили выше в принципе.
Поскольку менее настраиваемо и управлемо оно в нем, нежели тот же грид. Так, если наспех только что-то слепить по-быстрому. В серьезных же делах лучше грида все одно ничего нет. [sm128]


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




Исправлено 1 раз(а). Последнее : Crispy, 26.10.18 08:21
Ratings: 0 negative/0 positive
Re: Есть ли команда, обратная команде BROWSE?
of63

Сообщений: 25256
Откуда: Н.Новгород
Дата регистрации: 13.02.2008
Аа, в ДОСе... ESC туда послать: KEYBOARD "{ESC}" вроде...

BROWSE удобно. Например в программе кнопка "Посмотреть таблицу [справочника]", зачем там Grid (хотя ненастроенный Grid и ведет себя как Browse)? Browse, в отдельном окне во весь экран компа, очень удобно.
Ratings: 0 negative/0 positive
Re: Есть ли команда, обратная команде BROWSE?
Crispy

Сообщений: 18571
Дата регистрации: 16.05.2005
of63
Аа, в ДОСе... ESC туда послать: KEYBOARD "{ESC}" вроде...
BROWSE удобно. Например в программе кнопка "Посмотреть таблицу [справочника]", зачем там Grid (хотя ненастроенный Grid и ведет себя как Browse)? Browse, в отдельном окне во весь экран компа, очень удобно.

Да про ESC автор писал же, что ему оно не надо, он просто закроет ему все.
А я как раз и описал, как временно скрывать, как он того как бы хочет.
В VFP же - Browse только при отладке использую для просмотра таблиц. Что и логично. Нафига в программу совать лишний для себя гемор, когда можно грид отстроить, ка тебе надо, класс создать и использовать в конце концов. Короче сравнивать эти вещи даже смысла нет. Это как на ферме всех коров предложить заменить козами, типа с ними проще. Но только столько тонн молока от них никогда не получишь. [sm128]


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




Исправлено 1 раз(а). Последнее : Crispy, 26.10.18 08:41
Ratings: 0 negative/0 positive
Re: Есть ли команда, обратная команде BROWSE?
Igor Korolyov

Сообщений: 34580
Дата регистрации: 28.05.2002
of63
BROWSE удобно... зачем там Grid
Затем что Browse малоуправляем. И затем что ЕСТЬ нормальные, вполне себе управляемые во всех аспектах альтернативы.

of63
Создает объектную ссылку на окно Browse, позволяя вас управлять окном Browse
Полноценно "окном" он управлять не позволяет. То же someBrowse.Visible = .F. само "окно" бровза лишь прячет - в списке открытых окон оно по прежнему будет висеть, и его можно снова показать, к примеру.


------------------
WBR, Igor
Ratings: 0 negative/0 positive
Re: Есть ли команда, обратная команде BROWSE?
of63

Сообщений: 25256
Откуда: Н.Новгород
Дата регистрации: 13.02.2008
> То же someBrowse.Visible = .F. само "окно" бровза лишь прячет
А надо что? удалить? Тогда someBrowse.Release ?

Упс. А Release у него и нет...



Исправлено 1 раз(а). Последнее : of63, 26.10.18 09:49
Ratings: 0 negative/0 positive
Re: Есть ли команда, обратная команде BROWSE?
lulgu

Сообщений: 1838
Дата регистрации: 30.11.2016
Crispy
Если же версия фокспро - VFP, можно слегка упростить себе все, определив BROWSE как объект и работая затем с ним как с объектом.

Ради любопытства, можно подробнее.
Ratings: 0 negative/0 positive
Re: Есть ли команда, обратная команде BROWSE?
Crispy

Сообщений: 18571
Дата регистрации: 16.05.2005
lulgu
Ради любопытства, можно подробнее.

Дык выше об этом как бы практически все уже и сказали. Перечитать, глянуть в хелпе новый в сравнении с FPD синтаксис, если вдруг что-то было не совсем известно. Что еще добавить. А "слегка упростить" - имелось в виду лишь в сравнении с FPD.


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

Сообщений: 2244
Откуда: Винница
Дата регистрации: 15.05.2007
У BROWSE есть опция TIMEOUT. Думаю это то что нужно ТС.


------------------
Ratings: 0 negative/0 positive
Re: Есть ли команда, обратная команде BROWSE?
akvvohinc

Сообщений: 4224
Откуда: Москва
Дата регистрации: 11.11.2008
Непонятны сами хотелки, то есть в каком режиме предполагается работать, и что такое "появилось/закрылось" окно.

Судя по написанному:
BROWSE появилось окно
ANTIBROWSE закрылось окно
BROWSE появилось окно

речь идет об управлении из командного окна или чего-то подобного, так как иначе никакой ANTIBROWSE выполняться не будет, пока не отработает BROWSE, а для ее завершения все равно надо что-то нажать (тайм-аут не рассматриваю).

И тогда RELEASE WINDOWS <имя browse-окна> вполне достаточно для ANTIBROWSE.

Если же нужно, чтобы окно BROWSE просто скрывалось, а затем появлялось в том же виде, в котором было до этого, то тогда в VFP лучше выполнить BROWSE NAME obrowse, а затем просто менять obrowse.visible.

Кроме того, и в VFP, и в FPD для тех же целей достаточно использовать команды:
BROWSE
HIDE WINDOW <имя browse-окна>
SHOW WINDOW <имя browse-окна>

И для этого вовсе не обязательно, как написал Crispy, вставлять BROWSE в какое-то окно - browse-окно само по себе окно.
Ratings: 0 negative/0 positive
Re: Есть ли команда, обратная команде BROWSE?
Sawradym

Сообщений: 2244
Откуда: Винница
Дата регистрации: 15.05.2007
akvvohinc
Непонятны сами хотелки, то есть в каком режиме предполагается работать, и что такое "появилось/закрылось" окно.

Тут мы можем только гадать, но на мой взгяд из написанного ТС примера следует что пользователя то никакого и нет, есть зритель, а на экране "оно само" как-то моргает.


------------------
Ratings: 0 negative/0 positive
Re: Есть ли команда, обратная команде BROWSE?
akvvohinc

Сообщений: 4224
Откуда: Москва
Дата регистрации: 11.11.2008
Sawradym
Тут мы можем только гадать, но на мой взгяд из написанного ТС примера следует что пользователя то никакого и нет, есть зритель, а на экране "оно само" как-то моргает.

Думаю, это как раз тот случай, когда "не верь глазам своим".
Такой сценарий хоть и возможен, но по умолчанию представляется крайне маловероятным.
ТС обязательно бы уточнил этот момент (я так думаю) - кому нужен произвольно моргающий browse?
Ratings: 0 negative/0 positive
Re: Есть ли команда, обратная команде BROWSE?
Chemberzhy

Сообщений: 13142
Откуда: Измаил
Дата регистрации: 28.04.2009
Igor Korolyov
Какие PostMessage в досе то
А разве ТС об этом уточнял?

Igor Korolyov
А для VFP просто нет абсолютно никакого смысла использоват в программе BROWSE и как то там его "закрывать"

Здесь тоже не известно, что у ТС в решении, возможно это просто коротенький процедурный файлик по визуализации какого то курсора или таблицы оформленный в EXE, ну и нафига, скажи, с таком случае городить формы с гридами? ;)


------------------
Что-то с памятью моей стало, всё что было не со мной- помню.
Ratings: 0 negative/0 positive
Re: Есть ли команда, обратная команде BROWSE?
Igor Korolyov

Сообщений: 34580
Дата регистрации: 28.05.2002
Chemberzhy
Igor Korolyov
А для VFP просто нет абсолютно никакого смысла использоват в программе BROWSE и как то там его "закрывать"
Здесь тоже не известно, что у ТС в решении, возможно это просто коротенький процедурный файлик по визуализации какого то курсора или таблицы оформленный в EXE, ну и нафига, скажи, с таком случае городить формы с гридами? ;)
Именно для адекватного и полноценного управления этой самой "визуализацией".


------------------
WBR, Igor
Ratings: 0 negative/0 positive
Re: Есть ли команда, обратная команде BROWSE?
Chemberzhy

Сообщений: 13142
Откуда: Измаил
Дата регистрации: 28.04.2009
Igor Korolyov
Chemberzhy
Igor Korolyov
А для VFP просто нет абсолютно никакого смысла использоват в программе BROWSE и как то там его "закрывать"
Здесь тоже не известно, что у ТС в решении, возможно это просто коротенький процедурный файлик по визуализации какого то курсора или таблицы оформленный в EXE, ну и нафига, скажи, с таком случае городить формы с гридами? ;)
Именно для адекватного и полноценного управления этой самой "визуализацией".

Да, чего там управлять то, например, при:
browse fields pole2 for pole1>100 nomenu noedit nodelete

Юзер из фильтра выбрал нужное и это все, что от него требовалось, и отправил выбранное, например, на печать, при этом разраб/заказчик хочет, чтобы после этих действий browse закрылся и вся недолга. А Esc- тупо отмена без печати и выход из процедуры.


------------------
Что-то с памятью моей стало, всё что было не со мной- помню.
Ratings: 0 negative/0 positive


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

On-line: 47 Владимир Максимов akvvohinc AndyNigmatec  (Гостей: 44)

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