powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / FoxPro for DOS. Brow
11 сообщений из 11, страница 1 из 1
FoxPro for DOS. Brow
    #32736164
Andrew G Botsman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте!

Люди добрые, подскажите пожалуйста чайнику как сделать в screen set'е просмотр таблицы, с возможностью выбора записи.

FoxPro 2.6 for DOS
...
Рейтинг: 0 / 0
FoxPro for DOS. Brow
    #32736378
Dushes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Andrew G BotsmanЗдравствуйте!

Люди добрые, подскажите пожалуйста чайнику как сделать в screen set'е просмотр таблицы, с возможностью выбора записи.

FoxPro 2.6 for DOS
Что значит в screen set'е ?
С уважением
duШes
....return ThisForm.exGrid1.p_oColumns("COLUMN1").M_AddHeader("header4",4)
...
Рейтинг: 0 / 0
FoxPro for DOS. Brow
    #32736480
Andrew G Botsman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Screen Set'ом в проекте называется файл экрана который делается с помощью wizard'а. А так это обычный файл экрана с расширением scr, только записанный не ручками а сгенерированный GENSCRN.
...
Рейтинг: 0 / 0
FoxPro for DOS. Brow
    #32736533
Станислав C.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Andrew G BotsmanScreen Set'ом в проекте называется файл экрана который делается с помощью wizard'а. А так это обычный файл экрана с расширением scr, только записанный не ручками а сгенерированный GENSCRN.

За более чем 5 лет работы с FPD ни разу не пользовался этим... Даже когда начинал... Может быть оно и к лучшему... Потому что не надо ломать себе голову как сделать просмотр таблицы... Просто, пишешь себе "brow" и все "как на ладони"...
...
Рейтинг: 0 / 0
FoxPro for DOS. Brow
    #32736547
Dushes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Станислав C. Andrew G BotsmanScreen Set'ом в проекте называется файл экрана который делается с помощью wizard'а. А так это обычный файл экрана с расширением scr, только записанный не ручками а сгенерированный GENSCRN.

За более чем 5 лет работы с FPD ни разу не пользовался этим... Даже когда начинал... Может быть оно и к лучшему... Потому что не надо ломать себе голову как сделать просмотр таблицы... Просто, пишешь себе "brow" и все "как на ладони"...

Вот и я про-то - работал около 7 лет и вдруг такое непонятное название ;)
...
Рейтинг: 0 / 0
FoxPro for DOS. Brow
    #32736782
MadJek
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ручками решалось все так:

. . . .

SELECT podr
DEFINE POPUP podr_l PROMPT FIELD str_podr();
SCROLL MARG MARK CHR(16)
@ 0, 2 SAY 'Подр.'
@ 0,22 SAY 'Hаименование'
@ 1, 1 GET zap_podr ;
FUNCTION '&N' ;
POPUP podr_l ;
DEFAULT str_podr() ;
SIZE 13,51 ;
VALID get_podr() ;
MESS'Просмотр справочника подразделений'

. . . .

*---- Формирование строки листа счетов ----
FUNCTION str_podr
RETURN SUBSTR(podr.podr,2,6)+'¦ '+LEFT(podr.name,40)

*---- Обработка выбора из списка ----
FUNCTION get_podr

. . . .

RETURN

Если понять принцип получения списка то при создании Screen можно пользоваться стандартным генератором экранов.
...
Рейтинг: 0 / 0
FoxPro for DOS. Brow
    #32737984
Urri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Просмотр таблицы с возможностью выбора записи в screen set-е FPD можно делать многими способами.
1. Pop-Up-контролом,
2. List-контролом,
3. Browse-ом, интегрированным в READ,
4. Pop-Up-меню,
5. Самописным Grid-ом.

1. Pop-Up-контрол напрямую с таблицей не вяжется, поэтому сначала нужно выполнить select into array, чтобы устроить для этого элемента datasource. Позиционирование курсора в таблице и перерисовку других экранов делать в Valid Pop-Up-контрола, опираясь на помещенную в массив информацию.
2. List можно привязать прямо к таблице. Позиционирование в таблице будет выполняться по ходу листания List-а. ;-) Перерисовывать другие элементы нужно будет в List When.
3. Тут есть 3 возможных способа:
3.1. Выводить browse на экран только когда надо что-нибудь найти и убирать его с экрана, когда нужно вернуться в Screen Set (тоже своего рода выпадающий список получается),
3.2. Держать browse на экране постоянно, а по некоторой кнопке (например, по Enter) поверх него вызывать модальную форму для редактирования записей.
3.3. Интегрировать browse в Screen Set и подпереть единым Read-ом (наподобие List-контрола, но с ячейками). В этом случае нужно использовать browse...window...nowait, исполняемую до Read (именно не "in window", а просто "window"). Соответственно, для browse должно быть определено собственное окно (и весь этот код можно поместить в секцию Start-Up конструкторв экранов). И перерисовывать другие окна по When Browse-а. Не забывать делать activate нужного окна в нужные моменты, когда выполняется код! В частности, форма не закроется после clear read, если курсор в browse-е, поэтому принудительно установить его перед clear read в любой доступный get-объект.
4. Pop-Up-меню вызывать по activate popup - получится вещь, несколько отдельно стоящая от Screen Set-а, но работает хорошо.
5. Вариант требует большого объема кода и, в сущности, не дает программисту ничего, кроме удовлетворения от того, что он наконец-то смог заставить это работать. Даже рассматривать не хочется ;-).
...
Рейтинг: 0 / 0
FoxPro for DOS. Brow
    #32738549
Andrew G Botsman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2Urri:
Можно немного поподробнее про варианты 2 и 3. Так сказать в изложении для пешеходов.
Пробовал List использовать, но у меня из массива на который завязываю этот лист отображается только первое поле и еще по мере перемещения по зяписям происходит замена значений массиа на пустые строки на экране

Для browse пробовал вручную in window. Для этого сначала определил окно основное в котором есть поле для поиска значения. И внего вложил окно с browse. Но тут проблема с переключением между двумя окнами.

Подскажите как правильно это делается.
...
Рейтинг: 0 / 0
FoxPro for DOS. Brow
    #32738723
MadJek
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Способ 2 в примере для построителя экранов только с технологией описанной выше можно взять сдесь:
Архив примера
...
Рейтинг: 0 / 0
FoxPro for DOS. Brow
    #32738793
Urri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Способ 3.3. предлагает сама FoxTeam, посмотри это
http://www.sql.ru/forum/actualthread.aspx?tid=80916&hl=wbig#582499
...
Рейтинг: 0 / 0
FoxPro for DOS. Brow
    #32738804
Urri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну вот сам и разоблачаю свои прошлые посты. Правильная конструкция такая:
Код: plaintext
BROWSE IN WINDOW wbrowse SAVE NOWAIT
,
а я забыл SAVE и утверждал, что надо WINDOW, а не IN WINDOW, не верьте мне на слово никогда ;-)))
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / FoxPro for DOS. Brow
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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