Автор | Сообщение |
|
| |
Пост N: 3
Зарегистрирован: 12.05.14
|
|
Отправлено: 18.02.15 13:35. Заголовок: 2 вопроса знающим
Прошу помощи! USE PRIVIV ALIAS TEST NEW INDEX ON STROKA TO (PATHTM + 'INGOD.NTX') FOR (GODI = NGOD .AND. UCHR=NUCH) // SET FILTER TO GODI = NGOD .AND. UCHR=NUCH ------------------> НЕ РАБОТАЕТ DBGOTOP() DEFINE WINDOW Form_1 ; AT 100, 50 ; WIDTH getdesktopWidth()-30 ; HEIGHT getDeskTopHeight()-57 ; CHILD ; ICON 'N_ICON' ; TITLE ALLTRIM(MUCHREG[NUCH])+' '+ALLTRIM(STR(NGOD)) ; FONT "COURIER NEW" SIZE 12 DEFINE STATUSBAR FONT "COURIER NEW" SIZE 10 STATUSITEM '' STATUSITEM '<Enter> / 2 клика-Редактировать' WIDTH 300 END STATUSBAR @ 10,10 BROWSE Browse_1 ; WIDTH getdesktopWidth()-50 ; HEIGHT getDeskTopHeight()-125 ; HEADERS mRusn; WIDTHS mRazm; FIELDS mPole ; VALUE 1 ; ON CHANGE Podpis() ; WORKAREA Test ; EDIT INPLACE APPEND DELETE ; LOCK FONT "COURIER NEW" SIZE 12 BOLD ON KEY ESCAPE ACTION Form_1.Release END WINDOW CENTER WINDOW Form_1 Form_1.Browse_1.SetFocus ACTIVATE WINDOW Form_1 DBCLOSEALL() RETURN (NIL) Procedure Pospis() Form_1.StatusBar.Item(1) := [TEST->STROKA] -----------> ? Return 1. Не работает SET FILTER TO c BROWSE - это так или я что-то неправильно делаю? Вышел из положения с помощью INDEX ... FOR 2 В STATUSBAR нужно выводить значение одного из полей текущей строки, вывести не получается. Прошу помочь!!!!
|
|
|
Новых ответов нет
[см. все]
|
|
|
| |
Пост N: 4511
Зарегистрирован: 17.05.05
|
|
Отправлено: 18.02.15 14:05. Заголовок: В STATUSBAR первый е..
В STATUSBAR первый его элемент по умолчанию зарезервирован под TSBROWSE , выводи во второй и тд
|
|
|
|
| |
Пост N: 4
Зарегистрирован: 12.05.14
|
|
Отправлено: 18.02.15 14:16. Заголовок: Ясно, спасибо попроб..
Ясно, спасибо попробую!
|
|
|
|
| |
Пост N: 5
Зарегистрирован: 12.05.14
|
|
Отправлено: 18.02.15 14:24. Заголовок: Нет, не работает к с..
Нет, не работает к сожалению!((
|
|
|
|
| |
Пост N: 4512
Зарегистрирован: 17.05.05
|
|
Отправлено: 18.02.15 14:28. Заголовок: Allcome пишет: Нет,..
Allcome пишет: цитата: | Нет, не работает к сожалению!(( |
| Может из за этого ? Allcome пишет: Allcome пишет:
|
|
|
|
| |
Пост N: 6
Зарегистрирован: 12.05.14
|
|
Отправлено: 18.02.15 14:34. Заголовок: Может и от этого, но..
Может и от этого, но как тогда получить текущее значение поля и вывести его в STATUS?
|
|
|
|
| moderator
|
Пост N: 721
Зарегистрирован: 11.02.10
|
|
Отправлено: 18.02.15 14:41. Заголовок: Allcome пишет: как ..
Allcome пишет: цитата: | как тогда получить текущее значение поля и вывести его в STATUS? |
| Просто добавь в начале программы команду и посмотри результат
|
|
|
|
| |
Пост N: 7
Зарегистрирован: 12.05.14
|
|
Отправлено: 18.02.15 15:21. Заголовок: Спасибо, помогло!!!!..
Спасибо, помогло!!!! А по первому вопросу ???
|
|
|
|
| moderator
|
Пост N: 722
Зарегистрирован: 11.02.10
|
|
Отправлено: 18.02.15 17:20. Заголовок: Allcome пишет: А по..
Allcome пишет: Посмотри рабочий пример ниже Скрытый текст
#include "minigui.ch" #include "Dbstruct.ch" Function Main Local bColor := { || if ( deleted() , RGB( 255, 0, 0 ) , RGB( 255, 255, 255 ) ) } Local var := 'Test' REQUEST DBFCDX SET EXCLUSIVE ON SET CENTURY ON SET DELETED OFF SET BROWSESYNC ON DEFINE WINDOW Form_1 ; AT 0,0 ; WIDTH 640 HEIGHT 480 ; TITLE 'Browse Demo' ; MAIN NOMAXIMIZE ; ON INIT OpenTable() ; ON RELEASE CloseTable() DEFINE MAIN MENU POPUP 'File' ITEM 'Go Home' ACTION Go_1_record() ITEM 'Delete/Undelete' ACTION Delete_record() SEPARATOR ITEM 'Exit' ACTION Form_1.Release END POPUP POPUP 'Help' ITEM 'About' ACTION MsgInfo ("MiniGUI Browse Demo") END POPUP END MENU DEFINE STATUSBAR STATUSITEM '' FONTCOLOR BLACK CENTERALIGN END STATUSBAR @ 10,10 BROWSE Browse_1 ; WIDTH 610 ; HEIGHT 313 ; HEADERS { 'X' , 'Code' , 'First Name' , 'Last Name', 'Birth Date', 'Married' , 'Biography' } ; WIDTHS { 30 , 150 , 150 , 150 , 150 , 150 , 150 } ; WORKAREA &var ; FIELDS {'Test->(iif(deleted(),"*"," "))' , 'Test->(Round(Code,0))' , 'Test->First' , 'Test->Last' , 'Test->Birth' , 'Test->Married' , 'Test->(if(empty(Bio)," ","*"))' } ; ON CHANGE ChangeTest() ; JUSTIFY { BROWSE_JTFY_LEFT, BROWSE_JTFY_RIGHT, BROWSE_JTFY_CENTER, BROWSE_JTFY_CENTER, BROWSE_JTFY_CENTER,BROWSE_JTFY_CENTER,BROWSE_JTFY_CENTER} ; TOOLTIP 'Browse Test' ; DYNAMICBACKCOLOR { bColor, bColor, bColor, bColor, bColor, bColor, bColor } ; EDIT ; readonly { .t., .t., .f., .f., .f., .f., .t. } @ 350,150 BUTTON Button_1 ; CAPTION 'Go Home' ; WIDTH 140 ; ACTION Go_1_record() ; TOOLTIP 'Go to first record' @ 350,300 BUTTON Button_2 ; CAPTION 'Delete/Undelete' ; WIDTH 140 ; ACTION Delete_record() ; TOOLTIP 'Delete / Recall the current record' END WINDOW CENTER WINDOW Form_1 ACTIVATE WINDOW Form_1 Return Nil Procedure OpenTable() local form := thiswindow.name if !file("test.dbf") CreateTable() endif Use Test Index Code Via "DBFCDX" set filter to code<1000 .and. code > 990 Go Top SetProperty(Form,"Browse_1","Value", RecNo()) // Form_1.Browse_1.ColumnsAutoFitH Form_1.Browse_1.Header(2) := 'New Code' Form_1.Browse_1.SetFocus Return Procedure CloseTable() Use Return Procedure ChangeTest() Form_1.StatusBar.Item(1) := 'RecNo: ' + Alltrim ( Str ( GetProperty ( 'Form_1', 'Browse_1', 'Value' ) ) ) Return Procedure Go_1_record() Form_1.Browse_1.SetFocus Insert_Ctrl_Home() Return Procedure Delete_record() iif(Test->(Deleted()), Test->(DbRecall()), Test->(DbDelete())) Form_1.Browse_1.Refresh Form_1.Browse_1.SetFocus Return Procedure CreateTable LOCAL aDbf[6][4], i aDbf[1][ DBS_NAME ] := "Code" aDbf[1][ DBS_TYPE ] := "+" aDbf[1][ DBS_LEN ] := 6 aDbf[1][ DBS_DEC ] := 0 // aDbf[2][ DBS_NAME ] := "First" aDbf[2][ DBS_TYPE ] := "Character" aDbf[2][ DBS_LEN ] := 25 aDbf[2][ DBS_DEC ] := 0 // aDbf[3][ DBS_NAME ] := "Last" aDbf[3][ DBS_TYPE ] := "Character" aDbf[3][ DBS_LEN ] := 25 aDbf[3][ DBS_DEC ] := 0 // aDbf[4][ DBS_NAME ] := "Married" aDbf[4][ DBS_TYPE ] := "Logical" aDbf[4][ DBS_LEN ] := 1 aDbf[4][ DBS_DEC ] := 0 // aDbf[5][ DBS_NAME ] := "Birth" aDbf[5][ DBS_TYPE ] := "Date" aDbf[5][ DBS_LEN ] := 8 aDbf[5][ DBS_DEC ] := 0 // aDbf[6][ DBS_NAME ] := "Bio" aDbf[6][ DBS_TYPE ] := "Memo" aDbf[6][ DBS_LEN ] := 10 aDbf[6][ DBS_DEC ] := 0 DBCREATE("Test", aDbf, "DBFCDX") Use test Via "DBFCDX" For i:= 1 To 1000 append blank Replace First With 'First Name '+ Ltrim(Str(i)) Replace Last With 'Last Name '+ Ltrim(Str(i)) Replace Married With ( i/2 == int(i/2) ) replace birth with date()-Max(10000, Random(20000))+Random(LastRec()) Next i Index on field->code to code Use Return #pragma BEGINDUMP #include <windows.h> #include "hbapi.h" HB_FUNC( INSERT_CTRL_HOME ) { keybd_event( VK_CONTROL, // virtual-key code 0, // hardware scan code 0, // flags specifying various function options 0 // additional data associated with keystroke ); keybd_event( VK_HOME, // virtual-key code 0, // hardware scan code 0, // flags specifying various function options 0 // additional data associated with keystroke ); keybd_event( VK_CONTROL, // virtual-key code 0, // hardware scan code KEYEVENTF_KEYUP,// flags specifying various function options 0 // additional data associated with keystroke ); } #pragma ENDDUMP
|
|
|
|
|
| |
Пост N: 8
Зарегистрирован: 12.05.14
|
|
Отправлено: 19.02.15 09:42. Заголовок: Спасибо за пример, Г..
Спасибо за пример, Григорий!
|
|
|
|
| |
Пост N: 9
Зарегистрирован: 12.05.14
|
|
Отправлено: 19.02.15 09:48. Заголовок: И всё-же при передач..
И всё-же при передаче диапазона фильтрации через локальные переменные программа вылетает в ошибкой local AA := 1000, BB := 990 set filter to code<AA .and. code > BB Error BASE/1003 Variable does not exist: AA Called from _BROWSESETVALUE(1087) Called from _SETVALUE(301) Called from SETPROPERTY(3670) Called from OPENTABLE(91) Called from (b)MAIN(24) Called from _PROCESSINITPROCEDURE(1492) Called from _ACTIVATEWINDOW(1358) Called from MAIN(73)
|
|
|
|
| постоянный участник
|
Пост N: 480
Зарегистрирован: 17.02.12
|
|
Отправлено: 19.02.15 10:56. Заголовок: Allcome если посмот..
Allcome если посмотрите std.ch, то увидите: #command SET FILTER TO <exp> => dbSetFilter( <{exp}>, <"exp"> ) т.е. {exp} - блок кода и через команду SET FILTER ... local переменная не видна, используте private или public переменную в выражении фильта или так с local: SET FILTER TO &( 'CODE < '+hb_ntos(AA)+' .and. CODE > '+hb_ntos(BB) )
|
|
|
|
|
| постоянный участник
|
Пост N: 3969
Зарегистрирован: 12.09.06
|
|
Отправлено: 19.02.15 11:16. Заголовок: SergKis :sm36: :s..
SergKis Ясность и четкость мысли. Хотя это ещё на клипере было, но я тоже не смог ответить на этот простой вопрос.
|
|
|
|
| |
Пост N: 10
Зарегистрирован: 12.05.14
|
|
Отправлено: 19.02.15 13:17. Заголовок: Спасибо Андрей! Всё ..
Спасибо Андрей! Всё ясно!
|
|
|
|
| постоянный участник
|
Пост N: 3970
Зарегистрирован: 12.09.06
|
|
Отправлено: 19.02.15 14:49. Заголовок: Allcome пишет: Спас..
Allcome пишет: цитата: | Спасибо Андрей! Всё ясно! |
| А я то тут при чём ? Это SergKis ответил, а не я.
|
|
|
|
| |
Пост N: 11
Зарегистрирован: 12.05.14
|
|
Отправлено: 19.02.15 15:19. Заголовок: SergKis спасибо! Сор..
SergKis спасибо! Сорри, зарапортовался!
|
|
|
|