powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Изменение источника данных для BROWSE
2 сообщений из 2, страница 1 из 1
Изменение источника данных для BROWSE
    #32849431
Молодой Я
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Приветствую, уважаемые. Имеется код примерно вот такой:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
  ON KEY LABEL F3 DO make_dbf
  SELECT a
  USE table.dbf
  BROWSE FIELDS field1 :R :H='  КОД  ', field2 :R :H='НАИМЕНОВАНИЕ';
      WINDOW brwind IN WINDOW brwind color scheme  8 
  
  PROCEDURE make_dbf
    IF USED('table')
      SELECT table
      USE
    ELSE 
      SELECT  0 
    ENDIF
    COPY FILE table_arh.dbf TO table.dbf
    USE table.dbf
    INSERT INTO table.dbf (FIELD1, FIELD2);
       SELECT my_cur.F1 AS field1, my_cur.F2 AS field2
           FROM my_cur
  RETURN
В итоге после нажатия F3 и вызова процедуры в ней подменяется dbf-ник и при возвращении из процедуры в BROWSE мы просто из этого самого BROWSA вываливамся с сообщением, что структура BROWSE была изменена. Но очень бы хотелось остаться в BROWSE просто данные в нем изменились бы и все. Возможно ли это?
...
Рейтинг: 0 / 0
Изменение источника данных для BROWSE
    #32849478
Urri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот такой код будет работать (нехороший, конечно, код, но для примера годится ;-))
Код: 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.
store .f. to is_make_dbf, is_end
 ON KEY LABEL F3 DO make_dbf
 ON KEY LABEL esc do stop_cycle
  SELECT a
  USE table.dbf

  do while !is_end
    BROWSE FIELDS field1 :R :H='  КОД  ', field2 :R :H='НАИМЕНОВАНИЕ';
        WINDOW brwind IN WINDOW brwind color scheme  8 
   if is_make_dbf
    IF USED('table')
      SELECT table
      USE
    ELSE 
      SELECT  0 
    ENDIF
    COPY FILE table_arh.dbf TO table.dbf
    USE table.dbf
    INSERT INTO table.dbf (FIELD1, FIELD2);
       SELECT my_cur.F1 AS field1, my_cur.F2 AS field2
           FROM my_cur
    is_make_dbf=.f.
   endif
  enddo
  
  PROCEDURE make_dbf
     is_make_dbf = .t.
     keyboard '{Ctrl+W}'
  RETURN

  PROCEDURE stop_cycle
     is_end = .t.
     keyboard '{Ctrl+W}'
  RETURN
Это даже не процедурное программирование ;-)))
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Изменение источника данных для BROWSE
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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