I have such a solution in my application. It's hard to cut off it and build simple sample, but I describe my idea.
I have field selector and operator based on comboboxes.
When user choose field, ONCHANGE action is testing type of this field and replaces items of operator combobox.
In my application I can compare one field with another, so there is defined second field selector and third field selector for something like: is the field in range of Value1 and Value2. These selectors are hidden for logical fields.
Here is a form code. It has ten years, from my beginning of HMG'ing. But still works.
Code: Select all
* HMG-IDE ANSI Form Designer Generated Code
* (c) Roberto Lopez - http://sites.google.com/site/hmgweb
DEFINE WINDOW TEMPLATE AT 162 , 313 WIDTH 860 HEIGHT 447 VIRTUAL WIDTH Nil VIRTUAL HEIGHT Nil TITLE "Zdefiniuj warunek" ICON NIL MODAL CURSOR NIL ON INIT Nil ON RELEASE Nil ON INTERACTIVECLOSE Nil ON MOUSECLICK Nil ON MOUSEDRAG Nil ON MOUSEMOVE Nil ON SIZE Nil ON PAINT Nil BACKCOLOR {174,215,255} ON GOTFOCUS Nil ON LOSTFOCUS Nil ON SCROLLUP Nil ON SCROLLDOWN Nil ON SCROLLLEFT Nil ON SCROLLRIGHT Nil ON HSCROLLBOX Nil ON VSCROLLBOX Nil
DEFINE CONTEXT MENU
MENUITEM "Usuń warunek" ACTION DeleteCondition() NAME DeleteCondition
END MENU
DEFINE LABEL Label_Kolumna
ROW 40
COL 20
WIDTH 140
HEIGHT 18
VALUE "&Kolumna"
FONTNAME "Arial"
FONTSIZE 12
TOOLTIP ""
FONTBOLD .F.
FONTITALIC .T.
FONTUNDERLINE .F.
FONTSTRIKEOUT .F.
HELPID Nil
VISIBLE .T.
TRANSPARENT .T.
ACTION Nil
AUTOSIZE .F.
BACKCOLOR {174,215,255}
FONTCOLOR NIL
END LABEL
DEFINE COMBOBOX C_Pole
ROW 60
COL 20
WIDTH 180
HEIGHT 300
ITEMS aHeadersForFiltr
VALUE 1
FONTNAME "Arial"
FONTSIZE 12
TOOLTIP ""
ONCHANGE ZmienOperatory()
ONGOTFOCUS Nil
ONLOSTFOCUS Nil
FONTBOLD .F.
FONTITALIC .F.
FONTUNDERLINE .F.
FONTSTRIKEOUT .F.
HELPID Nil
TABSTOP .T.
VISIBLE .T.
SORT .F.
ONENTER Nil
ONDISPLAYCHANGE Nil
DISPLAYEDIT .F.
IMAGE Nil
DROPPEDWIDTH Nil
ONDROPDOWN Nil
ONCLOSEUP Nil
END COMBOBOX
DEFINE LABEL Label_Operator
ROW 40
COL 210
WIDTH 120
HEIGHT 18
VALUE "&Operator"
FONTNAME "Arial"
FONTSIZE 12
TOOLTIP ""
FONTBOLD .F.
FONTITALIC .T.
FONTUNDERLINE .F.
FONTSTRIKEOUT .F.
HELPID Nil
VISIBLE .T.
TRANSPARENT .T.
ACTION Nil
AUTOSIZE .F.
BACKCOLOR {174,215,255}
FONTCOLOR NIL
END LABEL
DEFINE COMBOBOX C_Operator
ROW 60
COL 210
WIDTH 200
HEIGHT 200
ITEMS opcje
VALUE 1
FONTNAME "Arial"
FONTSIZE 12
TOOLTIP ""
ONCHANGE UstawFiltr_ZmianaOperatora()
ONGOTFOCUS Nil
ONLOSTFOCUS Nil
FONTBOLD .F.
FONTITALIC .F.
FONTUNDERLINE .F.
FONTSTRIKEOUT .F.
HELPID Nil
TABSTOP .T.
VISIBLE .T.
SORT .F.
ONENTER Nil
ONDISPLAYCHANGE Nil
DISPLAYEDIT .F.
IMAGE Nil
DROPPEDWIDTH Nil
ONDROPDOWN Nil
ONCLOSEUP Nil
END COMBOBOX
DEFINE RADIOGROUP R_Rodzaj2
ROW 40
COL 430
WIDTH 130
HEIGHT 50
OPTIONS {'Podana wartość ','&Inna kolumna'}
VALUE 1
FONTNAME "Arial"
FONTSIZE 12
TOOLTIP ""
ONCHANGE ZmienRodzajCzynnika2()
FONTBOLD .F.
FONTITALIC .F.
FONTUNDERLINE .F.
FONTSTRIKEOUT .F.
HELPID Nil
TABSTOP .T.
VISIBLE .T.
TRANSPARENT .T.
SPACING 25
BACKCOLOR {174,215,255}
FONTCOLOR NIL
READONLY Nil
HORIZONTAL .F.
END RADIOGROUP
DEFINE LABEL Label_Wartosc
ROW 40
COL 570
WIDTH 140
HEIGHT 18
VALUE "&Wartość"
FONTNAME "Arial"
FONTSIZE 9
TOOLTIP ""
FONTBOLD .F.
FONTITALIC .F.
FONTUNDERLINE .F.
FONTSTRIKEOUT .F.
HELPID Nil
VISIBLE .T.
TRANSPARENT .T.
ACTION Nil
AUTOSIZE .F.
BACKCOLOR {174,215,255}
FONTCOLOR NIL
END LABEL
DEFINE TEXTBOX T_Czynnik2C
ROW 60
COL 570
WIDTH 200
HEIGHT 24
FONTNAME "Arial"
FONTSIZE 12
TOOLTIP ""
ONCHANGE Nil
ONGOTFOCUS Nil
ONLOSTFOCUS Nil
FONTBOLD .F.
FONTITALIC .F.
FONTUNDERLINE .F.
FONTSTRIKEOUT .F.
ONENTER Nil
HELPID Nil
TABSTOP .T.
VISIBLE .T.
READONLY .F.
RIGHTALIGN .F.
DISABLEDBACKCOLOR Nil
DISABLEDFONTCOLOR Nil
CASECONVERT NONE
MAXLENGTH 200
BACKCOLOR NIL
FONTCOLOR NIL
INPUTMASK Nil
FORMAT Nil
VALUE ""
END TEXTBOX
DEFINE TEXTBOX T_Czynnik2N
ROW 60
COL 570
WIDTH 200
HEIGHT 24
FONTNAME "Arial"
FONTSIZE 12
TOOLTIP ""
ONCHANGE Nil
ONGOTFOCUS Nil
ONLOSTFOCUS Nil
FONTBOLD .F.
FONTITALIC .F.
FONTUNDERLINE .F.
FONTSTRIKEOUT .F.
ONENTER Nil
HELPID Nil
TABSTOP .T.
VISIBLE .F.
READONLY .F.
RIGHTALIGN .F.
DISABLEDBACKCOLOR Nil
DISABLEDFONTCOLOR Nil
CASECONVERT NONE
BACKCOLOR NIL
FONTCOLOR NIL
INPUTMASK "999999999.9999"
FORMAT Nil
NUMERIC .T.
VALUE Nil
END TEXTBOX
DEFINE DATEPICKER T_Czynnik2D
ROW 60
COL 570
WIDTH 120
HEIGHT 24
VALUE CTOD(" / / ")
FONTNAME "Arial"
FONTSIZE 12
TOOLTIP ""
ONCHANGE Nil
ONGOTFOCUS Nil
ONLOSTFOCUS Nil
FONTBOLD .F.
FONTITALIC .F.
FONTUNDERLINE .F.
FONTSTRIKEOUT .F.
ONENTER Nil
HELPID Nil
TABSTOP .T.
VISIBLE .F.
SHOWNONE .F.
UPDOWN .F.
RIGHTALIGN .F.
END DATEPICKER
DEFINE COMBOBOX C_Pole2
ROW 60
COL 570
WIDTH 200
HEIGHT 100
ITEMS aHeaders2
VALUE 0
FONTNAME "Arial"
FONTSIZE 12
TOOLTIP ""
ONCHANGE Nil
ONGOTFOCUS Nil
ONLOSTFOCUS Nil
FONTBOLD .F.
FONTITALIC .F.
FONTUNDERLINE .F.
FONTSTRIKEOUT .F.
HELPID Nil
TABSTOP .T.
VISIBLE .F.
SORT .F.
ONENTER Nil
ONDISPLAYCHANGE Nil
DISPLAYEDIT .F.
IMAGE Nil
DROPPEDWIDTH Nil
ONDROPDOWN Nil
ONCLOSEUP Nil
END COMBOBOX
DEFINE TEXTBOX T_Czynnik3C
ROW 100
COL 570
WIDTH 200
HEIGHT 24
FONTNAME "Arial"
FONTSIZE 12
TOOLTIP ""
ONCHANGE Nil
ONGOTFOCUS Nil
ONLOSTFOCUS Nil
FONTBOLD .F.
FONTITALIC .F.
FONTUNDERLINE .F.
FONTSTRIKEOUT .F.
ONENTER Nil
HELPID Nil
TABSTOP .T.
VISIBLE .F.
READONLY .F.
RIGHTALIGN .F.
DISABLEDBACKCOLOR Nil
DISABLEDFONTCOLOR Nil
CASECONVERT NONE
MAXLENGTH 200
BACKCOLOR NIL
FONTCOLOR NIL
INPUTMASK Nil
FORMAT Nil
VALUE ""
END TEXTBOX
DEFINE TEXTBOX T_Czynnik3N
ROW 100
COL 570
WIDTH 200
HEIGHT 24
FONTNAME "Arial"
FONTSIZE 12
TOOLTIP ""
ONCHANGE Nil
ONGOTFOCUS Nil
ONLOSTFOCUS Nil
FONTBOLD .F.
FONTITALIC .F.
FONTUNDERLINE .F.
FONTSTRIKEOUT .F.
ONENTER Nil
HELPID Nil
TABSTOP .T.
VISIBLE .F.
READONLY .F.
RIGHTALIGN .F.
DISABLEDBACKCOLOR Nil
DISABLEDFONTCOLOR Nil
CASECONVERT NONE
BACKCOLOR NIL
FONTCOLOR NIL
INPUTMASK "999999999.9999"
FORMAT Nil
NUMERIC .T.
VALUE Nil
END TEXTBOX
DEFINE DATEPICKER T_Czynnik3D
ROW 100
COL 570
WIDTH 120
HEIGHT 24
VALUE CTOD(" / / ")
FONTNAME "Arial"
FONTSIZE 12
TOOLTIP ""
ONCHANGE Nil
ONGOTFOCUS Nil
ONLOSTFOCUS Nil
FONTBOLD .F.
FONTITALIC .F.
FONTUNDERLINE .F.
FONTSTRIKEOUT .F.
ONENTER Nil
HELPID Nil
TABSTOP .T.
VISIBLE .F.
SHOWNONE .F.
UPDOWN .F.
RIGHTALIGN .F.
END DATEPICKER
DEFINE COMBOBOX C_Pole3
ROW 100
COL 570
WIDTH 200
HEIGHT 100
ITEMS aHeaders2
VALUE 0
FONTNAME "Arial"
FONTSIZE 12
TOOLTIP ""
ONCHANGE Nil
ONGOTFOCUS Nil
ONLOSTFOCUS Nil
FONTBOLD .F.
FONTITALIC .F.
FONTUNDERLINE .F.
FONTSTRIKEOUT .F.
HELPID Nil
TABSTOP .T.
VISIBLE .F.
SORT .F.
ONENTER Nil
ONDISPLAYCHANGE Nil
DISPLAYEDIT .F.
IMAGE Nil
DROPPEDWIDTH Nil
ONDROPDOWN Nil
ONCLOSEUP Nil
END COMBOBOX
DEFINE BUTTON P_DodajWarunek
ROW 210
COL 620
WIDTH 100
HEIGHT 40
ACTION GetCondition()
CAPTION "&Dodaj warunek"
FONTNAME "Arial"
FONTSIZE 11
TOOLTIP ""
FONTBOLD .T.
FONTITALIC .F.
FONTUNDERLINE .F.
FONTSTRIKEOUT .F.
ONGOTFOCUS Nil
ONLOSTFOCUS Nil
HELPID Nil
FLAT .F.
TABSTOP .T.
VISIBLE .T.
TRANSPARENT .F.
MULTILINE .T.
PICTURE Nil
PICTALIGNMENT TOP
END BUTTON
DEFINE BUTTON P_UstawFiltr
ROW 340
COL 620
WIDTH 100
HEIGHT 40
ACTION P_UstawFiltr()
CAPTION "&Ustaw Filtr"
FONTNAME "Arial"
FONTSIZE 12
TOOLTIP ""
FONTBOLD .T.
FONTITALIC .F.
FONTUNDERLINE .F.
FONTSTRIKEOUT .F.
ONGOTFOCUS Nil
ONLOSTFOCUS Nil
HELPID Nil
FLAT .F.
TABSTOP .T.
VISIBLE .T.
TRANSPARENT .F.
MULTILINE .T.
PICTURE Nil
PICTALIGNMENT TOP
END BUTTON
DEFINE GRID G_Conditions
ROW 270
COL 30
WIDTH 570
HEIGHT 110
ITEMS aGridConditions
VALUE {0,0}
WIDTHS {470,80}
HEADERS {"Warunek","Operator"}
FONTNAME "Arial"
FONTSIZE 12
TOOLTIP "Użyj prawego klawisza myszy, aby usunąć warunek"
ONCHANGE Nil
ONGOTFOCUS Nil
ONLOSTFOCUS Nil
FONTBOLD .F.
FONTITALIC .F.
FONTUNDERLINE .F.
FONTSTRIKEOUT .F.
ONDBLCLICK Nil
ONHEADCLICK Nil
ONQUERYDATA Nil
MULTISELECT .F.
ALLOWEDIT .T.
VIRTUAL .F.
DYNAMICBACKCOLOR Nil
DYNAMICFORECOLOR Nil
COLUMNWHEN {{||.f.},{||!empty(this.CellValue)}}
COLUMNVALID Nil
COLUMNCONTROLS {{"TEXTBOX","CHARACTER"},{"COMBOBOX",{"i","lub"}}}
SHOWHEADERS .T.
CELLNAVIGATION .T.
NOLINES .F.
HELPID Nil
IMAGE Nil
JUSTIFY {0,2}
ITEMCOUNT Nil
BACKCOLOR NIL
FONTCOLOR NIL
HEADERIMAGES Nil
ROWSOURCE Nil
COLUMNFIELDS Nil
ALLOWAPPEND .F.
ALLOWDELETE .F.
BUFFERED .F.
DYNAMICDISPLAY .F.
ONSAVE Nil
LOCKCOLUMNS 0
END GRID
DEFINE LABEL Label_1
ROW 250
COL 30
WIDTH 250
HEIGHT 18
VALUE "Tabela zdefiniowanych warunków"
FONTNAME "Arial"
FONTSIZE 10
TOOLTIP ""
FONTBOLD .T.
FONTITALIC .T.
FONTUNDERLINE .F.
FONTSTRIKEOUT .F.
HELPID Nil
VISIBLE .T.
TRANSPARENT .F.
ACTION Nil
AUTOSIZE .F.
BACKCOLOR {174,215,255}
FONTCOLOR NIL
END LABEL
DEFINE CHECKBOX CH_WielkoscLiter
ROW 155
COL 570
WIDTH 180
HEIGHT 24
CAPTION "Uwzględniaj wielkość liter"
VALUE .F.
FONTNAME "Arial"
FONTSIZE 9
TOOLTIP ""
ONCHANGE Nil
ONGOTFOCUS Nil
ONLOSTFOCUS Nil
FONTBOLD .T.
FONTITALIC .F.
FONTUNDERLINE .F.
FONTSTRIKEOUT .F.
BACKCOLOR {174,215,255}
FONTCOLOR NIL
HELPID Nil
TABSTOP .T.
VISIBLE .T.
TRANSPARENT .F.
END CHECKBOX
DEFINE RADIOGROUP R_LacznikWarunku
ROW 180
COL 430
WIDTH 100
HEIGHT 28
OPTIONS { 'i','lub'}
VALUE 1
FONTNAME "Arial"
FONTSIZE 12
TOOLTIP ""
ONCHANGE Nil
FONTBOLD .T.
FONTITALIC .F.
FONTUNDERLINE .F.
FONTSTRIKEOUT .F.
HELPID Nil
TABSTOP .T.
VISIBLE .T.
TRANSPARENT .F.
SPACING 50
BACKCOLOR {174,215,255}
FONTCOLOR NIL
READONLY Nil
HORIZONTAL .T.
END RADIOGROUP
DEFINE LABEL Label_2
ROW 160
COL 400
WIDTH 160
HEIGHT 24
VALUE "Łącznik między warunkami"
FONTNAME "Arial"
FONTSIZE 9
TOOLTIP ""
FONTBOLD .T.
FONTITALIC .F.
FONTUNDERLINE .F.
FONTSTRIKEOUT .F.
HELPID Nil
VISIBLE .T.
TRANSPARENT .T.
ACTION Nil
AUTOSIZE .F.
BACKCOLOR {174,215,255}
FONTCOLOR NIL
END LABEL
DEFINE BUTTON P_WylaczFiltr
ROW 340
COL 730
WIDTH 100
HEIGHT 40
ACTION OknoWarunek_P_WylaczFiltr()
CAPTION "Wyłącz Filtr"
FONTNAME "Arial"
FONTSIZE 12
TOOLTIP ""
FONTBOLD .T.
FONTITALIC .F.
FONTUNDERLINE .F.
FONTSTRIKEOUT .F.
ONGOTFOCUS Nil
ONLOSTFOCUS Nil
HELPID Nil
FLAT .F.
TABSTOP .T.
VISIBLE .T.
TRANSPARENT .F.
MULTILINE .F.
PICTURE Nil
PICTALIGNMENT TOP
END BUTTON
END WINDOW
some functions:
Code: Select all
function ZmienOperatory
private NumerPola := OknoWarunek.C_Pole.Value
private czynnik1
private i, cTyp2, cTyp3
if NumerPola == 0
// jeszcze nie zainicjowane kontrolki w oknie
return
endif
if lVirtualGrid
czynnik1 := NumerPola
cTyp := valtype(aDaneZrodlowe[1,NumerPola])
else
czynnik1 := rtrim(aFieldsForFiltr[numerpola])
cTyp := valtype((cWorkAreaForFiltr)->(&(aFieldsForFiltr[numerPola])))
endif
//msgbox("pole: "+aFieldsForFiltr[numerPola] + chr(10) + "typ: "+cTyp)
aHeaders2:={}
aFields2 := {}
aHeaders3:={}
aFields3 := {}
for i:= 1 to len(aHeadersForFiltr)
if lVirtualGrid
cTyp2 := valtype(aDaneZrodlowe[1,NumerPola])
else
cTyp2 := valtype((cWorkAreaForFiltr)->(&(aFieldsForFiltr[i])))
endif
if cTyp2== cTyp
aadd(aHeaders2,aHeadersForFiltr[i])
aadd(aHeaders3,aHeadersForFiltr[i])
if lVirtualGrid
aadd(aFields2, i)
aadd(aFields3, i)
else
aadd(aFields2, aFieldsForFiltr[i])
aadd(aFields3, aFieldsForFiltr[i])
endif
endif
next i
do case
case cTyp == "L"
Opcje := {"Prawda","Fałsz","takie, jak","różne od"}
aOperatory := {"Prawda","Fałsz","=","<>"}
case cTyp == "N"
Opcje := { ' =', ' <>', ' <=', ' <', ' >=',' >','w zakresie' }
aOperatory := { 'równa się', 'różne od', 'mniejsze od lub równe ', 'mniejsze od', 'większe od lub równe','większe od','jest w zakresie'}
case cTyp == "C" .or. cTyp == "M"
Opcje := { ' =', ' <>', ' <=', ' <', ' >=',' >','w zakresie','zawiera',' puste','niepuste'}
aOperatory := { 'równa się', 'różne od', 'mniejsze od lub równe ', 'mniejsze od', 'większe od lub równe','większe od',, 'jest w zakresie','zawiera ciąg znaków','jest pusty','jest niepusty'}
case cTyp == "D"
Opcje := { ' =', ' <>', ' <=', ' <', ' >=',' >' ,'w zakresie'}
aOperatory := { 'jest równa', 'jest różna od', 'starsza niż lub równa', 'starsza niż', 'młodsza lub równa','młodsza niż', 'jest w zakresie'}
end case
OknoWarunek.C_Operator.DeleteAllItems
for i := 1 to len(Opcje)
OknoWarunek.C_Operator.AddItem(aOperatory[i])
next i
OknoWarunek.C_Operator.Value := 1
OknoWarunek.C_Pole2.DeleteAllItems
OknoWarunek.C_Pole3.DeleteAllItems
for i := 1 to len(aHeaders2)
OknoWarunek.C_Pole2.AddItem(aHeaders2[i])
OknoWarunek.C_Pole3.AddItem(aHeaders2[i])
next i
OknoWarunek.C_Pole2.Value := 1
OknoWarunek.C_Pole3.Value := 1
OknoWarunek.CH_WielkoscLiter.Visible := (cTyp == "C" .or. cTyp == "M")
if OknoWarunek.R_Rodzaj2.Value == 1
OknoWarunek.T_Czynnik2D.Visible := (cTyp == "D")
OknoWarunek.T_Czynnik2C.Visible := (cTyp == "C" .or. cTyp == "M")
OknoWarunek.T_Czynnik2N.Visible := (cTyp == "N")
OknoWarunek.C_Pole2.Visible := .f.
else
OknoWarunek.T_Czynnik2D.Visible := .f.
OknoWarunek.T_Czynnik2C.Visible := .f.
OknoWarunek.T_Czynnik2N.Visible := .f.
OknoWarunek.C_Pole2.Visible := .t.
endif
OknoWarunek.T_Czynnik3D.Visible := .f.
OknoWarunek.T_Czynnik3C.Visible := .f.
OknoWarunek.T_Czynnik3N.Visible := .f.
OknoWarunek.C_Pole3.Visible := .f.
return
*------------------------
function UstawFiltr_ZmianaOperatora
local cTyp
//cTyp := valtype(&(cWorkAreaForFiltr+"->" +aFields[OknoWarunek.C_Pole.Value]))
if lVirtualGrid
cTyp := valtype(aDaneZrodlowe[1,OknoWarunek.C_Pole.Value])
else
cTyp := valtype(&(aFieldsForFiltr[OknoWarunek.C_Pole.Value]))
endif
OknoWarunek.T_Czynnik2C.Visible := (this.Value<=8 .and. cTyp=="C")
OknoWarunek.T_Czynnik3D.Visible := (this.Value=7 .and. cTyp=="D")
OknoWarunek.T_Czynnik3C.Visible := (this.Value=7 .and. cTyp=="C")
OknoWarunek.T_Czynnik3N.Visible := (this.Value=7 .and. cTyp=="N")
return
*------------------------
function ZmienRodzajCzynnika2
OknoWarunek.T_Czynnik2D.Visible := .f.
OknoWarunek.T_Czynnik2C.Visible := .f.
OknoWarunek.T_Czynnik2N.Visible := .f.
OknoWarunek.C_Pole2.Visible := .f.
OknoWarunek.T_Czynnik3D.Visible := .f.
OknoWarunek.T_Czynnik3C.Visible := .f.
OknoWarunek.T_Czynnik3N.Visible := .f.
OknoWarunek.C_Pole3.Visible := .f.
//msgbox("Zmienrodzajczynnika2: ctyp: "+ cTyp)
if OknoWarunek.R_Rodzaj2.Value == 1
// filtr wg wartości stałej
do case
case cTyp == "N"
OknoWarunek.T_Czynnik2D.Visible := .f.
OknoWarunek.T_Czynnik2C.Visible := .f.
OknoWarunek.T_Czynnik2N.Visible := .t.
OknoWarunek.T_Czynnik3D.Visible := .f.
OknoWarunek.T_Czynnik3C.Visible := .f.
OknoWarunek.T_Czynnik3N.Visible := (OknoWarunek.C_operator.Value == 7)
case cTyp == "C" .or. cTyp == "M"
OknoWarunek.T_Czynnik2D.Visible := .f.
OknoWarunek.T_Czynnik2C.Visible := .t.
OknoWarunek.T_Czynnik2N.Visible := .f.
OknoWarunek.T_Czynnik3D.Visible := .f.
OknoWarunek.T_Czynnik3C.Visible := (OknoWarunek.C_operator.Value == 7)
OknoWarunek.T_Czynnik3N.Visible := .f.
case cTyp == "D"
OknoWarunek.T_Czynnik2D.Visible := .t.
OknoWarunek.T_Czynnik2C.Visible := .f.
OknoWarunek.T_Czynnik2N.Visible := .f.
OknoWarunek.T_Czynnik3D.Visible := (OknoWarunek.C_operator.Value == 7)
OknoWarunek.T_Czynnik3C.Visible := .f.
OknoWarunek.T_Czynnik3N.Visible := .f.
end case
else
OknoWarunek.C_Pole2.Visible := .t.
OknoWarunek.C_Pole3.Visible := (OknoWarunek.C_operator.Value == 7)
endif
return
*------------------------