powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Fox Pro 2.6 - вопрос
20 сообщений из 20, страница 1 из 1
Fox Pro 2.6 - вопрос
    #33492994
AlexanderKR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вопрос по Fox Pro 2.6

Кто знает, ответьте пожалуйста на простой вопрос.
Мне нужно получить browse-окно, отображающее
поля из двух таблиц - dogovor.dbf и predp.dbf.
Окно отображается, но редактировать данные
я могу только в полях из первой таблицы,
поле b.naim не редактируется. Почему?

Код:
--------------------------------------------------------------
set century on
set date to german

select b
use sys(2003)+"\"+"predp.dbf" alias predp
set order to kod

select d
use sys(2003)+"\"+"dogovor.dbf" alias dogovor
set order to kod_r
set relation to kod_pr into predp
set skip to predp

select d
set filter to kod<>"~" .and. dogovor.kod_pr=predp.kod
set delete on
goto top

browse fields d.kod_r:h='Район', d.kod :h='Код',;
b.naim :h='Наименование':45

return to master---------------------------------------------------------------

Спасибо
...
Рейтинг: 0 / 0
Fox Pro 2.6 - вопрос
    #33493011
Burn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторно редактировать данные
я могу только в полях из первой таблицы,
поле b.naim не редактируется. Почему?

Потомучто Browse это команда для работы с одной таблицей. Как альтернативное решение - по команде на редактирования вызывать отдельное окно, в котором и редактировать записи
...
Рейтинг: 0 / 0
Fox Pro 2.6 - вопрос
    #33493096
AlexanderKR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Что-то не догоняю.
Можно небольшой пример?
...
Рейтинг: 0 / 0
Fox Pro 2.6 - вопрос
    #33493533
Burn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>Можно небольшой пример?

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
set century on
set date to german

select b
use sys( 2003 )+"\"+"predp.dbf" alias predp
set order to kod

select d
use sys( 2003 )+"\"+"dogovor.dbf" alias dogovor
set order to kod_r
set relation to kod_pr into predp
set skip to predp

select d
set filter to kod<>"~" .and. dogovor.kod_pr=predp.kod
set delete on
goto top

ON KEY LEBEL Enter DO Edit

browse fields d.kod_r:h='Район', d.kod :h='Код',;
b.naim :h='Наименование': 45 

ON KEY

return to master

PPROCEDURE EDIT
PUSH KEY CLEAR

DEFINE WINDOW edit ;
FROM INT((SROW()- 5 )/ 2 ),INT((SCOL()- 49 )/ 2 ) ;
 TO INT((SROW()- 5 )/ 2 )+ 4 ,INT((SCOL()- 49 )/ 2 )+ 48  ;
NOFLOAT ;
NOCLOSE ;
SHADOW

ACTIVATE WINDOW edit
@  0 , 15  GET d.kod_r ;
	SIZE  1 , 10  ;
	DEFAULT " "
@  0 , 1  SAY "Район­:"
@  1 , 1  SAY "Код:"
@  1 , 15  GET d.kod ;
	SIZE  1 , 10  ;
	DEFAULT " "
@  2 , 1  SAY "Наименование:"
@  2 , 15  GET b.naim ;
	SIZE  1 , 31  ;
	DEFAULT " "

READ
RELEASE WINDOW edit

DEFIND WINDOW
POP KEY
RETURN

Конечно по уму надо не писать напрямую в базу а работать через промежуточные переменые. Не использовать наименования алиасов A и B.
Проверять не заблокирова ли запись другим пользователем. Блокировать самому на время изменения. Проверять вводимые поля на коректность...
Но это уже другая история
...
Рейтинг: 0 / 0
Fox Pro 2.6 - вопрос
    #33495115
Фотография AndreTM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я вообще не понял смысла в set skip.
Если relation есть dogovor.kod_pr=predpr.kod, а в browse нет predpr.kod,
то во всех skip-нутых b.naim будет одно и то же значение, вот он и не дает редактировать.
Убери set skip.

И еще:
- sys(2003) - текущий диреторий, так что use predpr.dbf
- predpr.dbf alias predpr - и так присвоит
- set filter to kod<>"~" .and. dogovor.kod_pr=predp.kod - уже установлен в relation
- вообще лучше browse for чем set filter, хотя в этом случае тормоза будут еще и видны
- если задан alias predpr, то зачем обращаться по b.naim?
- если используется alias ... , то база открывается:
select 0
use predpr.dbf alias ...
...
Рейтинг: 0 / 0
Fox Pro 2.6 - вопрос
    #33498176
AlexanderKR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо за критику и пример кода, но дело в том, что я хотел
отойти от представления данных в виде формы.
Вообще, возможно ли в Fox Pro 2.6 сделать
корректировку данных в табличном виде, но
данные в эту таблицу "попадают" из двух dbf-файлов.
(чтобы не использовать промежуточные таблицы или курсоры).
...
Рейтинг: 0 / 0
Fox Pro 2.6 - вопрос
    #33498318
Фотография AndreTM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так в критике все и было описано:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
set century on
set date german
set deleted on
select  0 
use predp.dbf
set order to kod
select  0 
use dogovor.dbf
set order to kod_r
set relation to kod_pr into predp
*set skip to predp
select dogovor
go top
browse for dogovor.kod<>'~';
 fields dogovor.kod_r:h='Район', dogovor.kod:h='Код',predpr.naim:h='Наименование': 45 
return to master
...
Рейтинг: 0 / 0
Fox Pro 2.6 - вопрос
    #33498482
AlexanderKR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В том-то и дело, что в этом случае поле predpr.naim
не редактируется. Нужно, чтобы редактировались ВСЕ поля,
выводимые здесь в табличном виде.
...
Рейтинг: 0 / 0
Fox Pro 2.6 - вопрос
    #33500493
AlexanderKR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вообще, при работе с договорами в форме
постоянно выскакивает окно Insufficient Memory,
но машина - Celeron 2600, 256 MB ОЗУ.
Из-за этого я хотел перейти к другому способу
отображения данных.
...
Рейтинг: 0 / 0
Fox Pro 2.6 - вопрос
    #33500846
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlexanderKRВообще, при работе с договорами в форме
постоянно выскакивает окно Insufficient Memory,
но машина - Celeron 2600, 256 MB ОЗУ.
Речь идет о FoxPro for DOS 2.6 или FoxPro for Windows 2.6 ?
...
Рейтинг: 0 / 0
Fox Pro 2.6 - вопрос
    #33500922
Burn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторВообще, при работе с договорами в форме
постоянно выскакивает окно Insufficient Memory,
но машина - Celeron 2600, 256 MB ОЗУ
Честно говоря работают прграммы на FPD 2.6 на целом зоопарке от AMD-75 до Сeleron 2.4-2.6 и AMD64 - под всеми вариантами винды - никаких проблем.
...
Рейтинг: 0 / 0
Fox Pro 2.6 - вопрос
    #33503637
Фотография AndreTM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так my dear friend, у вас проблемы не с Фоксом, а с настройкой машин.
Принудительно запускайте FoxProX.exe -t <program>. Именно поэтому
и browse глючит - ему физически не хватает памяти из стандартных
450K DOS, чтобы открыть вашу связку таблиц.
...
Рейтинг: 0 / 0
Fox Pro 2.6 - вопрос
    #33505864
AlexanderKR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Можно конкретный пример, как запустить Fox с "расширенной" памятью?
И еще, если я в Config.fp впишу строку EMS=16384 ,
не поможет?
...
Рейтинг: 0 / 0
Fox Pro 2.6 - вопрос
    #33505867
AlexanderKR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Не подскажете ли, каой bat-ник написать, чтобы
запустить fox-приложение "как положено"?
...
Рейтинг: 0 / 0
Fox Pro 2.6 - вопрос
    #33507133
Фотография AndreTM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В смысле "как положено?"
Посмотри, как у нас запускался IK:
...
Рейтинг: 0 / 0
Fox Pro 2.6 - вопрос
    #33509116
andrewkor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Про CONFIG.FP от AndreTM:

- параметры EMS и EMS64 игнорируются расширенным (foxproX.exe) фоксом, т.к. он использует только extended (не expanded) память;

- у фокса нет параметров FILES и BUFFERS. Вместо config.fp нужно писать:
1) для DOS и Win9x в config.sys
FilesHigh=120
2) для WinMe в System.ini
[386Enh]
PerVMFiles=120
3) для WinNT-2003 в config.nt
Files=120

А buffers вообще не нужно по причине системного кэша

- что за MVARSIZ=16 ?


"Правильный батник" состоит из целого набора файлов, а набор этот зависит от того, в какой ОС запускаем FPD. Причем pif-ы для 9x и NT отличаются и создавать их надо под соответствующей ОС. Смотри вложение, там всё есть
...
Рейтинг: 0 / 0
Fox Pro 2.6 - вопрос
    #33511475
Фотография AndreTM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2andrewkor
- про FILES я забыл, каюсь, но ведь это первый пункт хэлпа "Конфигурирование ФоксПро"
- некоторые строки из config.fp я не исключал, поскольку параметры
"рекомендовались" разработчиками, и причем для разных ОС (влючая ДОС).
...
Рейтинг: 0 / 0
Fox Pro 2.6 - вопрос
    #33901755
Guest11111111
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Как сохранить в фоксе 2,6 программу в ехе?
...
Рейтинг: 0 / 0
Fox Pro 2.6 - вопрос
    #33901762
Burn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>Как сохранить в фоксе 2,6 программу в ехе?
Создать проект. Включить в него все необходимые прграмные модули. Нажать кнопочку Build Выбрать какой имено вариант EXE ты хочешь (стандартный меньше, но требет библиотек RunTime, полный значительно больше, но для компиляции требует дополнительных модулей из дистрибутива, которые не всегда под рукой) Если пункты про exe недоступны - значит у вас неполных дистрибутив. Ищите другой
...
Рейтинг: 0 / 0
Fox Pro 2.6 - вопрос
    #33906513
ВВ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Чтобы досовскому фоксу хватало памяти надо в ярлыке назначить скоко нить дополнительной (XMS) памяти.
...
Рейтинг: 0 / 0
20 сообщений из 20, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Fox Pro 2.6 - вопрос
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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