| Name | Initial value |
|---|---|
| Caption | "About ..." |
| DoCreate | .T. |
| Name | Initial value | Comment |
|---|---|---|
| cmsinfodir |
=MESSAGEBOX(cap_lbluser +": " + m.gu_user + CHR(13) +;
cap_lblusername+": " + m.gu_user_name,48,_SCREEN.CAPTION)
LPARAMETERS tcarg
LOCAL lcbuffer, ;
lnbuffersize, ;
lcretval, ;
lnreserved, ;
lnresult, ;
lnerror, ;
lntype, ;
lckey
THIS.BORDERSTYLE = 2
DECLARE INTEGER GetPrivateProfileString IN Win32API AS GetPrivStr ;
STRING cSection ,;
STRING cKey ,;
STRING cDefault ,;
STRING @cBuffer ,;
INTEGER nBufferSize,;
STRING cINIFile
DECLARE INTEGER WritePrivateProfileString IN Win32API AS WritePrivStr ;
STRING cSection,;
STRING cKey ,;
STRING cValue ,;
STRING cINIFile
DECLARE INTEGER RegOpenKeyEx IN Win32API ;
INTEGER nKey ,;
STRING @cSubKey ,;
INTEGER nReserved ,;
INTEGER nAccessMask,;
INTEGER @nResult
DECLARE INTEGER RegQueryValueEx IN Win32API ;
INTEGER nKey ,;
STRING cValueName,;
INTEGER nReserved ,;
INTEGER @nType ,;
STRING @cBuffer ,;
INTEGER @nBufferSize
DECLARE INTEGER RegCloseKey IN Win32API ;
INTEGER nKey
DECLARE INTEGER GetProfileString IN Win32API AS GetProStr ;
STRING cSection,;
STRING cKey ,;
STRING cDefault,;
STRING @cBuffer,;
INTEGER nBufferSize
STORE 0 TO lnreserved, lnresult, lntype
lcbuffer = SPACE(128)
lnbuffersize = LEN(lcbuffer)
STORE "" TO ;
THISFORM.lblusername.CAPTION, ;
THISFORM.lblusercorp.CAPTION, ;
THISFORM.cmsinfodir
lnerror = regopenkeyex(hkey_local_machine, key_shared_tools_location, ;
lnreserved, key_query_value, @lnresult)
IF lnerror = error_success
lnerror = regqueryvalueex(lnresult, "PATH", lnreserved, ;
@lntype, @lcbuffer, @lnbuffersize)
IF lnerror = error_success
THISFORM.cmsinfodir = ALLTRIM(lcbuffer)
IF !FILE(THISFORM.cmsinfodir)
THISFORM.cmsinfodir = ""
ENDIF
ENDIF
=regclosekey(lnresult)
lnresult = 0
lckey = IIF("NT" $ UPPER(OS()) OR "5" $ UPPER(OS()), key_ntcurrentversion, key_win4currentversion)
lnerror = regopenkeyex(hkey_local_machine, lckey, ;
lnreserved, key_query_value, @lnresult)
IF lnerror = error_success
lntype = 0
lcbuffer = SPACE(128)
lnbuffersize = LEN(lcbuffer)
lnerror = regqueryvalueex(lnresult, "RegisteredOwner", lnreserved, ;
@lntype, @lcbuffer, @lnbuffersize)
IF lnerror = error_success AND lcbuffer <> CHR(0)
THISFORM.lblusername.CAPTION = LEFT(lcbuffer, lnbuffersize - 1)
ENDIF
ENDIF
lntype = 0
lcbuffer = SPACE(128)
lnbuffersize = LEN(lcbuffer)
lnerror = regqueryvalueex(lnresult, "RegisteredOrganization", lnreserved, ;
@lntype, @lcbuffer, @lnbuffersize)
IF lnerror = error_success AND lcbuffer <> CHR(0)
THISFORM.lblusercorp.CAPTION = LEFT(lcbuffer, lnbuffersize - 1)
ENDIF
ENDIF
=regclosekey(lnresult)
IF EMPTY(THISFORM.cmsinfodir)
THISFORM.cmsinfodir = " "
THISFORM.cmdsysinfo.ENABLED = .F.
THISFORM.cmdsysinfo.VISIBLE = .F.
THISFORM.HEIGHT = THISFORM.HEIGHT - THISFORM.cmdsysinfo.HEIGHT
ENDIF
THIS.AUTOCENTER = .T.
DODEFAULT(tcarg)
* Read the version info from this file.
LOCAL lainfo
DIMENSION lainfo(12)
IF AGETFILEVERSION(lainfo,SYS(16,0))>0
IF NOT EMPTY(lainfo(4))
THISFORM.lblversion.CAPTION=THISFORM.lblversion.CAPTION+ALLTRIM(lainfo[4])
ENDIF
ENDIF
| Baseclass | Class | Object name |
|---|---|---|
| commandbutton | commandbutton | caboutdialog.cmdOK |
| caboutdialog.cmdSysInfo | ||
| image | image | caboutdialog.imgLogo |
| label | label | caboutdialog.lblAppName |
| caboutdialog.lblCopyright | ||
| caboutdialog.lblLicense | ||
| caboutdialog.lblTrademark | ||
| caboutdialog.lblUserCorp | ||
| caboutdialog.lblUserName | ||
| caboutdialog.lblVersion | ||
| line | line | caboutdialog.linBlackVertical |
| caboutdialog.linWhiteShadow | ||
| shape | shape | caboutdialog.shpRectangle |
| Name | Initial value |
|---|---|
| Caption | "\<OK" |
| Default | .T. |
| FontBold | .F. |
| HelpContextID | 165 |
| TabIndex | 8 |
RELEASE THISFORM
| Name | Initial value |
|---|---|
| Caption | "\<System Info..." |
| FontBold | .F. |
| HelpContextID | 166 |
| TabIndex | 9 |
LOCAL lcmsinfowindir
lcmsinfowindir= THISFORM.cmsinfodir
RUN /n1 &lcmsinfowindir
| Name | Initial value |
|---|---|
| HelpContextID | 164 |
| Picture | ..\bitmap\about.bmp |
| Stretch | 1 |
| Name | Initial value |
|---|---|
| AutoSize | .T. |
| BackStyle | 0 |
| Caption | "Your application name" |
| TabIndex | 1 |
| Name | Initial value |
|---|---|
| AutoSize | .T. |
| BackStyle | 0 |
| Caption | "Copyright Information" |
| TabIndex | 3 |
| Name | Initial value |
|---|---|
| AutoSize | .T. |
| BackStyle | 0 |
| Caption | "This product is licensed to:" |
| TabIndex | 5 |
| Name | Initial value |
|---|---|
| AutoSize | .T. |
| BackStyle | 0 |
| Caption | "Trademark Information" |
| FontBold | .F. |
| TabIndex | 4 |
| Name | Initial value |
|---|---|
| AutoSize | .T. |
| BackStyle | 0 |
| Caption | "UserCorp" |
| FontBold | .F. |
| TabIndex | 7 |
| Name | Initial value |
|---|---|
| AutoSize | .T. |
| BackStyle | 0 |
| Caption | "UserName" |
| FontBold | .F. |
| TabIndex | 6 |
| Name | Initial value |
|---|---|
| AutoSize | .T. |
| BackStyle | 0 |
| Caption | "Version #" |
| TabIndex | 2 |
| Name | Initial value |
|---|---|
| BorderColor | 128,128,128 |
| Name | Initial value |
|---|---|
| BorderColor | 255,255,255 |
| BorderStyle | 1 |
| Name | Initial value |
|---|---|
| SpecialEffect | 0 |
| Name | Initial value |
|---|---|
| AutoCenter | .T. |
| Caption | "CAskForm" |
| ControlBox | .F. |
| DoCreate | .T. |
| lcloseonesc | .F. |
| lmultiinstance | .F. |
| lsaveposition | .F. |
| lsetfocus | .F. |
| Name | Initial value | Comment |
|---|---|---|
| cpic1 | bitmap\stop.bmp | |
| cpic2 | bitmap\ask.bmp | |
| cpic3 | bitmap\exclam.bmp | |
| cpic4 | bitmap\info.bmp | |
| pnretval | .f. |
LPARAMETERS tctext, tnvalue, tctitle, tcbuttontext1, tcbuttontext2, tcbuttontext3, tltimer, tntimeout
LOCAL lnbutton, lnpicture, lndefault, lni, lnmaxwidth, lnlines, lnheightplus, lnbuttoncount, lnbuttonwidth
IF EMPTY(tctext)
tctext = ""
ENDIF
IF EMPTY(tnvalue)
tnvalue = 0
ENDIF
IF EMPTY(tctitle)
tctitle = ""
ENDIF
IF tltimer
THIS.TIMER.INTERVAL=tntimeout
ENDIF
lndefault = INT(tnvalue / 256) * 256
tnvalue = tnvalue - lndefault
lnpicture = INT(tnvalue / 16) * 16
lnbutton = tnvalue - lnpicture
lnmaxwidth = 0
lnheightplus = 0
lnbuttonwidth = 80
DO CASE
CASE lnbutton = 0 OR (lnbutton = 0 AND EMPTY(tcbuttontext2))
lnbuttoncount = 1
CASE lnbutton = 1 OR lnbutton = 4 OR lnbutton = 5 OR ;
(lnbutton = 6 AND EMPTY(tcbuttontext3))
lnbuttoncount = 2
CASE lnbutton = 2 OR lnbutton = 3 OR lnbutton = 6
lnbuttoncount = 3
ENDCASE
WITH THISFORM
.CAPTION = tctitle
DO CASE
CASE lnpicture = 16
.imaimage.PICTURE = .cpic1
CASE lnpicture = 32
.imaimage.PICTURE = .cpic2
CASE lnpicture = 48
.imaimage.PICTURE = .cpic3
CASE lnpicture = 64
.imaimage.PICTURE = .cpic4
OTHERWISE
.imaimage.PICTURE = ""
ENDCASE
DO CASE
CASE lndefault = 0
.cmdbutton1.DEFAULT = .T.
CASE lndefault = 256
.cmdbutton2.DEFAULT = .T.
CASE lndefault = 512
.cmdbutton3.DEFAULT = .T.
ENDCASE
lnlines = MEMLINES(tctext)
FOR lni = 1 TO lnlines
lnwidth = FONTMETRIC(6, "arial", 9) * TXTWIDTH(MLINE(tctext, lni), "arial", 9)
IF lnwidth > lnmaxwidth
lnmaxwidth = lnwidth
ENDIF
ENDFOR
lnwidth = FONTMETRIC(6, "arial", 9) * TXTWIDTH(MLINE(tctitle, lni), "arial", 9)
IF lnwidth > lnmaxwidth
lnmaxwidth = lnwidth
ENDIF
IF lnbutton = 6
IF !EMPTY(tcbuttontext1)
lnbuttonwidth = FONTMETRIC(6, "arial", 9) * TXTWIDTH(STRTRAN(tcbuttontext1, "\<", ""), "arial", 9) +25
ENDIF
IF !EMPTY(tcbuttontext2)
lnwidth = FONTMETRIC(6, "arial", 9) * TXTWIDTH(STRTRAN(tcbuttontext2, "\<", ""), "arial", 9) +25
IF lnwidth > lnbuttonwidth
lnbuttonwidth = lnwidth
ENDIF
ENDIF
IF !EMPTY(tcbuttontext3)
lnwidth = FONTMETRIC(6, "arial", 9) * TXTWIDTH(STRTRAN(tcbuttontext3, "\<", ""), "arial", 9) +25
IF lnwidth > lnbuttonwidth
lnbuttonwidth = lnwidth
ENDIF
ENDIF
IF lnbuttonwidth > 80
.cmdbutton1.WIDTH = lnbuttonwidth
.cmdbutton2.WIDTH = lnbuttonwidth
.cmdbutton3.WIDTH = lnbuttonwidth
ELSE
lnbuttonwidth = 80
ENDIF
ENDIF
lnwidth = lnbuttonwidth * lnbuttoncount - IIF(lnbuttoncount = 1, 50, IIF(lnbuttoncount = 2, 45, 35))
IF lnwidth > lnmaxwidth
lnmaxwidth = lnwidth
ENDIF
IF lnlines > 2
lnheightplus = (lnlines -2) * FONTMETRIC(1, "arial", 9)
.HEIGHT = .HEIGHT + lnheightplus
.txttext.TOP = .txttext.TOP - 10
ENDIF
.WIDTH = MAX(lnmaxwidth + 75, 165)
.txttext.WIDTH = lnmaxwidth
.txttext.CAPTION = tctext
.txttext.LEFT = MIN((.WIDTH - 50 - lnmaxwidth) / 2 + 50, 60)
.cmdbutton1.TOP = .cmdbutton1.TOP + lnheightplus
.cmdbutton2.TOP = .cmdbutton2.TOP + lnheightplus
.cmdbutton3.TOP = .cmdbutton3.TOP + lnheightplus
DO CASE
CASE lnbutton = 0
.cmdbutton1.VISIBLE = .T.
.cmdbutton1.CAPTION = cap_cmdok
.cmdbutton1.LEFT = (.WIDTH -lnbuttonwidth) /2
CASE lnbutton = 1
.cmdbutton1.VISIBLE = .T.
.cmdbutton2.VISIBLE = .T.
.cmdbutton1.CAPTION = cap_cmdok
.cmdbutton2.CAPTION = cap_cmdcancel
.cmdbutton1.LEFT = (.WIDTH -(lnbuttonwidth *2) -10) /2
.cmdbutton2.LEFT = .cmdbutton1.LEFT +lnbuttonwidth +10
.cmdbutton2.CANCEL = .T.
.CLOSABLE = .T.
.lcloseonesc = .T.
CASE lnbutton = 2
.cmdbutton1.VISIBLE = .T.
.cmdbutton2.VISIBLE = .T.
.cmdbutton3.VISIBLE = .T.
.cmdbutton1.CAPTION = "\<"+cap_cmdabort
.cmdbutton2.CAPTION = "\<"+cap_cmdretry
.cmdbutton3.CAPTION = "\<"+cap_cmdignore
.cmdbutton1.LEFT = (.WIDTH -(lnbuttonwidth *3) -20) /2
.cmdbutton2.LEFT = .cmdbutton1.LEFT +lnbuttonwidth +10
.cmdbutton3.LEFT = .cmdbutton2.LEFT +lnbuttonwidth +10
CASE lnbutton = 3
.cmdbutton1.VISIBLE = .T.
.cmdbutton2.VISIBLE = .T.
.cmdbutton3.VISIBLE = .T.
.cmdbutton1.CAPTION = "\<"+cap_cmdyes
.cmdbutton2.CAPTION = "\<"+cap_cmdno
.cmdbutton3.CAPTION = cap_cmdcancel
.cmdbutton1.LEFT = (.WIDTH -(lnbuttonwidth *3) -20) /2
.cmdbutton2.LEFT = .cmdbutton1.LEFT +lnbuttonwidth +10
.cmdbutton3.LEFT = .cmdbutton2.LEFT +lnbuttonwidth +10
.cmdbutton3.CANCEL = .T.
.CLOSABLE = .T.
.lcloseonesc = .T.
CASE lnbutton = 4
.cmdbutton1.VISIBLE = .T.
.cmdbutton2.VISIBLE = .T.
.cmdbutton1.CAPTION = "\<"+cap_cmdyes
.cmdbutton2.CAPTION = "\<"+cap_cmdno
.cmdbutton1.LEFT = (.WIDTH -(lnbuttonwidth *2) -10) /2
.cmdbutton2.LEFT = .cmdbutton1.LEFT +lnbuttonwidth +10
CASE lnbutton = 5
.cmdbutton1.VISIBLE = .T.
.cmdbutton2.VISIBLE = .T.
.cmdbutton1.CAPTION = "\<"+cap_cmdretry
.cmdbutton2.CAPTION = cap_cmdcancel
.cmdbutton1.LEFT = (.WIDTH -(lnbuttonwidth *2) -10) /2
.cmdbutton2.LEFT = .cmdbutton1.LEFT +lnbuttonwidth +10
.cmdbutton2.CANCEL = .T.
.CLOSABLE = .T.
.lcloseonesc = .T.
CASE lnbutton = 6
IF !EMPTY(tcbuttontext1)
.cmdbutton1.VISIBLE = .T.
.cmdbutton1.CAPTION = tcbuttontext1
.cmdbutton1.LEFT = (.WIDTH -lnbuttonwidth) /2
IF LOWER(tcbuttontext1) = LOWER(cap_cmdcancel)
.cmdbutton1.CANCEL = .T.
.CLOSABLE = .T.
.lcloseonesc = .T.
ENDIF
ELSE
RETURN .F.
ENDIF
IF !EMPTY(tcbuttontext2)
.cmdbutton2.VISIBLE = .T.
.cmdbutton2.CAPTION = tcbuttontext2
.cmdbutton1.LEFT = (.WIDTH -(lnbuttonwidth *2) -10) /2
.cmdbutton2.LEFT = .cmdbutton1.LEFT +lnbuttonwidth +10
IF LOWER(tcbuttontext2) = LOWER(cap_cmdcancel)
.cmdbutton2.CANCEL = .T.
.CLOSABLE = .T.
.lcloseonesc = .T.
ENDIF
ENDIF
IF !EMPTY(tcbuttontext3)
.cmdbutton3.VISIBLE = .T.
.cmdbutton3.CAPTION = tcbuttontext3
.cmdbutton1.LEFT = (.WIDTH -(lnbuttonwidth *3) -20) /2
.cmdbutton2.LEFT = .cmdbutton1.LEFT +lnbuttonwidth +10
.cmdbutton3.LEFT = .cmdbutton2.LEFT +lnbuttonwidth +10
IF LOWER(tcbuttontext3) = LOWER(cap_cmdcancel)
.cmdbutton3.CANCEL = .T.
.CLOSABLE = .T.
.lcloseonesc = .T.
ENDIF
ENDIF
OTHERWISE
RETURN .F.
ENDCASE
ENDWITH
RETURN DODEFAULT()
LPARAMETERS nstyle
WITH THISFORM
DO CASE
CASE .cmdbutton1.DEFAULT
.cmdbutton1.SETFOCUS()
CASE .cmdbutton2.DEFAULT
.cmdbutton2.SETFOCUS()
CASE .cmdbutton3.DEFAULT
.cmdbutton3.SETFOCUS()
ENDCASE
ENDWITH
RETURN THIS.pnretval
| Baseclass | Class | Object name |
|---|---|---|
| commandbutton | ccommandbutton | caskform.cmdbutton1 |
| caskform.cmdbutton2 | ||
| caskform.cmdbutton3 | ||
| image | cimage | caskform.imaImage |
| label | clabel | caskform.txtText |
| timer | ctimer | caskform.timer |
| Name | Initial value |
|---|---|
| Caption | "" |
| HelpContextID | 124 |
| Visible | .F. |
THISFORM.pnretval = 1
THISFORM.RELEASE()
| Name | Initial value |
|---|---|
| Caption | "" |
| HelpContextID | 125 |
| Visible | .F. |
THISFORM.pnretval = 2
THISFORM.RELEASE()
| Name | Initial value |
|---|---|
| Caption | "" |
| HelpContextID | 126 |
| Visible | .F. |
THISFORM.pnretval = 3
THISFORM.RELEASE()
| Name | Initial value |
|---|---|
| HelpContextID | 123 |
| Name | Initial value |
|---|---|
| Caption | "Text" |
| WordWrap | .T. |
THISFORM.cmdbutton1.CLICK()
| Name | Initial value |
|---|---|
| Caption | "Audit-Trail" |
| DataSession | 1 |
| DoCreate | .T. |
| lputinwindowmenu | .T. |
LPARAMETERS tccaption, tcaudit
THIS.CAPTION = tccaption
THIS.edtaudit.VALUE = tcaudit
RETURN DODEFAULT()
| Baseclass | Class | Object name |
|---|---|---|
| editbox | ceditbox | caudittrail.edtAudit |
| Name | Initial value |
|---|---|
| Comment | " |
| HelpContextID | 127 |
| ReadOnly | .T. |
| lautosetup | .F. |
| lproportionalresize | .F. |
| Name | Initial value |
|---|---|
| Caption | "Select a Date" |
| Closable | .F. |
| DataSession | 1 |
| DoCreate | .T. |
| MaxButton | .F. |
| MinButton | .F. |
| Visible | .F. |
| WindowType | 1 |
| lcloseonesc | .F. |
| lmultiinstance | .F. |
| Name | Initial value | Comment |
|---|---|---|
| cerror | .f. | |
| oparentdate | .f. | Date Textbox from where this Form has been called |
LOCAL lcday, lcmonth, lcyear, lcdate, lddate, lcolddate
* Get the Date Values
WITH THISFORM.olecalendar
lcday = ALLTRIM(STR(.DAY()))
lcmonth = ALLTRIM(STR(.MONTH()))
lcyear = ALLTRIM(STR(.YEAR()))
ENDWITH
* String to Date Conversion
lcolddate = SET("date")
SET DATE TO GERMAN
lcdate = lcday + "." + lcmonth + "." + lcyear
lddate = CTOD(lcdate)
SET DATE TO &lcolddate
RETURN lddate
LOCAL lddate
WITH THISFORM
IF !EMPTY(NVL(.oparentdate.txtdate.VALUE, {}))
lddate = .oparentdate.txtdate.VALUE
.olecalendar.DAY = DAY(lddate )
.olecalendar.MONTH = MONTH(lddate )
.olecalendar.YEAR = YEAR(lddate )
ELSE
lddate = DATE()
.olecalendar.DAY = DAY(lddate)
.olecalendar.MONTH = MONTH(lddate)
.olecalendar.YEAR = YEAR(lddate)
ENDIF
ENDWITH
LPARAMETERS toparentdate
DODEFAULT()
THIS.oparentdate = toparentdate
IF (!EMPTY(toparentdate.cpicktext))
THIS.CAPTION = toparentdate.cpicktext
ENDIF
IF (toparentdate.isdmydate)
THISFORM.setdate()
ENDIF
**__VFX_WIZARD_HEADER - 29.08.1998 23:14:49
thisform.cmdapply.Caption = CAP_CMDAPPLY
thisform.cmdclose.Caption = CAP_CMDCANCEL
thisform.cmdok.Caption = CAP_CMDOK
return .T.
**__VFX_WIZARD_FOOTER
***********************************************************
| Baseclass | Class | Object name |
|---|---|---|
| commandbutton | ccommandbutton | ccalendar.cmdApply |
| ccalendar.cmdClose | ||
| ccalendar.cmdOk | ||
| olecontrol | olecontrol | ccalendar.OLECalendar |
| Name | Initial value |
|---|---|
| Caption | "\<Apply" |
| HelpContextID | 130 |
| TabIndex | 2 |
| ZOrderSet | 3 |
* Just update the Value in the ParentDate - Object
WITH THISFORM
IF (TYPE("thisform.oParentDate") = "O")
LOCAL lddate
lddate = .getdate()
IF VARTYPE(THISFORM.oparentdate.txtdate.VALUE)$"DTX"
IF NVL(.oparentdate.txtdate.VALUE, {}) != lddate
* switch to edit mode if neccessary
.oparentdate.setdate(lddate)
IF .oparentdate.lautosetup
.oparentdate.txtdate.INTERACTIVECHANGE()
ENDIF
ENDIF
ENDIF
ENDIF
ENDWITH
| Name | Initial value |
|---|---|
| Cancel | .T. |
| Caption | "\<Cancel" |
| HelpContextID | 128 |
| TabIndex | 3 |
| ZOrderSet | 0 |
* close the form without update
THISFORM.RELEASE
| Name | Initial value |
|---|---|
| Caption | "\<OK" |
| Default | .T. |
| HelpContextID | 129 |
| TabIndex | 4 |
| ZOrderSet | 1 |
* Update the Value and close the form
WITH THISFORM
.cmdapply.CLICK()
.cmdclose.CLICK()
ENDWITH
| Name | Initial value |
|---|---|
| TabIndex | 1 |
| ZOrderSet | 2 |
*** OLE Control Event ***
THISFORM.cmdok.CLICK()
NODEFAULT
*** OLE Control Event ***
LPARAMETERS keyascii
* inform buttons about keypress
DO CASE
CASE keyascii = 27 && ESCAPE
THISFORM.cmdclose.CLICK()
CASE keyascii = 13 && ENTER
THISFORM.cmdok.CLICK()
ENDCASE
| Name | Initial value |
|---|---|
| BorderStyle | 2 |
| Caption | "Database Tools" |
| DataSession | 1 |
| DoCreate | .T. |
LOCAL lnitem, lnmaxitems, lctablename, latable[1,4],logauge
** If using SDT the goProgram.cMainDatabase property must be the same DBC
** that SDT's Meta data is based on
IF !THISFORM.cntmover.GETDATA(@latable)
RETURN .F.
ENDIF
lnmaxitems = ALEN(latable,1)
logauge = CREATEOBJECT('CGaugeWin', lnmaxitems)
logauge.SHOW()
LOCAL llsdt
llsdt = .F.
#ifdef _stonefield
LOCAL lquiet
llsdt = .T.
lquiet = ometa.osdtmgr.lquiet
ometa.osdtmgr.lquiet = .T.
#ENDIF
IF ADIR(ladummy,goprogram.cvfxdir+"vfxres.dbf")#1
IF ADIR(ladummy,goprogram.cdatadir+"\vfxres.dbf")#1
* Table not found. Create new table.
THIS.createtable(goprogram.cvfxdir+"vfxres")
ENDIF
ENDIF
USE vfxres EXCLUSIVE
IF ISEXCLUSIVE()
PACK
ENDIF
IF ADIR(ladummy,goprogram.cvfxdir+"vfxlock.dbf")#1
IF ADIR(ladummy,goprogram.cdatadir+"\vfxlock.dbf")#1
* Table not found. Create new table.
THIS.createtable(goprogram.cvfxdir+"vfxlock")
ENDIF
ENDIF
USE vfxlock EXCLUSIVE
IF ISEXCLUSIVE()
PACK
ENDIF
IF ADIR(ladummy,goprogram.cvfxdir+"vfxlog.dbf")#1
IF ADIR(ladummy,goprogram.cdatadir+"\vfxlog.dbf")#1
* Table not found. Create new table.
THIS.createtable(goprogram.cvfxdir+"vfxlog")
ENDIF
ENDIF
USE vfxlog EXCLUSIVE
IF ISEXCLUSIVE()
PACK
ENDIF
USE
FOR lnitem = 1 TO lnmaxitems
logauge.setvalue(lnitem)
lctablename = ALLTRIM(latable[lnItem,1])
IF THISFORM.chkrepair.VALUE
logauge.settext("Repair: " + lctablename)
IF latable[lnItem,4]
ometa.osdtmgr.repair(lctablename)
ENDIF
ELSE
USE (goprogram.cdatadir+"\"+lctablename) IN 0 EXCLUSIVE
IF !ISEXCLUSIVE(lctablename)
=MESSAGEBOX(msg_table_lock_error,;
mb_ok+mb_iconstop ,;
lctablename)
ELSE
SELECT (lctablename)
DO CASE
CASE THISFORM.chkpack.VALUE
logauge.settext("Packing: " + lctablename)
IF latable[lnItem,4] AND llsdt
USE IN (lctablename)
ometa.osdtmgr.REINDEX(lctablename,.T.)
ELSE
PACK
ENDIF
CASE THISFORM.chkpackmemo.VALUE
logauge.settext("Packing Memo: " + lctablename)
PACK MEMO
CASE THISFORM.chkreindex.VALUE
logauge.settext("Reindex: " + lctablename)
IF latable[lnItem,4] AND llsdt
USE IN (lctablename)
ometa.osdtmgr.REINDEX(lctablename,.F.)
ELSE
REINDEX
ENDIF
ENDCASE
ENDIF && !exclusive()
ENDIF && chkRepair
IF USED(lctablename)
USE IN (lctablename)
ENDIF
NEXT
#ifdef _stonefield
ometa.osdtmgr.lquiet = lquiet
#ENDIF
logauge=.NULL.
RELEASE logauge
CLOSE TABLES ALL
WAIT CLEAR
**__VFX_WIZARD_HEADER - 08/07/96 04:28:15 PM
thisForm.Caption = CAP_FRMDATABASETOOLS
thisform.cntmover.lblsource.Caption = CAP_LBLTABLES
thisform.cntmover.lblselected.Caption = CAP_LBLSELECTED
thisform.lblrecords.Caption = CAP_LBLRECORDS
thisform.chkpack.Caption = CAP_PACK
thisform.chkrepair.Caption = CAP_REPAIR
thisform.chkpackmemo.Caption = CAP_PACKMEMO
thisform.chkreindex.Caption = CAP_REINDEX
thisform.cmdok.Caption = CAP_CMDOK
thisform.cmdclose.Caption = CAP_CMDCANCEL
return .T.
**__VFX_WIZARD_FOOTER
***********************************************************
SET DATASESSION TO 1
CLOSE DATA ALL
goprogram.opendatabase()
RETURN DODEFAULT()
LPARAMETERS tcarg
** If using SDT the goProgram.cMainDatabase property must be the same DBC
** that SDT's Meta data is based on
LOCAL latable[1,1],lnitem, logauge, lafiles[1,1], lctable, lcdata, lnhowmany
IF TYPE("goProgram") # "O"
RETURN .F.
ENDIF
IF goprogram.nformcount <> 0
=MESSAGEBOX(msg_windows_opened,0+48,_SCREEN.CAPTION)
RETURN .F.
ENDIF
IF ADIR(lafiles, goprogram.cdatadir+"\*.DBF","A") = 0
RETURN .F.
ENDIF
#ifdef _stonefield
THIS.chkrepair.VISIBLE = .T.
THIS.chkrepair.ENABLED = .T.
#ELSE
THIS.chkrepair.VISIBLE = .F.
THIS.chkrepair.ENABLED = .F.
#ENDIF
SET DATASESSION TO 1
CLOSE DATA ALL
*!* The database must be opened exclusive.
IF !goprogram.opendatabase(.T.)
RETURN .F.
ENDIF
** Exclude some tables
LOCAL lctemp, lnindex
lnhowmany = getargcount(goprogram.cexcludefiles)
FOR j = 1 TO lnhowmany
lctemp = UPPER(getarg(goprogram.cexcludefiles,j))
lnindex = ASCAN(lafiles,lctemp)
IF lnindex # 0
lnindex = ASUBSCRIPT(lafiles, lnindex, 1)
lafiles[lnIndex,1] = ''
ENDIF
NEXT
=ASORT(lafiles)
THIS.AUTOCENTER = .T.
DODEFAULT(tcarg)
THIS.WIDTH = THIS.WIDTH
THIS.HEIGHT = THIS.HEIGHT
logauge = CREATEOBJECT('CGaugeWin', ALEN(lafiles,1), msg_working)
logauge.SHOW()
* Load Tables description
DIMENSION latable[ALEN(laFiles,1),4]
* 1 - TableName
* 2 - Capion
* 3 - Records
* 4 - in goProgram.cMainDatabase
FOR lnitem = 1 TO ALEN(lafiles,1)
logauge.setvalue(lnitem)
IF !EMPTY(lafiles[lnItem,1])
lcdata = ALLTRIM(STRTRAN(UPPER(lafiles[lnItem,1]),".DBF",""))
lctable = ''
latable[lnItem,4] = INDBC(lcdata,'TABLE')
IF latable[lnItem,4]
lctable = DBGETPROP(lcdata,'TABLE','COMMENT')
ENDIF
IF EMPTY(lctable)
lctable = UPPER(lcdata)
ENDIF
latable[lnItem,1] = lcdata
latable[lnItem,2] = lctable
logauge.settext("Loading: " + lcdata)
lctable = goprogram.cdatadir+ "\" + ALLTRIM(lcdata)
USE (lctable) IN 0 ALIAS _vfx_table
latable[lnItem,3] = RECCOUNT("_VFX_TABLE")
USE IN _vfx_table
ENDIF
NEXT
logauge.RELEASE()
THIS.cntmover.SETDATA(@latable)
DODEFAULT()
THIS.cntmover.SETFOCUS()
LPARAMETERS nerror, cmethod, nline
IF nerror = 1705 OR nerror = 13
RETURN .F.
ENDIF
| Baseclass | Class | Object name |
|---|---|---|
| checkbox | ccheckbox | cdatabasetools.chkPack |
| cdatabasetools.chkPackMemo | ||
| cdatabasetools.chkReindex | ||
| cdatabasetools.chkRepair | ||
| commandbutton | ccommandbutton | cdatabasetools.cmdClose |
| cdatabasetools.cmdOK | ||
| container | cmover | cdatabasetools.cntMover |
| editbox | ceditbox | cdatabasetools.edtComment |
| label | clabel | cdatabasetools.lblRecords |
| shape | cshape | cdatabasetools.Cshape1 |
| textbox | ctextbox | cdatabasetools.txtRecords |
| Name | Initial value |
|---|---|
| AutoSize | .T. |
| Caption | "Pack" |
| HelpContextID | 168 |
| TabIndex | 5 |
| Value | .F. |
| ZOrderSet | 4 |
| lautosetup | .F. |
RETURN THIS.PARENT.cntmover.lstselected.LISTCOUNT > 0
THISFORM.dispbegin()
IF THIS.VALUE = .T.
THISFORM.chkpackmemo.VALUE = .T.
THISFORM.chkreindex.VALUE = .T.
THISFORM.chkpackmemo.ENABLED = .F.
THISFORM.chkreindex.ENABLED = .F.
ELSE
THISFORM.chkpackmemo.ENABLED = .T.
THISFORM.chkreindex.ENABLED = .T.
ENDIF
THISFORM.cmdok.REFRESH()
THISFORM.dispend()
| Name | Initial value |
|---|---|
| AutoSize | .T. |
| Caption | "Pack Memo" |
| HelpContextID | 170 |
| TabIndex | 6 |
| Value | .F. |
| ZOrderSet | 5 |
| lautosetup | .F. |
RETURN THIS.PARENT.cntmover.lstselected.LISTCOUNT > 0
THISFORM.cmdok.REFRESH()
| Name | Initial value |
|---|---|
| AutoSize | .T. |
| Caption | "Reindex" |
| HelpContextID | 171 |
| TabIndex | 7 |
| Value | .F. |
| ZOrderSet | 6 |
| lautosetup | .F. |
RETURN THIS.PARENT.cntmover.lstselected.LISTCOUNT > 0
THISFORM.cmdok.REFRESH()
| Name | Initial value |
|---|---|
| AutoSize | .T. |
| Caption | "\<Repair" |
| HelpContextID | 169 |
| TabIndex | 4 |
| Value | .F. |
| ZOrderSet | 4 |
| lautosetup | .F. |
RETURN THIS.PARENT.cntmover.lstselected.LISTCOUNT > 0
THISFORM.dispbegin()
IF THIS.VALUE = .T.
THISFORM.chkpack.VALUE = .F.
THISFORM.chkpackmemo.VALUE = .F.
THISFORM.chkreindex.VALUE = .F.
THISFORM.chkpack.ENABLED = .F.
THISFORM.chkpackmemo.ENABLED = .F.
THISFORM.chkreindex.ENABLED = .F.
ELSE
THISFORM.chkpack.ENABLED = .T.
THISFORM.chkpackmemo.ENABLED = .T.
THISFORM.chkreindex.ENABLED = .T.
ENDIF
THISFORM.cmdok.REFRESH()
THISFORM.dispend()
| Name | Initial value |
|---|---|
| Cancel | .T. |
| Caption | "\<Cancel" |
| HelpContextID | 175 |
| TabIndex | 10 |
| ZOrderSet | 9 |
THISFORM.RELEASE()
| Name | Initial value |
|---|---|
| Caption | "\<OK" |
| Default | .T. |
| HelpContextID | 173 |
| TabIndex | 9 |
| ZOrderSet | 8 |
THISFORM.doit()
THISFORM.RELEASE()
| Name | Initial value |
|---|---|
| HelpContextID | 167 |
| TabIndex | 1 |
THISFORM.txtrecords.VALUE = THIS.LIST[this.SourceListIndex,3]
THISFORM.edtcomment.VALUE = THIS.LIST[this.SourceListIndex,2]
THISFORM.txtrecords.VALUE = THIS.LIST[this.ListIndex,3]
THISFORM.edtcomment.VALUE = THIS.LIST[this.ListIndex,2]
| Name | Initial value |
|---|---|
| Caption | "Selected" |
| Name | Initial value |
|---|---|
| Caption | "Tables" |
THISFORM.cmdok.REFRESH()
DODEFAULT()
| Name | Initial value |
|---|---|
| Sorted | .T. |
| Name | Initial value |
|---|---|
| Enabled | .F. |
| HelpContextID | 174 |
| TabIndex | 8 |
| lautosetup | .F. |
DODEFAULT()
LOCAL lnbackcolor
DECLARE INTEGER GetSysColor IN Win32API INTEGER nColorIndex
lnbackcolor = getsyscolor(15)
THIS.DISABLEDBACKCOLOR = lnbackcolor
| Name | Initial value |
|---|---|
| Caption | "Records" |
| TabIndex | 2 |
| Name | Initial value |
|---|---|
| ZOrderSet | 2 |
| Name | Initial value |
|---|---|
| Alignment | 3 |
| BackStyle | 0 |
| Enabled | .F. |
| HelpContextID | 172 |
| InputMask | "99,999,999,999" |
| TabIndex | 3 |
| Value | 0 |
| lautosetup | .F. |
| Name | Initial value |
|---|---|
| Caption | "CDataForm" |
| DoCreate | .T. |
| KeyPreview | .T. |
| _vfxclassname | CDataForm |
| Name | Initial value | Comment |
|---|---|---|
| ^aindexsave[1,2] | .f. | Store the original tag for each tables |
| ^atempcursor[1,0] | .f. | Reserved. array of temporary cursor |
| ccalledby | Stores the name of the parent form. Used when parent child forms are used. | |
| cemptymessage | Specifies the alternate message to show when the form is empty | |
| cfavoritedescr | .f. | Fieldname from the record which is used to name the favorite (usually table.fieldname) |
| cfavoriteid | Identification Expression to locate the record (usually table.fieldname). If empty, according Primary key automatically evaluated. NOTE: Must be set when working with views, since no PK can be evaluated automatically! | |
| cfavoritemenu | .f. | The caption of the menu-entry for the favorites-menu as to name the favorites entries for this form |
| cfilterexpr | Current filter expression for this form | |
| cfixfieldname | Name of the parent field in 1-many situations. This is the the parent table's primary key which will be used as a foreign key within the child form. | |
| cfixfieldvalue | Value of the parent field in 1-many situations. This is the value of the primary key of the parent form. | |
| cidxmgrclass | CIDXManager | Name of an alternate idxmaneger class |
| coldtitle | Old title of the form. |
|
| cqueryarg | .f. | View Argument. Each argument must be separated with ; By default 5 arguments are handled in the init() template code of the child form. Type: Char! |
| crecordmgrclass | CDataTableMgr | Alternate name of the record manager class |
| creportname | Specifies the report to run when user clicks on Print/Preview | |
| csearchfilterexpr | Reserved. search filter returned by search dialog. |
|
| csearchform | VFXSRCH | Ssearch dialog to be used. Default: vfxsrch |
| csetkeyexpr | .f. | Specifies the expression wich is used for the "set key" scenario. |
| csetkeyindex | .f. | Specifies the tag to be used as master index when SET KEY is used |
| csetkeyvalue | .f. | Specifies the value to be used in the SET KEY command |
| ctempindex | Reserved. temporary index expression. |
|
| cviewindexexpr | Index expression for a local o remote view. | |
| cworkalias | Alias of the master table. By default this is data enviroment "initialselectedalias" | |
| cworktag | Reserved. initial master tag. |
|
| event. | .f. | |
| lactcanedit | .f. | Stores the actual setting of the lcanedit property. The lcanedit property will be switched temporarily to .t. when inserting a record. |
| lasktosave | .T. | Specifies if when you are in insert mode and recall an insert, a confirm dialog will be displayed |
| laudit | .f. | Defined whether you want audit trail to be activated. |
| lautoedit | .T. | Specifies if the form will automatically switch to edit mode when a user starts modifying whatever control on the form. |
| lcancopy | .T. | In the previous version, the copy feature was "related" to the edit feature in terms of permission/availability. Now, the permission/availability of the copy process can be defined independently from the edit process. |
| lcandelete | .T. | Security/permissen setting for deleting: .t. if user can delete |
| lcanedit | .T. | Security/permissen setting for editing: .t. if user can edit |
| lcaninsert | .T. | Security/permissen setting for inserting: .t. if user can insert new records |
| lchildform | .f. | Specifies if this form is a child Form |
| ldonotaskondelete | .f. | With the properties ldonotaskondelete and lSupressMessageondelete the programmer can define, whether to display the standard VFX messageboxes prior and after deletion or whether he prefers showing his own in the onpostdelete event. |
| lempty | .T. | Reserved. .t. if database is empty. Be cautios when overwriting this property. Make also sure to call onemptyform when changing manually! |
| lfilteron | .f. | Reserved. .t. if there is an active filter. |
| lhidewhenempty | .T. | Defines whether the edit page will be hidden when no record exists. |
| lmore | .f. | Defines whether there are more functions to be called (F6). See also the onmore method. |
| lonsearchusegrid | .f. | Defines whether only the fields available within the standard grid are available for searching or not. |
| lrestoreidx | .T. | Specifies if the IDX will be restored automatically when form restarts. |
| lsuppressmessageondelete | .f. | With the properties ldonotaskondelete and lSupressMessageondelete he programmer can define, whether to display the standard VFX messageboxes prior and after deletion or whether he prefers showing his own in the onpostdelete |
| lusesetkeyasfilter | .f. | Specifies if iSET KEY has to be used as filtering mechanism rather than the SET FILTER TO command directly. Performance may dictate this. NOTE: SET FILTER TO looses rushmore optimization when used in a standard VFP not VFX (!) form :-( |
| lworkonview | .f. | Client/Server mode: .t. if data is a view (local or remote) |
| nformstatus | 0 | Describes the status of the form. 0 = Normal, 1 = Edit, 2 = Insert |
| noldrecno | 0 | Reserved. Old record. |
| nwarninglevel | 0 | 0 - if update conflict only a simple message. 1- field by field message |
| ofields | .f. | Used to copy a record. |
| opickfield | .NULL. | Reserved. Stores the pointer to a Pick Field |
LOCAL lcindex, lcalias, lcrelation, lnrecno, j, lcleared, ;
latables[1], laindexes[1], k, lctable
IF EMPTY(THISFORM.cworkalias)
RETURN .F.
ENDIF
FOR j = 1 TO THISFORM.CONTROLCOUNT
IF LOWER(THISFORM.CONTROLS[j].BASECLASS) = 'grid'
THISFORM.CONTROLS[j].SETALL('Tag','','TextBox')
ENDIF
NEXT
SELECT (THISFORM.cworkalias)
lnrecno = IIF(EOF() OR DELETED(), 0, RECNO())
** This crashes under Windows NT 4.0 !!!!!!!
*lcRelation = set('RELATION')
lcrelation = vfx_getrelation()
** Clear all Temporary Indexes
THISFORM.oidxmanager.CLEAR()
** Reset Original Alias/Tag
THISFORM.oidxmanager.restoretag()
SELECT (THISFORM.cworkalias)
SET ORDER TO TAG (THISFORM.cworktag)
IF !EMPTY(lcrelation)
SET RELATION TO &lcrelation
ENDIF
THISFORM.setkeyreset()
WAIT CLEAR
LPARAMETERS tnerror
LOCAL llhandled
THISFORM.dispend(.T.)
llhandled = .T.
DO CASE
CASE tnerror = error_field_rule_violated
THISFORM.fielderror()
CASE tnerror = error_record_rule_violated
THISFORM.recorderror()
CASE tnerror = error_trigger_failed
THISFORM.triggererror()
CASE tnerror = error_update_conflict
THISFORM.updateerror()
CASE tnerror = error_unique_index_violated
THISFORM.uniqueerror()
CASE tnerror = error_connectivity_error
THISFORM.odbcerror()
OTHERWISE
llhandled = .F.
ENDCASE
RETURN llhandled
LOCAL laerror[7],lcfield, lcmessage, lccaption
lcmessage = ""
=AERROR(laerror)
lcmessage = laerror[2]
lccaption = msg_bad_input
DO CASE
CASE laerror[5] = 1
lccaption = "Insert Error"
CASE laerror[5] = 2
lccaption = "Update Error"
CASE laerror[5] = 3
lccaption = "Delete Error"
ENDCASE
IF !EMPTY(lcmessage)
=MESSAGEBOX(lccaption + CHR(13) + lcmessage,mb_ok+mb_iconstop,msg_attention)
ENDIF
LOCAL laerror[7]
=AERROR(laerror)
=MESSAGEBOX("ODBC Error: " + TRANSFORM(laerror[5]) +CHR(13)+;
"odbc message: " + laerror[3] +CHR(13)+CHR(13)+;
"message: " + laerror[2],64,"ODBC ERROR")
IF THISFORM.lusehook
LOCAL luhookvalue
luhookvalue = THISFORM.oneventhook("OnBottom",THIS,THISFORM)
DO CASE
CASE VARTYPE(luhookvalue)="L"
IF !luhookvalue
RETURN .T.
ENDIF
CASE VARTYPE(luhookvalue)="N"
RETURN luhookvalue=0
ENDCASE
ENDIF
IF THISFORM.nformstatus <> id_normal_mode
IF THISFORM.recordchanged() OR THISFORM.nformstatus = id_insert_mode
IF !THISFORM.asktosave()
** Do Nothing
RETURN .F.
ENDIF
ELSE
THISFORM.onundo()
ENDIF
ENDIF
SELECT (THISFORM.cworkalias)
THISFORM.orecord.gobottom()
THISFORM.onrecordmove()
THISFORM.REFRESH()
IF THISFORM.lusehook
LOCAL luhookvalue
luhookvalue = THISFORM.oneventhook("OnDelete",THIS,THISFORM)
DO CASE
CASE VARTYPE(luhookvalue)="L"
IF !luhookvalue
RETURN .T.
ENDIF
CASE VARTYPE(luhookvalue)="N"
RETURN luhookvalue=0
ENDCASE
ENDIF
SELECT (THISFORM.cworkalias)
IF !THISFORM.lcandelete
WAIT WINDOW msg_cant_delete
RETURN .F.
ENDIF
THISFORM.noldrecno = IIF(EOF() OR DELETED(), 0, RECNO())
LOCAL lldeleteok
lldeleteok = .F.
IF !THISFORM.lempty
IF THISFORM.ldonotaskondelete .OR. ;
MESSAGEBOX(msg_ask_delete,mb_yesno+mb_iconquestion+mb_defbutton2,msg_attention) = idyes
SELECT (THISFORM.cworkalias)
IF VARTYPE(goProgram)="O"
IF !goprogram.lnoclearidxondelete
goprogram.clearallidx()
ENDIF
ELSE
THISFORM.clearidx()
ENDIF
IF THISFORM.onpredelete()
SELECT (THISFORM.cworkalias)
IF THISFORM.orecord.DELETE()
IF THISFORM.onpostdelete()
SELECT (THISFORM.cworkalias)
IF TABLEUPDATE(.T.,.T.)
lldeleteok = .T.
IF EOF()
THISFORM.orecord.gotop()
ELSE
THISFORM.orecord.NEXT()
IF EOF()
THISFORM.orecord.gobottom()
ENDIF
ENDIF
ELSE
SELECT (THISFORM.cworkalias)
IF !THISFORM.lsuppressmessageondelete
= MESSAGEBOX(msg_not_deleted,mb_ok+mb_iconstop,msg_attention)
ENDIF
= TABLEREVERT(.T.)
ENDIF
ELSE
SELECT (THISFORM.cworkalias)
IF !THISFORM.lsuppressmessageondelete
=MESSAGEBOX(msg_not_deleted,mb_ok+mb_iconstop,msg_attention)
ENDIF
=TABLEREVERT(.T.)
ENDIF
ELSE
SELECT (THISFORM.cworkalias)
IF !THISFORM.lsuppressmessageondelete
=MESSAGEBOX(msg_not_deleted,mb_ok+mb_iconstop,msg_attention)
ENDIF
ENDIF
ELSE
lldeleteok = .F.
ENDIF
ELSE
lldeleteok = .F.
ENDIF
ENDIF
SELECT (THISFORM.cworkalias)
IF lldeleteok
IF VARTYPE(goProgram)="O" AND goprogram.lremakeidxafterclear
THISFORM.remakeidx("D")
THISFORM.noldrecno = -1
ENDIF
ENDIF
THISFORM.onrecordmove()
THISFORM.refreshtoolbar(.T.)
THISFORM.REFRESH()
RETURN lldeleteok
IF THISFORM.lusehook
LOCAL luhookvalue
luhookvalue = THISFORM.oneventhook("OnEdit",THIS,THISFORM)
DO CASE
CASE VARTYPE(luhookvalue)="L"
IF !luhookvalue
RETURN .T.
ENDIF
CASE VARTYPE(luhookvalue)="N"
RETURN luhookvalue=0
ENDCASE
ENDIF
LOCAL lbypass
lbypass = THISFORM.nformstatus # 1
SELECT (THISFORM.cworkalias)
THISFORM.noldrecno = IIF(EOF() OR DELETED(), 0, RECNO())
IF DELETED()
=MESSAGEBOX(msg_record_deleted_from_others,48,THISFORM.CAPTION)
THISFORM.orecord.gotop()
THISFORM.onrecordmove()
THISFORM.REFRESH()
RETURN .F.
ENDIF
IF !THISFORM.lcanedit
WAIT WINDOW msg_cant_edit
THISFORM.onundo()
RETURN .F.
ENDIF
THIS.lactcanedit = THIS.lcanedit
IF !THISFORM.lempty
IF THISFORM.onpreedit()
SELECT (THISFORM.cworkalias)
IF VARTYPE(goProgram)="O"
IF !goprogram.lnoclearidxonedit
goprogram.clearallidx()
ENDIF
ELSE
THISFORM.clearidx()
ENDIF
IF THISFORM.nformstatus != 0 AND !EMPTY(THISFORM.coldtitle)
THISFORM.CAPTION = THISFORM.coldtitle
ENDIF
THISFORM.nformstatus = id_edit_mode
THISFORM.coldtitle = THISFORM.CAPTION
THISFORM.CAPTION = msg_editmode + " " + ALLTRIM(THISFORM.CAPTION)
THISFORM.refreshtoolbar(.T.)
THISFORM.onformstatuschange()
IF lbypass
THISFORM.REFRESH()
THISFORM.setobjectfocus()
ENDIF
ELSE
THISFORM.onundo()
RETURN .F.
ENDIF
ENDIF
IF THISFORM.lusehook
LOCAL luhookvalue
luhookvalue = THISFORM.oneventhook("OnInsert",THIS,THISFORM)
DO CASE
CASE VARTYPE(luhookvalue)="L"
IF !luhookvalue
RETURN .T.
ENDIF
CASE VARTYPE(luhookvalue)="N"
RETURN luhookvalue=0
ENDCASE
ENDIF
SELECT (THISFORM.cworkalias)
IF !THISFORM.lcaninsert
WAIT WINDOW msg_cant_insert
RETURN .F.
ENDIF
IF THISFORM.nformstatus <> id_normal_mode
IF !THISFORM.asktosave()
** Do Nothing
RETURN .F.
ENDIF
THISFORM.nformstatus = id_normal_mode
THISFORM.CAPTION = THISFORM.coldtitle
THISFORM.refreshtoolbar(.T.)
THISFORM.onformstatuschange()
THISFORM.REFRESH()
ENDIF
THIS.lactcanedit = THIS.lcanedit
THIS.lcanedit = .T.
LOCAL lnrecno
lnrecno = IIF(EOF() OR DELETED(), 0, RECNO())
THISFORM.noldrecno = lnrecno
IF THISFORM.onpreinsert()
SELECT (THISFORM.cworkalias)
IF VARTYPE(goProgram)="O"
IF !goprogram.lnoclearidxoninsert
goprogram.clearallidx()
ENDIF
ELSE
THISFORM.clearidx()
ENDIF
SELECT (THISFORM.cworkalias)
THISFORM.orecord.INSERT()
** Check the Active control
IF TYPE("thisForm.ActiveControl")="O"
LOCAL locontrol
locontrol = THISFORM.ACTIVECONTROL
IF LOWER(locontrol.BASECLASS) == "grid"
locontrol.REFRESH()
ENDIF
ENDIF
IF THISFORM.nformstatus != 0 AND !EMPTY(THISFORM.coldtitle)
THISFORM.CAPTION = THISFORM.coldtitle
ENDIF
THISFORM.nformstatus = id_insert_mode
IF !THISFORM.onpostinsert()
THISFORM.onundo()
RETURN .F.
ENDIF
THISFORM.lempty = .F.
THISFORM.onrecordmove()
THISFORM.noldrecno = lnrecno
THISFORM.coldtitle = THISFORM.CAPTION
THISFORM.CAPTION = msg_insertmode + " " + ALLTRIM(THISFORM.CAPTION)
THISFORM.refreshtoolbar(.T.)
THISFORM.onformstatuschange()
THISFORM.REFRESH()
THISFORM.setobjectfocus()
ELSE
RETURN .F.
ENDIF
IF THISFORM.lusehook
LOCAL luhookvalue
luhookvalue = THISFORM.oneventhook("OnNext",THIS,THISFORM)
DO CASE
CASE VARTYPE(luhookvalue)="L"
IF !luhookvalue
RETURN .T.
ENDIF
CASE VARTYPE(luhookvalue)="N"
RETURN luhookvalue=0
ENDCASE
ENDIF
SELECT (THISFORM.cworkalias)
IF THISFORM.nformstatus <> id_normal_mode
IF THISFORM.recordchanged() OR THISFORM.nformstatus = id_insert_mode
IF !THISFORM.asktosave()
** Do Nothing
RETURN .F.
ENDIF
ELSE
THISFORM.onundo()
ENDIF
ENDIF
THISFORM.orecord.NEXT()
IF EOF()
THISFORM.orecord.gobottom()
ENDIF
THISFORM.onrecordmove()
THISFORM.REFRESH()
IF THISFORM.lusehook
LOCAL luhookvalue
luhookvalue = THISFORM.oneventhook("OnPostInsert",THIS,THISFORM)
DO CASE
CASE VARTYPE(luhookvalue)="L"
IF !luhookvalue
RETURN .T.
ENDIF
CASE VARTYPE(luhookvalue)="N"
RETURN luhookvalue=0
ENDCASE
ENDIF
IF !EMPTY(THISFORM.cfixfieldname)
LOCAL lcfield, lcfieldvalue, lnfield, j
lnfield = getargcount(THISFORM.cfixfieldname)
IF lnfield = 1
lcfield = THISFORM.cfixfieldname
lcfieldvalue = THISFORM.cfixfieldvalue
DO CASE
CASE TYPE(lcfield) $ "NIBFY"
REPLACE &lcfield WITH VAL(lcfieldvalue)
CASE TYPE(lcfield) = "D"
REPLACE &lcfield WITH CTOD(lcfieldvalue)
CASE TYPE(lcfield) = "T"
REPLACE &lcfield WITH CTOT(lcfieldvalue)
CASE TYPE(lcfield) = "L"
REPLACE &lcfield WITH (UPPER(lcfieldvalue) = "T")
OTHERWISE
REPLACE &lcfield WITH lcfieldvalue
ENDCASE
ELSE
FOR j = 1 TO lnfield
lcfield = getarg(THISFORM.cfixfieldname ,j)
lcfieldvalue = getarg(THISFORM.cfixfieldvalue,j)
DO CASE
CASE TYPE(lcfield) $ "NIBFY"
REPLACE &lcfield WITH VAL(lcfieldvalue)
CASE TYPE(lcfield) = "D"
REPLACE &lcfield WITH CTOD(lcfieldvalue)
CASE TYPE(lcfield) = "T"
REPLACE &lcfield WITH CTOT(lcfieldvalue)
CASE TYPE(lcfield) = "L"
REPLACE &lcfield WITH (UPPER(lcfieldvalue) = "T")
OTHERWISE
REPLACE &lcfield WITH lcfieldvalue
ENDCASE
NEXT
ENDIF
ENDIF
IF THISFORM.lusehook
LOCAL luhookvalue
luhookvalue = THISFORM.oneventhook("OnPrev",THIS,THISFORM)
DO CASE
CASE VARTYPE(luhookvalue)="L"
IF !luhookvalue
RETURN .T.
ENDIF
CASE VARTYPE(luhookvalue)="N"
RETURN luhookvalue=0
ENDCASE
ENDIF
SELECT (THISFORM.cworkalias)
IF THISFORM.nformstatus <> id_normal_mode
IF THISFORM.recordchanged() OR THISFORM.nformstatus = id_insert_mode
IF !THISFORM.asktosave()
** Do Nothing
RETURN .F.
ENDIF
ELSE
THISFORM.onundo()
ENDIF
ENDIF
THISFORM.orecord.previous()
IF BOF()
THISFORM.orecord.gotop()
ENDIF
THISFORM.onrecordmove()
THISFORM.REFRESH()
PARAMETERS tlpreview
LOCAL lcreportname, lnrecno, lnSelect, lcDefault
lcDefault=SYS(5)+SYS(2003)
IF THISFORM.lusehook
LOCAL luhookvalue
luhookvalue = THISFORM.oneventhook("OnPrint",THIS,THISFORM)
DO CASE
CASE VARTYPE(luhookvalue)="L"
IF !luhookvalue
SET DEFAULT TO (lcDefault)
RETURN .T.
ENDIF
CASE VARTYPE(luhookvalue)="N"
SET DEFAULT TO (lcDefault)
RETURN luhookvalue=0
ENDCASE
ENDIF
*!* Store reord number from the workalias.
lnrecno=RECNO(THIS.cworkalias)
lcreportname = LOWER(ALLTRIM(THISFORM.creportname))
IF EMPTY(lcreportname)
lcreportname = STRTRAN(JUSTFNAME(LOWER(ALLTRIM(THISFORM.cscxname))),".scx",".frx")
ENDIF
IF RIGHT(lcreportname,4)#".frx"
lcreportname = lcreportname+".frx"
ENDIF
IF !FILE(lcreportname) AND TYPE("goprogram.creportdir")="C"
lcreportname = goprogram.creportdir+lcreportname
ENDIF
lnSelect=SELECT()
IF FILE(lcreportname)
IF tlpreview
DEFINE WINDOW _preview FROM 0, 0 TO 10, 10;
TITLE THIS.CAPTION+" ("+cap_preview+")" IN SCREEN CLOSE GROW SYSTEM FLOAT
ZOOM WINDOW _preview MAX
previewon()
REPORT FORM (m.lcreportname) NOCONSOLE PREVIEW WINDOW _preview
previewoff()
RELEASE WINDOW _preview
ELSE
REPORT FORM (lcreportname) TO PRINTER NOCONSOLE
ENDIF
ELSE
DO FORM vfxrepgn WITH THISFORM,THIS,tlpreview
ENDIF
IF m.lnrecno>0 AND m.lnRecno<=RECCOUNT(THIS.cworkalias)
*!* Restore record pointer in workalias
GOTO m.lnrecno IN (THIS.cworkalias)
ENDIF
* The report may have changed the alias. UH
SELECT(m.lnSelect)
SET DEFAULT TO (lcDefault)
LPARAMETERS tlnotrefresh, tlalltables
LOCAL laerror[7], lviewmessage, lsaved, lvalid, lcansave
lsaved = .F.
lvalid = .F.
lcansave = .T.
lviewmessage = .T.
*!* Write buffer value before the hook.
THISFORM.onwritebuffer()
IF THISFORM.lusehook
LOCAL luhookvalue
luhookvalue = THISFORM.oneventhook("OnSave",THIS,THISFORM)
DO CASE
CASE VARTYPE(luhookvalue)="L"
IF !luhookvalue
RETURN .T.
ENDIF
CASE VARTYPE(luhookvalue)="N"
RETURN luhookvalue=0
ENDCASE
ENDIF
SELECT (THISFORM.cworkalias)
IF DELETED()
=MESSAGEBOX(msg_record_deleted_from_others,48,THISFORM.CAPTION)
THISFORM.orecord.UNDO()
THISFORM.orecord.gotop()
THISFORM.onrecordmove()
THIS.lcanedit = THIS.lactcanedit
THISFORM.REFRESH()
RETURN .F.
ENDIF
IF THISFORM.nformstatus = id_edit_mode
lcansave = THISFORM.onpostedit()
ENDIF
lvalid = THISFORM.VALID()
IF lcansave AND lvalid
SELECT (THISFORM.cworkalias)
IF VARTYPE(goProgram)="O"
IF !goprogram.lnoclearidxonedit
goprogram.clearallidx()
ENDIF
ELSE
THISFORM.clearidx()
ENDIF
lsaved = THISFORM.orecord.SAVE(tlalltables, THISFORM, @lvalid)
ELSE
lsaved = .F.
ENDIF
IF !lsaved
IF lvalid
lviewmessage = .T.
laerror[1] = 0
=AERROR(laerror)
IF laerror[1] != 0
lviewmessage = !THISFORM.errorhandler(laerror[1])
ENDIF
IF lviewmessage AND lvalid
=MESSAGEBOX(msg_not_saved,0+16,msg_attention)
ENDIF
ENDIF
ELSE
UNLOCK ALL
THISFORM.CAPTION = THISFORM.coldtitle
THISFORM.nformstatus = id_normal_mode
THISFORM.lempty = .F.
SELECT (THISFORM.cworkalias)
IF !EOF()
GO RECNO()
ELSE
THISFORM.orecord.gotop()
ENDIF
THISFORM.noldrecno = IIF(EOF(THISFORM.cworkalias) OR DELETED(THISFORM.cworkalias), 0, RECNO(THISFORM.cworkalias))
THISFORM.refreshtoolbar(.T.)
THISFORM.onformstatuschange()
THIS.onpostsave()
IF !tlnotrefresh
THISFORM.REFRESH()
ENDIF
IF VARTYPE(goProgram)="O" AND goprogram.lremakeidxafterclear
THISFORM.remakeidx("S")
ENDIF
IF TYPE("thisForm.oPickField")="O" AND !ISNULL(THISFORM.opickfield)
** Pick the selected value
LOCAL lcretval, lopickfield
lopickfield = THISFORM.opickfield
IF TYPE("loPickField._VFXClassName")="C" AND ;
lopickfield._vfxclassname == "CLookUp"
lopickfield.lupdated = .T.
lopickfield.VALID(EVAL(lopickfield.csearchexpr))
lopickfield.writebuffer()
THISFORM.RELEASE()
RETURN lsaved
ENDIF
lcretval = EVALUATE(lopickfield.creturnexpr) + ";"
LOCAL luvalue
IF UPPER(lopickfield.BASECLASS) = "CONTAINER"
IF EMPTY(lopickfield.creturnexprdesc)
lcretval = lcretval + ";"
ELSE
luvalue = EVALUATE(lopickfield.creturnexprdesc)
lcretval = lcretval + IIF(EMPTY(NVL(luvalue,"")), ";", luvalue + ";")
ENDIF
ELSE
lcretval = lcretval + ";"
ENDIF
IF EMPTY(lopickfield.creturnmoreexpr)
lcretval = lcretval
ELSE
luvalue = EVALUATE(lopickfield.creturnmoreexpr)
lcretval = lcretval + IIF(!EMPTY(NVL(luvalue,"")), luvalue, "")
ENDIF
IF !EMPTY(lcretval)
LOCAL lorec
SCATTER MEMO NAME lorec
lopickfield.opickrec = lorec
RELEASE lorec
lopickfield.setvalues(lcretval)
ENDIF
THISFORM.RELEASE()
ENDIF
ENDIF
THIS.lcanedit = THIS.lactcanedit
RETURN lsaved
LPARAMETERS tofieldlist
LOCAL lcfilterexpr, lnoldrec
SELECT (THISFORM.cworkalias)
IF THISFORM.lusehook
LOCAL luhookvalue
luhookvalue = THISFORM.oneventhook("OnSearch",THIS,THISFORM)
DO CASE
CASE VARTYPE(luhookvalue)="L"
IF !luhookvalue
RETURN .T.
ENDIF
CASE VARTYPE(luhookvalue)="N"
RETURN luhookvalue=0
ENDCASE
ENDIF
IF EMPTY(THISFORM.csearchform)
RETURN .F.
ENDIF
IF THISFORM.nformstatus <> id_normal_mode
IF THISFORM.recordchanged() OR THISFORM.nformstatus = id_insert_mode
IF !THISFORM.asktosave()
** Do Nothing
RETURN .F.
ENDIF
ELSE
THISFORM.nformstatus = id_normal_mode
THISFORM.CAPTION = THISFORM.coldtitle
THISFORM.refreshtoolbar(.T.)
THISFORM.onformstatuschange()
THISFORM.REFRESH()
ENDIF
ENDIF
* Enhancement to use fields used in grid.
* goProgram.nOnSearchUseGrid=0 use form setting
* goProgram.nOnSearchUseGrid=1 use grid in all forms
* goProgram.nOnSearchUseGrid=2 use fields in all forms
IF TYPE("toFieldlist")#"O"
IF TYPE("goProgram.nOnSearchUseGrid")="N"
IF goprogram.nonsearchusegrid>0
THISFORM.lonsearchusegrid=(goprogram.nonsearchusegrid=1)
ENDIF
ENDIF
IF THISFORM.lonsearchusegrid
LOCAL lnz,lcz
DO CASE
CASE UPPER(THIS._vfxclassname)="CDATAFORMPAGE" OR UPPER(THIS._vfxclassname)="CONETOMANY"
IF THIS.npagelist>0
*!* Delayed instatiation: grid may not be instantiated...
IF TYPE("this.pgfPageFrame.pages(this.nPageList).grdGrid")#"O"
THIS.pgfpageframe.PAGES(THIS.npagelist).ACTIVATE()
ENDIF
tofieldlist=CREATEOBJECT("cFieldlist")
tofieldlist.ctablelist=""
WITH THIS.pgfpageframe.PAGES(THIS.npagelist).grdgrid
FOR lnz=1 TO .COLUMNCOUNT
tofieldlist.addcontrolsource(.COLUMNS(lnz).CONTROLSOURCE,.COLUMNS(lnz).header1.CAPTION)
NEXT
ENDWITH
ENDIF
*!* Use _vfxclassname
CASE UPPER(THIS._vfxclassname)="CTABLEFORM"
tofieldlist=CREATEOBJECT("cfieldlist")
tofieldlist.ctablelist=""
WITH THIS.cntpanel.grdgrid
FOR lnz=1 TO .COLUMNCOUNT
lcz=TRANSFORM(m.lnz)
tofieldlist.addcontrolsource(.COLUMN&lcz..CONTROLSOURCE,.COLUMN&lcz..header1.CAPTION)
NEXT
ENDWITH
ENDCASE
ENDIF
ENDIF
lcfilterexpr = THISFORM.csearchfilterexpr
lnoldrec = IIF(EOF() OR DELETE() ,0,RECNO())
DO FORM (THISFORM.csearchform) WITH tofieldlist TO THISFORM.csearchfilterexpr
SELECT (THISFORM.cworkalias)
IF TYPE("thisForm.cSearchFilterExpr") # "C"
RETURN .T.
ENDIF
IF !EMPTY(THISFORM.csearchfilterexpr)
IF !EMPTY(THISFORM.cfilterexpr)
lcfilterexpr = THISFORM.cfilterexpr + " AND " + THISFORM.csearchfilterexpr
ELSE
lcfilterexpr = THISFORM.csearchfilterexpr
ENDIF
LOCAL lcerror,lerror
lcerror = ON('ERROR')
ON ERROR lerror=.T.
SET FILTER TO &lcfilterexpr
ON ERROR &lcerror
THISFORM.orecord.gotop()
*!* Check for errors in the filter condition
IF EOF() OR DELETE() OR lerror
= MESSAGEBOX(msg_no_record_found,mb_iconinformation,msg_attention)
THISFORM.csearchfilterexpr = ""
IF !EMPTY(THISFORM.cfilterexpr)
lcfilterexpr = UPPER(THISFORM.cfilterexpr)
ELSE
lcfilterexpr = THISFORM.csearchfilterexpr
ENDIF
SET FILTER TO &lcfilterexpr
IF lnoldrec # 0
GO lnoldrec
ELSE
THISFORM.orecord.gotop()
ENDIF
ENDIF
ELSE
IF !EMPTY(THISFORM.cfilterexpr)
lcfilterexpr = UPPER(THISFORM.cfilterexpr)
ELSE
lcfilterexpr = ''
ENDIF
SET FILTER TO &lcfilterexpr
IF lnoldrec # 0
GO lnoldrec
ELSE
THISFORM.orecord.gotop()
ENDIF
ENDIF
IF EMPTY(THISFORM.csearchfilterexpr)
THISFORM.CAPTION = STRTRAN(THISFORM.CAPTION, " ["+msg_filter_on+"]", "")
THISFORM.lfilteron = .F.
ELSE
LOCAL lctext
lctext = STRTRAN(THISFORM.CAPTION, " ["+msg_filter_on+"]", "")
THISFORM.CAPTION = lctext + " ["+msg_filter_on+"]"
THISFORM.lfilteron = .T.
ENDIF
THISFORM.refreshtoolbar(.T.)
THISFORM.REFRESH()
IF THISFORM.lusehook
LOCAL luhookvalue
luhookvalue = THISFORM.oneventhook("OnTop",THIS,THISFORM)
DO CASE
CASE VARTYPE(luhookvalue)="L"
IF !luhookvalue
RETURN .T.
ENDIF
CASE VARTYPE(luhookvalue)="N"
RETURN luhookvalue=0
ENDCASE
ENDIF
SELECT (THISFORM.cworkalias)
IF THISFORM.nformstatus <> id_normal_mode
IF THISFORM.recordchanged() OR THISFORM.nformstatus = id_insert_mode
IF !THISFORM.asktosave()
** Do Nothing
RETURN .F.
ENDIF
ELSE
THISFORM.onundo()
ENDIF
ENDIF
THISFORM.orecord.gotop()
THISFORM.onrecordmove()
THISFORM.REFRESH()
LPARAMETERS tlnotrefresh
IF TYPE("thisform.activecontrol") = "O" AND pemstatus(THISFORM.ACTIVECONTROL,'lnorefresh',5)
THISFORM.ACTIVECONTROL.lnorefresh = .F.
ENDIF
IF THISFORM.lusehook
LOCAL luhookvalue
luhookvalue = THISFORM.oneventhook("OnUndo",THIS,THISFORM)
DO CASE
CASE VARTYPE(luhookvalue)="L"
IF !luhookvalue
RETURN .T.
ENDIF
CASE VARTYPE(luhookvalue)="N"
RETURN luhookvalue=0
ENDCASE
ENDIF
SELECT (THISFORM.cworkalias)
IF VARTYPE(goProgram)="O"
IF !goprogram.lnoclearidxonedit
goprogram.clearallidx()
ENDIF
ELSE
THISFORM.clearidx()
ENDIF
THISFORM.orecord.UNDO()
THISFORM.CAPTION = THISFORM.coldtitle
THISFORM.nformstatus = id_normal_mode
IF THISFORM.noldrecno > 0 AND THISFORM.noldrecno<=RECCOUNT()
GO THISFORM.noldrecno
ELSE
THISFORM.orecord.gotop()
ENDIF
THISFORM.onrecordmove()
THISFORM.onformstatuschange()
THISFORM.refreshtoolbar(.T.)
THIS.lcanedit = THIS.lactcanedit
IF !tlnotrefresh
THISFORM.REFRESH()
ENDIF
UNLOCK ALL
IF VARTYPE(goProgram)="O" AND goprogram.lremakeidxafterclear
THISFORM.remakeidx("U")
ENDIF
LOCAL llretval
IF THISFORM.lusehook
LOCAL luhookvalue
luhookvalue = THISFORM.oneventhook("OnWriteBuffer",THIS,THISFORM)
DO CASE
CASE VARTYPE(luhookvalue)="L"
IF !luhookvalue
RETURN .T.
ENDIF
CASE VARTYPE(luhookvalue)="N"
RETURN luhookvalue=0
ENDCASE
ENDIF
SELECT (THISFORM.cworkalias)
IF TYPE("thisForm.ActiveControl")="O"
LOCAL locontrol
locontrol = THISFORM.ACTIVECONTROL
IF LOWER(locontrol.BASECLASS) == "grid"
LOCAL lncolumn, logrid, j, lccontrolname
logrid = locontrol
IF logrid.ACTIVECOLUMN > 0
lccontrolname = logrid.COLUMNS[loGrid.ActiveColumn].CURRENTCONTROL
locontrol = logrid.COLUMNS[loGrid.ActiveColumn].&lccontrolname.
IF pemstatus(locontrol,'ControlSource',5)
IF !EMPTY(locontrol.COMMENT) AND locontrol.COMMENT<>"*"
IF pemstatus(locontrol,'LostFocus',5)
locontrol.LOSTFOCUS()
ENDIF
IF pemstatus(locontrol,'SetFocus',5)
locontrol.SETFOCUS()
ENDIF
ENDIF
ENDIF
ENDIF
ELSE
IF pemstatus(locontrol,'LostFocus',5)
locontrol.LOSTFOCUS()
ENDIF
IF pemstatus(locontrol,'SetFocus',5)
locontrol.SETFOCUS()
ENDIF
ENDIF
ENDIF
RETURN .T.
RETURN THISFORM.orecord.modified()
LOCAL laerror[7],lcalias,lcmessage
lcmessage=""
=AERROR(laerror)
IF laerror[1]=1583
=MESSAGEBOX(laerror[2],mb_ok+mb_iconstop,msg_attention)
ELSE
lcalias = ALIAS(laerror[4])
IF !ISNULL(lcalias) AND !EMPTY(lcalias)
DO CASE
CASE CURSORGETPROP("SOURCETYPE") <> 2
lcmessage = DBGETPROP(lcalias, "TABLE", "RULETEXT")
OTHERWISE
lcmessage = laerror[2]
ENDCASE
ENDIF
IF !EMPTY(lcmessage)
=MESSAGEBOX(lcmessage,mb_ok+mb_iconstop,msg_attention)
ENDIF
ENDIF
LPARAMETER tlloaddata, tlrefreshonly
SELECT (THISFORM.cworkalias)
IF EMPTY(THISFORM.cworkalias)
THISFORM.lempty = .T.
THISFORM.noldrecno = 0
RETURN .F.
ENDIF
IF !THISFORM.lempty
IF THISFORM.lworkonview
IF !";" $ THISFORM.cfixfieldname AND ;
!EMPTY(THISFORM.cfixfieldname) AND converttochar(EVAL(THISFORM.cfixfieldname)) == THISFORM.cfixfieldvalue
RETURN .F.
ENDIF
ELSE
IF THISFORM.lusesetkeyasfilter
IF UPPER(converttochar(SET("key",1))) == UPPER(converttochar(THISFORM.csetkeyvalue))
RETURN .F.
ENDIF
ELSE
IF FILTER() == UPPER(STRTRAN(STRTRAN(STRTRAN(THISFORM.cfilterexpr, " ", ""), "[", '"'), "]", '"'))
RETURN .F.
ENDIF
ENDIF
ENDIF
ENDIF
LOCAL lcindexname, lcindexexpr,lcparameters, lnsymbolcount
IF !THISFORM.onprequery()
THISFORM.orecord.gotop()
THISFORM.onrecordmove()
RETURN .F.
ENDIF
SELECT (THISFORM.cworkalias)
LOCAL luserfields
luserfields = !THISFORM.setqueryarg()
IF THISFORM.lworkonview
lnsymbolcount = 0
WAIT WINDOW msg_working NOWAIT
IF tlrefreshonly
= REQUERY()
ELSE
IF tlloaddata
lcparameters = ''
IF !luserfields
lcparameters = ALLTRIM(DBGETPROP(CURSORGETPROP("sourcename",THISFORM.cworkalias),'view','SQL'))
ENDIF
IF !EMPTY(lcparameters)
LOCAL lnargcount, lcsymbol, lcvalue, lasymtable[1], lnsymcount, lctext, k
lnargcount = OCCURS('?',lcparameters)
lnsymbolcount = 0
FOR j = 1 TO lnargcount
lctext = ''
lcsymbol = SUBSTR(lcparameters,AT('?',lcparameters,j)+1)
lctext = ''
FOR k = 1 TO LEN(lcsymbol)
IF LOWER(SUBSTR(lcsymbol,k,1)) $ "abcdefghijklmnopqrstuvwxyz0123456789_"
lctext = lctext + SUBSTR(lcsymbol,k,1)
ELSE
EXIT
ENDIF
NEXT
IF !EMPTY(lctext)
lcsymbol = lctext
lnsymbolcount = lnsymbolcount + 1
DIMENSION lasymtable[lnSymbolCount]
lasymtable[lnSymbolCount] = lcsymbol
IF TYPE(lcsymbol) = "U"
PUBLIC (lcsymbol)
ENDIF
IF EMPTY(THISFORM.cfixfieldname)
&lcsymbol = getarg(THISFORM.cqueryarg,j)
ELSE
LOCAL lcfield
lcfield = getarg(THISFORM.cfixfieldname ,j)
DO CASE
CASE TYPE(lcfield) $ "NIBFY"
&lcsymbol = VAL(getarg(THISFORM.cqueryarg,j))
CASE TYPE(lcfield) = "D"
&lcsymbol = CTOD(getarg(THISFORM.cqueryarg,j))
CASE TYPE(lcfield) = "T"
&lcsymbol = CTOT(getarg(THISFORM.cqueryarg,j))
CASE TYPE(lcfield) = "L"
&lcsymbol = (UPPER(getarg(THISFORM.cqueryarg,j)) = "T")
OTHERWISE
&lcsymbol = getarg(THISFORM.cqueryarg,j)
ENDCASE
ENDIF
*}
ENDIF
NEXT
=REQUERY()
FOR j = 1 TO lnsymbolcount
lcsymbol = lasymtable[j]
RELEASE (lcsymbol)
NEXT
ELSE
= REQUERY()
ENDIF
ENDIF
ENDIF
IF !EMPTY(THISFORM.cviewindexexpr)
lcindexname = "X"+SUBSTR(SYS(2015),4,7)
lcindexexpr = THISFORM.cviewindexexpr
INDEX ON &lcindexexpr TAG (lcindexname) ADDITIVE
ENDIF
IF !EMPTY(THISFORM.cfilterexpr) AND !THISFORM.lusesetkeyasfilter
LOCAL lcfilterexpr
lcfilterexpr = THISFORM.cfilterexpr
SET FILTER TO &lcfilterexpr
ENDIF
WAIT CLEAR
ELSE
* Working on standard Tables
IF THISFORM.lusesetkeyasfilter
LOCAL lckeyvalue
THISFORM.cworktag = THISFORM.csetkeyindex
SELECT (THISFORM.cworkalias)
SET ORDER TO TAG(THISFORM.cworktag)
lckeyvalue = converttochar(THISFORM.csetkeyvalue)
DO CASE
CASE TYPE(THISFORM.csetkeyexpr) $"NIBFY"
SET KEY TO VAL(lckeyvalue)
THISFORM.csetkeyvalue = VAL(lckeyvalue)
CASE TYPE(THISFORM.csetkeyexpr) $ "DT"
SET KEY TO DTOS(CTOD(lckeyvalue))
THISFORM.csetkeyvalue = DTOS(CTOD(lckeyvalue))
OTHERWISE
** Default it's Character
IF "UPPER(" $ THISFORM.csetkeyexpr
SET KEY TO UPPER(lckeyvalue)
THISFORM.csetkeyvalue = UPPER(lckeyvalue)
ELSE
SET KEY TO lckeyvalue
THISFORM.csetkeyvalue = lckeyvalue
ENDIF
ENDCASE
ENDIF
IF !EMPTY(THISFORM.cfilterexpr) AND !THISFORM.lusesetkeyasfilter
LOCAL lcfilterexpr
lcfilterexpr = THISFORM.cfilterexpr
SET FILTER TO &lcfilterexpr
ENDIF
ENDIF
THISFORM.clearqueryarg()
THISFORM.orecord.gotop()
THISFORM.onrecordmove()
THISFORM.onpostquery()
RETURN .T.
LOCAL laerror[7], lcmsg
=AERROR(laerror)
DO CASE
CASE laerror[5] = 1
lcmsg = "Insert Record"
CASE laerror[5] = 2
lcmsg = "Update Record"
CASE laerror[5] = 3
lcmsg = "Delete Record"
ENDCASE
=MESSAGEBOX(laerror[2],64,lcmsg)
LPARAMETER tlskipmessage
LOCAL laerror[7]
=AERROR(laerror)
IF !tlskipmessage
=MESSAGEBOX(msg_keyfield_error,;
mb_ok+48,msg_attention)
ENDIF
LOCAL laerror[7], lcmsg
=AERROR(laerror)
lcmsg = "Update Error: " + ALIAS()
=MESSAGEBOX(laerror[2],64,lcmsg)
LPARAMETERS tlreload
IF THISFORM.lusesetkeyasfilter
LOCAL lckeyvalue
IF !("VFXFUNC" $ SET('proc'))
SET PROCEDURE TO PROGRAM\vfxfunc ADDITIVE
ENDIF
lckeyvalue = converttochar(THISFORM.csetkeyvalue)
DO CASE
CASE TYPE(THISFORM.csetkeyexpr) $ "NIBFY"
SET KEY TO VAL(lckeyvalue)
CASE TYPE(THISFORM.csetkeyexpr) $ "DT"
SET KEY TO DTOS(CTOD(lckeyvalue))
OTHERWISE
** Default it's Character
IF "UPPER(" $ THISFORM.csetkeyexpr
SET KEY TO UPPER(lckeyvalue)
ELSE
SET KEY TO lckeyvalue
ENDIF
ENDCASE
IF tlreload
THISFORM.orecord.gotop()
ENDIF
ENDIF
IF THISFORM.lusehook
LOCAL luhookvalue
luhookvalue = THISFORM.oneventhook("OnRecordMove",THIS,THISFORM)
DO CASE
CASE VARTYPE(luhookvalue)="L"
IF !luhookvalue
RETURN .T.
ENDIF
CASE VARTYPE(luhookvalue)="N"
RETURN luhookvalue=0
ENDCASE
ENDIF
THISFORM.lempty = EOF(THISFORM.cworkalias) OR DELETED(THISFORM.cworkalias)
THISFORM.noldrecno = IIF(EOF(THISFORM.cworkalias) OR DELETED(THISFORM.cworkalias), 0, RECNO(THISFORM.cworkalias))
IF THISFORM.lworkonview
THISFORM.onchildrequery()
ENDIF
IF THISFORM.lautosyncchildform
THISFORM.oformlist.refreshallchild()
ENDIF
THISFORM.onemptyform()
IF THISFORM.lworkonview
THISFORM.cqueryarg = THISFORM.cfixfieldvalue
ENDIF
IF THISFORM.lhidewhenempty
WITH THISFORM.lblmsgempty
.CAPTION = THISFORM.cemptymessage
.TOP = (THISFORM.HEIGHT - .HEIGHT)/2
.LEFT = (THISFORM.WIDTH - .WIDTH )/2
IF .VISIBLE#THISFORM.lempty
.VISIBLE = THISFORM.lempty
THISFORM.REFRESH
ENDIF
ENDWITH
ENDIF
LPARAMETERS tlyesno
IF THIS.WINDOWSTATE=1
THIS.WINDOWSTATE=0
ENDIF
IF THISFORM.lasktosave
LOCAL lnanswer
IF tlyesno
lnanswer = MESSAGEBOX(msg_ask_to_save,;
4+mb_iconexclamation+mb_defbutton1,;
msg_attention)
ELSE
lnanswer = MESSAGEBOX(msg_ask_to_save,;
mb_yesnocancel+mb_iconexclamation+mb_defbutton1,;
msg_attention)
ENDIF
DO CASE
CASE lnanswer = idyes
IF !THISFORM.onsave()
RETURN .F. && Don't move
ENDIF
CASE lnanswer = idno
THISFORM.onundo()
OTHERWISE
RETURN .F. && Don't move
ENDCASE
ELSE
IF !THISFORM.onsave()
RETURN .F. && Don't move
ENDIF
ENDIF
RETURN .T. && Ok, you can move
IF THISFORM.lusehook
LOCAL luhookvalue
luhookvalue = THISFORM.oneventhook("OnAudit",THIS,THISFORM)
DO CASE
CASE VARTYPE(luhookvalue)="L"
IF !luhookvalue
RETURN .T.
ENDIF
CASE VARTYPE(luhookvalue)="N"
RETURN luhookvalue=0
ENDCASE
ENDIF
* Show the form with the Audit-Trail for the current record.
LOCAL lnpknum,lnid,lnselect,lctext
lnselect=SELECT(0)
lnpknum=getpknum()
IF lnpknum <> 0
lnid = EVAL(KEY(lnpknum))
lctext=getaudit(THISFORM.cworkalias, lnid)
IF EMPTY(lctext)
MESSAGEBOX(msg_noaudit,16,msg_audit)
ELSE
DO FORM vfxaudit WITH cap_frmaudittrail+" "+THISFORM.CAPTION, lctext
ENDIF
ENDIF
SELECT(lnselect)
LPARAMETERS txid
SELECT (THISFORM.cworkalias)
IF THISFORM.nformstatus <> id_normal_mode
IF THISFORM.recordchanged() OR THISFORM.nformstatus = id_insert_mode
IF !THISFORM.asktosave()
** Do Nothing
RETURN .F.
ENDIF
ELSE
THISFORM.onundo()
ENDIF
ENDIF
LOCAL lnselect,lnpknum,lckey,lcfieldname
lnselect = SELECT(0)
SELECT (THIS.cworkalias)
IF EMPTY(THIS.cfavoriteid)
lnpknum = getpknum()
IF lnpknum = 0
SELECT(lnselect)
RETURN .F.
ENDIF
lckey=KEY(lnpknum)
lcfieldname=lckey
lcfieldname=STRTRAN(lcfieldname,"UPPER(","")
lcfieldname=STRTRAN(lcfieldname,"LOWER(","")
lcfieldname=STRTRAN(lcfieldname,"STR(","")
lcfieldname=STRTRAN(lcfieldname,")","")
IF TYPE(ALLTRIM(THIS.cworkalias)+"."+lcfieldname)="C"
LOCATE FOR &lckey. = txid
ELSE
LOCATE FOR &lckey. = VAL(txid)
ENDIF
ELSE
lckey=THIS.cfavoriteid
IF TYPE(lckey)="C"
LOCATE FOR &lckey. = txid
ELSE
LOCATE FOR &lckey. = VAL(txid)
ENDIF
ENDIF
SELECT(lnselect)
THIS.REFRESH()
THIS.onrecordmove()
IF thisform.windowstate = 1
thisform.windowstate = 0
ENDIF
RETURN FOUND()
IF THISFORM.lusehook
LOCAL luhookvalue
luhookvalue = THISFORM.oneventhook("OnCopy",THIS,THISFORM)
DO CASE
CASE VARTYPE(luhookvalue)="L"
IF !luhookvalue
RETURN .T.
ENDIF
CASE VARTYPE(luhookvalue)="N"
RETURN luhookvalue=0
ENDCASE
ENDIF
IF !THISFORM.lcancopy
WAIT WINDOW msg_cant_insert
RETURN .F.
ENDIF
IF THISFORM.nformstatus <> id_normal_mode
IF !THISFORM.asktosave()
** Do Nothing
RETURN .F.
ENDIF
THISFORM.nformstatus = id_normal_mode
THISFORM.CAPTION = THISFORM.coldtitle
THISFORM.refreshtoolbar(.T.)
THISFORM.onformstatuschange()
THISFORM.REFRESH()
ENDIF
THIS.lactcanedit = THIS.lcanedit
THIS.lcanedit = .T.
LOCAL lnrecno,lofields
SELECT (THISFORM.cworkalias)
lnrecno = IIF(EOF() OR DELETED(), 0, RECNO())
THISFORM.noldrecno = lnrecno
SCATTER MEMO NAME lofields
THIS.ofields = lofields
IF THISFORM.onprecopy()
SELECT (THISFORM.cworkalias)
IF VARTYPE(goProgram)="O"
IF !goprogram.lnoclearidxoninsert
goprogram.clearallidx()
ENDIF
ELSE
THISFORM.clearidx()
ENDIF
SELECT (THISFORM.cworkalias)
THISFORM.orecord.INSERT()
** Check the Active control
IF TYPE("thisForm.ActiveControl")="O"
LOCAL locontrol
locontrol = THISFORM.ACTIVECONTROL
IF LOWER(locontrol.BASECLASS) == "grid"
locontrol.REFRESH()
ENDIF
ENDIF
IF !THISFORM.onpostcopy()
THISFORM.onundo()
RETURN .F.
ENDIF
IF THISFORM.nformstatus != 0 AND !EMPTY(THISFORM.coldtitle)
THISFORM.CAPTION = THISFORM.coldtitle
ENDIF
THISFORM.nformstatus = id_insert_mode
THISFORM.lempty = .F.
THISFORM.onrecordmove()
THISFORM.noldrecno = lnrecno
THISFORM.coldtitle = THISFORM.CAPTION
THISFORM.CAPTION = msg_insertmode + " " + ALLTRIM(THISFORM.CAPTION)
THISFORM.refreshtoolbar(.T.)
THISFORM.onformstatuschange()
THISFORM.REFRESH()
THISFORM.setobjectfocus()
ELSE
RETURN .F.
ENDIF
LOCAL lofields,lnkey,lcfieldname
lofields = THIS.ofields
* dont replace primary
lnkey=getpknum()
IF lnkey>0
lcfieldname=KEY(lnkey)
lcfieldname=STRTRAN(lcfieldname,"UPPER(","")
lcfieldname=STRTRAN(lcfieldname,"LOWER(","")
lcfieldname=STRTRAN(lcfieldname,"STR(","")
lcfieldname=STRTRAN(lcfieldname,")","")
lcproperty="loFields."+lcfieldname
IF TYPE(lcproperty)#"U"
lofields.&lcfieldname. = EVAL(KEY(lnkey))
ENDIF
ENDIF
* dont replace candidates
lnkey=getcknum(1)
DO WHILE lnkey>0
lcfieldname=KEY(lnkey)
lcfieldname=STRTRAN(lcfieldname,"UPPER(","")
lcfieldname=STRTRAN(lcfieldname,"LOWER(","")
lcfieldname=STRTRAN(lcfieldname,"STR(","")
lcfieldname=STRTRAN(lcfieldname,")","")
lcproperty="loFields."+lcfieldname
IF TYPE(lcproperty)#"U"
lofields.&lcfieldname. = EVAL(KEY(lnkey))
ENDIF
lnkey=getcknum(lnkey+1)
ENDDO
* don´t replace insert & update info
lcfieldname="ins_date"
lcproperty="loFields."+lcfieldname
IF TYPE(lcproperty)#"U"
lofields.&lcfieldname. = EVAL(lcfieldname)
ENDIF
lcfieldname="ins_usr"
lcproperty="loFields."+lcfieldname
IF TYPE(lcproperty)#"U"
lofields.&lcfieldname. = EVAL(lcfieldname)
ENDIF
lcfieldname="edt_date"
lcproperty="loFields."+lcfieldname
IF TYPE(lcproperty)#"U"
lofields.&lcfieldname. = EVAL(lcfieldname)
ENDIF
lcfieldname="edt_usr"
lcproperty="loFields."+lcfieldname
IF TYPE(lcproperty)#"U"
lofields.&lcfieldname. = EVAL(lcfieldname)
ENDIF
GATHER NAME lofields MEMO
* make sure the onpostinsert get's called i.e. for PK assignments using numerators
IF !THISFORM.onpostinsert()
THISFORM.onundo()
RETURN .F.
ENDIF
RETURN .T.
LPARAMETERS tcfieldexpr, tuvalue
LOCAL lcexprtype
lcexprtype = TYPE(tcfieldexpr)
IF !EMPTY(tuvalue)
LOCAL lctype
lctype = TYPE("tuValue")
DO CASE
* character expressions
CASE lcexprtype = "C"
DO CASE
CASE lctype = "C"
* do nothing
CASE lctype $ "NIFBY"
tuvalue = STR(tuvalue,100)
ENDCASE
* numeric expressions
CASE lcexprtype $ "NIFBY"
DO CASE
CASE lctype = "C"
tuvalue = VAL(ALLTRIM(tuvalue))
CASE lctype = "N"
* do nothing
ENDCASE
ENDCASE
IF lcexprtype = TYPE("tuValue") AND lcexprtype = "C"
LOCATE FOR UPPER(LTRIM(&tcfieldexpr)) = UPPER(LTRIM(tuvalue))
ELSE
LOCATE FOR &tcfieldexpr = tuvalue
ENDIF
IF !FOUND()
IF lcexprtype = TYPE("tuValue")
LOCAL lnlen, lclocateexpr, lcvalue, lcorigvalue
lnlen = 0
lclocateexpr = ""
lcvalue = ""
lcorigvalue = ""
lclocateexpr = "alltrim("+tcfieldexpr+")"
DO CASE
CASE TYPE("tuValue") = "C"
lnlen = LEN(ALLTRIM(tuvalue)) - 1
lcorigvalue = ALLTRIM(tuvalue)
CASE TYPE("tuValue") = "N"
lnlen = LEN(TRANSFORM(tuvalue)) - 1
lcorigvalue = TRANSFORM(tuvalue)
lclocateexpr = "alltrim("+tcfieldexpr+")"
OTHERWISE
ENDCASE
IF lnlen > 0
lcvalue = lcorigvalue
DO WHILE lnlen > 0
lcvalue = SUBSTR(lcvalue, 1, lnlen)
LOCATE FOR &lclocateexpr = lcvalue
lnlen = lnlen - 1
IF FOUND()
EXIT
ENDIF
ENDDO
ENDIF
IF !FOUND() OR lnlen < 0
LOCATE
ENDIF
ELSE
LOCATE
ENDIF
ENDIF
ENDIF
LPARAMETERS vnewval
LOCAL lccallingprogram
lccallingprogram=PROGRAM(PROGRAM(-1)-1)
IF TYPE("lcCallingProgram")="C"
IF LOWER(RIGHT(lccallingprogram,15))=".onsetchilddata"
THIS.coldtitle=m.vnewval
ENDIF
ENDIF
THIS.CAPTION = m.vnewval
LPARAMETERS tcmodus
LOCAL lcalias
lcalias = ALIAS()
LOCAL j, k, loobject, lllocate
j = 0
k = 0
loobject = .NULL.
lllocate = .F.
DO CASE
CASE TYPE("this.cntPanel.grdGrid") = "O"
loobject = THIS.cntpanel.grdgrid
lllocate = .T.
THIS.remakegrididx(loobject, lllocate, tcmodus)
CASE TYPE("this.pgfpageframe") = "O"
WITH THIS.pgfpageframe
FOR j = 1 TO .PAGECOUNT
FOR k = 1 TO .PAGES[j].CONTROLCOUNT
IF LOWER(.PAGES[j].CONTROLS[k].BASECLASS) = 'grid' AND ;
!EMPTY(NVL(LOWER(.PAGES[j].CONTROLS[k].PARENTCLASS),""))
loobject = .PAGES[j].CONTROLS[k]
lllocate = (THIS.npagelist = j)
THIS.remakegrididx(loobject, lllocate, tcmodus)
ENDIF
NEXT
NEXT
ENDWITH
ENDCASE
IF !EMPTY(lcalias) AND USED(lcalias)
SELECT (lcalias)
ENDIF
RETURN
LPARAMETERS togrid, tllocate, tcmodus
LOCAL logrid, lccolumnn, lcsortcolumns, lcsortexpr, lcsortexprval, i, lllocate
logrid = togrid
i = 0
lccolumn = ""
lcsortcolumns = ""
lcsortexpr = ""
lcsortexprval = ""
lllocate = tllocate
IF TYPE("loGrid") <> "O"
RETURN .F.
ELSE
IF pemstatus(logrid, "baseclass", 5)
IF LOWER(logrid.BASECLASS) <> 'grid'
RETURN .F.
ENDIF
ELSE
RETURN .F.
ENDIF
ENDIF
lcsortcolumns = logrid.csavesortcolumns
lcsortexpr = logrid.csavesortexpr
LOCAL lcalias
lcalias = ALIAS()
SELECT (logrid.RECORDSOURCE)
WITH logrid
IF !EMPTY(NVL(lcsortcolumns,""))
i = 1
DO WHILE !EMPTY(NVL(getarg(lcsortcolumns,i),""))
lccolumn = getarg(lcsortcolumns,i)
IF i = 1
.onsetorder(.&lccolumn)
ELSE
.onsetorder(.&lccolumn, .F., .T.)
ENDIF
i = i + 1
ENDDO
IF lllocate
IF !EMPTY(NVL(.csortcolumns,""))
lcsortexpr = .csortexpr
DO CASE
CASE UPPER(tcmodus) == "S"
lcsortexprval = EVAL(lcsortexpr)
OTHERWISE
IF VARTYPE(lcSortExprVal) = "C"
lcsortexprval = ALLTRIM(lcsortexprval)
ENDIF
ENDCASE
IF !EMPTY(NVL(lcsortexprval,""))
IF DESCENDING()
LOCATE ALL FOR &lcsortexpr <= lcsortexprval
ELSE
LOCATE ALL FOR &lcsortexpr >= lcsortexprval
ENDIF
IF !FOUND() OR EOF()
LOCATE
ENDIF
ENDIF
ENDIF
ENDIF
ENDIF
ENDWITH
IF !EMPTY(lcalias) AND USED(lcalias)
SELECT (lcalias)
ENDIF
IF THISFORM.lusehook
LOCAL luhookvalue
luhookvalue = THISFORM.oneventhook("OnPostSave",THIS,THISFORM)
DO CASE
CASE VARTYPE(luhookvalue)="L"
IF !luhookvalue
RETURN .T.
ENDIF
CASE VARTYPE(luhookvalue)="N"
RETURN luhookvalue=0
ENDCASE
ENDIF
DODEFAULT()
IF TYPE("_VFX_FORM_WIZARD")="C"
THISFORM.cworkalias = ''
RETURN .T.
ENDIF
IF EMPTY(THISFORM.cworkalias)
THISFORM.cworkalias = THISFORM.DATAENVIRONMENT.INITIALSELECTEDALIAS
ENDIF
IF !EMPTY(THISFORM.cworkalias) AND USED(THISFORM.cworkalias)
THISFORM.lempty = EOF(THISFORM.cworkalias)
ENDIF
LPARAMETERS tcformname, toform
LPARAMETERS tlonlydata, tlsetfocus
** Load Data
IF ORDER() = "X" AND !EMPTY(THIS.cfilterexpr) AND ;
FOR() <> UPPER(STRTRAN(THIS.cfilterexpr, " ", ""))
LOCAL lckey, lcfilter
lckey = KEY()
lcfilter = THIS.cfilterexpr
lcidx = ORDER()
IF !EMPTY(lckey)
INDEX ON &lckey TO (lcidx) FOR &lcfilter ADDITIVE
LOCATE
THIS.lempty = EOF()
ENDIF
ENDIF
LOCAL llrequerydone
llrequerydone = THISFORM.REQUERY(.T.,.F.)
IF llrequerydone AND THISFORM.lworkonview
IF !EMPTY(NVL(THISFORM.cworkalias,""))
SELECT (THISFORM.cworkalias)
LOCAL lnrecno
lnrecno = IIF(EOF(), 0, RECNO())
LOCATE
IF lnrecno > 0
GO lnrecno
ENDIF
ENDIF
ENDIF
IF THISFORM.lhidewhenempty
THISFORM.onemptyform()
ENDIF
IF !tlonlydata
LOCAL lsetfocus
lsetfocus = THISFORM.lsetfocus
IF !tlsetfocus
THISFORM.lsetfocus=.F.
ENDIF
IF THISFORM.lempty
IF !THISFORM.lhidewhenempty
THISFORM.REFRESH()
ENDIF
ELSE
THISFORM.REFRESH()
ENDIF
THISFORM.lsetfocus=lsetfocus
ENDIF
DODEFAULT()
LOCAL lcerror, j
lcerror = ON('ERROR')
_vfx_error = .F.
ON ERROR _vfx_error = .T.
FOR j = 1 TO THISFORM.CONTROLCOUNT
IF LOWER(THISFORM.CONTROLS[j].BASECLASS) = 'grid'
THISFORM.CONTROLS[j].onloadposition()
ENDIF
NEXT
ON ERROR &lcerror
RELEASE _vfx_error
IF VARTYPE(goProgram)="O" AND goprogram.ldebugmode
SET ESCAPE ON
ON SHUTDOWN
ON ERROR
ENDIF
WAIT CLEAR
DODEFAULT()
LOCAL lcerror, j
lcerror = ON('ERROR')
_vfx_error = .F.
ON ERROR _vfx_error = .T.
FOR j = 1 TO THISFORM.CONTROLCOUNT
IF LOWER(THISFORM.CONTROLS[j].BASECLASS) = 'grid'
THISFORM.CONTROLS[j].onsaveposition()
ENDIF
NEXT
ON ERROR &lcerror
RELEASE _vfx_error
IF VARTYPE(goProgram)="O" AND goprogram.ldebugmode
SET ESCAPE ON
ON SHUTDOWN
ON ERROR
ENDIF
LPARAMETERS tcarg
IF TYPE("_VFX_FORM_WIZARD")="C"
THISFORM.cworkalias = ''
DODEFAULT()
RETURN .T.
ENDIF
IF EMPTY(THISFORM.cworkalias)
THISFORM.cworkalias = THISFORM.DATAENVIRONMENT.INITIALSELECTEDALIAS
ENDIF
IF EMPTY(THISFORM.cworkalias)
=MESSAGEBOX("Initial Selected Alias is not specified!",16,THISFORM.NAME)
RETURN .F.
ENDIF
IF !("VFXFUNC" $ SET('proc'))
SET PROCEDURE TO PROGRAM\vfxfunc ADDITIVE
ENDIF
IF !("VFXOBJ.VCX" $ SET('classlib'))
SET CLASSLIB TO lib\vfxobj.vcx ADDITIVE
ENDIF
IF !("VFXCTRL.VCX" $ SET('classlib'))
SET CLASSLIB TO lib\vfxctrl.vcx ADDITIVE
ENDIF
IF !("VFXAPPL" $ SET('classlib'))
SET CLASSLIB TO lib\vfxappl ADDITIVE
ENDIF
IF TYPE("goProgram")="O"
IF goprogram.nhidewhenempty > 0
THISFORM.lhidewhenempty = (goprogram.nhidewhenempty = 1)
ENDIF
ENDIF
LOCAL k, lcstarttag, linitok
IF EMPTY(THISFORM.cidxmgrclass)
THISFORM.cidxmgrclass = "CIDXManager"
ENDIF
IF EMPTY(THISFORM.crecordmgrclass)
THISFORM.crecordmgrclass = "CDataTableMgr"
ENDIF
THISFORM.ADDOBJECT('oIdxManager', THISFORM.cidxmgrclass)
THISFORM.ADDOBJECT('oRecord' , THISFORM.crecordmgrclass)
THISFORM.oidxmanager.TOP = THISFORM.HEIGHT
THISFORM.oidxmanager.LEFT = THISFORM.WIDTH
THISFORM.orecord.TOP = THISFORM.HEIGHT
THISFORM.orecord.LEFT = THISFORM.WIDTH
IF THISFORM.lhidewhenempty
IF EMPTY(THISFORM.cemptymessage)
THISFORM.cemptymessage = msg_empty_view
ENDIF
WITH THISFORM.lblmsgempty
.CAPTION = THISFORM.cemptymessage
.TOP = (THISFORM.HEIGHT - .HEIGHT)/2
.LEFT = (THISFORM.WIDTH - .WIDTH )/2
.ZORDER(1)
.VISIBLE = .F.
ENDWITH
ENDIF
linitok = DODEFAULT(tcarg)
IF VARTYPE(goprogram)="O"
IF !USED("vfxfopen")
LOCAL frmname
USE vfxfopen IN 0 SHARED AGAIN
SELECT vfxfopen
IF EMPTY(THIS.cscxname)
frmname=UPPER(THIS.NAME)
IF LEFT(frmname,3)=="FRM"
frmname=SUBSTR(frmname,4)
ENDIF
ELSE
frmname=PADR(TRIM(STRTRAN(UPPER(THIS.cscxname),".SCX","")),32," ")
ENDIF
LOCATE FOR PADR(UPPER(FORM),32," ")==frmname
IF FOUND()
IF TYPE("vfxfopen.viewlevel")="N" AND !EMPTY(vfxfopen.viewlevel)
IF gu_userlevel > vfxfopen.viewlevel
** make sure to cleanup correctly partially loaded form!
cform::DESTROY()
RETURN .F.
ENDIF
ENDIF
IF TYPE("vfxfopen.newlevel")="N" AND !EMPTY(vfxfopen.newlevel)
IF gu_userlevel <= vfxfopen.newlevel
THIS.lcaninsert=.T.
THIS.lcancopy=.T.
ELSE
THIS.lcaninsert=.F.
THIS.lcancopy=.F.
ENDIF
ENDIF
IF TYPE("vfxfopen.editlevel")="N" AND !EMPTY(vfxfopen.editlevel)
IF gu_userlevel <= vfxfopen.editlevel
THIS.lcanedit=.T.
ELSE
THIS.lcanedit=.F.
ENDIF
ENDIF
IF TYPE("vfxfopen.eraselevel")="N" AND !EMPTY(vfxfopen.eraselevel)
IF gu_userlevel <= vfxfopen.eraselevel
THIS.lcandelete=.T.
ELSE
THIS.lcandelete=.F.
ENDIF
ENDIF
ENDIF
USE IN vfxfopen
ENDIF
ENDIF
IF linitok
THISFORM.coldtitle = THISFORM.CAPTION
IF TYPE("goProgram.nAutoEditMode")="N"
IF goprogram.nautoeditmode > 0
THISFORM.lautoedit = (goprogram.nautoeditmode = 1)
ENDIF
ENDIF
IF TYPE("goProgram.nAskToSave")="N"
IF goprogram.nasktosave > 0
THISFORM.lasktosave = (goprogram.nasktosave = 1)
ENDIF
ENDIF
THISFORM.orecord.caliasname = THISFORM.cworkalias
THISFORM.nformstatus = id_normal_mode
THISFORM.onformstatuschange()
IF !EMPTY(THISFORM.cworkalias)
SELECT(THISFORM.cworkalias)
lcstarttag = TAG()
IF THISFORM.lusesetkeyasfilter
IF !EMPTY(THISFORM.csetkeyindex)
SET ORDER TO TAG (THISFORM.csetkeyindex)
*!* ELSE
*!* = MESSAGEBOX(ALIAS() +" - Table without index!",16,THISFORM.NAME)
*!* RETURN .F.
ENDIF
ENDIF
IF !THISFORM.lworkonview
*!* IF EMPTY(TAG())
*!* IF tagcount() = 0
*!* = MESSAGEBOX(ALIAS() +" - Table without index!",16,THISFORM.NAME)
*!* RETURN .F.
*!* ENDIF
*!* SET ORDER TO 1
*!* ENDIF
IF FILE(TAG()+".idx")
THISFORM.cworktag = ''
FOR k = 1 TO tagcount()
IF !FILE(TAG(k)+".idx")
THISFORM.cworktag = TAG(k)
EXIT
ENDIF
NEXT
ELSE
THISFORM.cworktag = TAG()
ENDIF
ELSE
THISFORM.cworktag = ''
ENDIF
THISFORM.oidxmanager.savetag()
SELECT(THISFORM.cworkalias)
SET ORDER TO TAG (lcstarttag)
** NoLoadData, NoRequery if lWorkOnView = .T.
IF !EMPTY(THISFORM.cqueryarg)
THISFORM.REQUERY(.T.,.F.)
ELSE
THISFORM.REQUERY(.F.,.F.)
ENDIF
IF TYPE("__VFX_PickField") # "U"
THISFORM.opickfield = __vfx_pickfield
IF pemstatus(THISFORM.opickfield,"oLinkForm",5)
THISFORM.opickfield.olinkform = THIS
ENDIF
ELSE
THISFORM.opickfield = .NULL.
ENDIF
LOCAL lfoundit
lfoundit = .F.
IF TYPE("__VFX_PickRecLoc") # "U"
IF (THISFORM.lworkonview)
* View positioning
THISFORM.jumpto(THISFORM.opickfield.creturnexpr, __vfx_pickrecloc)
ELSE
IF TYPE("__VFX_FromValid") = "L" AND __vfx_fromvalid
THISFORM.jumpto(THISFORM.opickfield.creturnexpr, __vfx_pickrecloc)
ENDIF
LOCAL lctagname
lctagname = TAG()
IF TYPE("__VFX_PickTagName") != "U"
SET ORDER TO TAG (__vfx_picktagname)
IF !(TYPE("__VFX_FromValid") = "L" AND __vfx_fromvalid)
SEEK __vfx_pickrecloc
lfoundit = FOUND()
IF !FOUND()
LOCATE
ENDIF
ENDIF
IF !EMPTY(lctagname)
SET ORDER TO TAG (lctagname)
ENDIF
ENDIF
ENDIF
THISFORM.noldrecno = IIF(EOF() OR DELETE(), 0, RECNO())
__vfx_pickrecloc = ''
__vfx_picktagname = ''
RELEASE __vfx_pickrecloc, __vfx_picktagname
ENDIF
IF lfoundit
IF TYPE("thisForm.pgfPageFrame")="O" AND TYPE("thisForm.nPageEdit")="N"
THISFORM.pgfpageframe.ACTIVEPAGE = THISFORM.npageedit
ENDIF
ENDIF
ENDIF
ENDIF
IF THISFORM.lhidewhenempty
WITH THISFORM.lblmsgempty
.CAPTION = THISFORM.cemptymessage
.TOP = (THISFORM.HEIGHT - .HEIGHT)/2
.LEFT = (THISFORM.WIDTH - .WIDTH )/2
.ZORDER(1)
.VISIBLE = THISFORM.lempty
ENDWITH
ENDIF
IF VARTYPE(goProgram) = "U" AND TYPE("__VFX_Builder")="U"
IF INLIST(THIS._vfxclassname,"CDataFormPage","COneToMany","CTableForm")
PUBLIC gotoolbar
IF !("VFXAPPL.VCX" $ SET('classlib'))
SET CLASSLIB TO lib\vfxappl.vcx ADDITIVE
ENDIF
gotoolbar = CREATEOBJECT("CNavigatorBar")
gotoolbar.DOCK(-1) && No Docking
gotoolbar.SHOW()
ENDIF
ENDIF
IF THISFORM.lusehook
LOCAL luhookvalue
luhookvalue = THISFORM.oneventhook("CDataForm.Init",THIS,THISFORM)
DO CASE
CASE VARTYPE(luhookvalue)="L"
IF !luhookvalue
RETURN .T.
ENDIF
CASE VARTYPE(luhookvalue)="N"
RETURN luhookvalue=0
ENDCASE
ENDIF
RETURN linitok
IF !"vfxhook" $ SET("procedure")
SET PROCEDURE TO PROGRAM\vfxhook ADDITIVE
ENDIF
IF THISFORM.lusehook
LOCAL luhookvalue
luhookvalue = THISFORM.oneventhook("QueryUnload",THIS,THISFORM)
DO CASE
CASE VARTYPE(luhookvalue)="L"
IF !luhookvalue
NODEFAULT
RETURN .T.
ENDIF
CASE VARTYPE(luhookvalue)="N"
NODEFAULT
RETURN luhookvalue=0
ENDCASE
ENDIF
SELECT (THISFORM.cworkalias)
IF THISFORM.nformstatus <> id_normal_mode
THISFORM.onwritebuffer()
IF THISFORM.recordchanged() OR THISFORM.nformstatus = id_insert_mode
IF !THISFORM.asktosave()
** Do Nothing
NODEFAULT
RETURN .F.
ENDIF
ELSE
THISFORM.nformstatus = id_normal_mode
THISFORM.CAPTION = THISFORM.coldtitle
THISFORM.refreshtoolbar(.T.)
THISFORM.onformstatuschange()
THISFORM.REFRESH()
ENDIF
ELSE
SET FILTER TO
ENDIF
IF TXNLEVEL() > 0
ROLLBACK
ENDIF
LOCAL latable[1]
latable = .F.
=AUSED(latable)
IF !EMPTY(latable)
FOR j = 1 TO ALEN(latable,1)
IF CURSORGETPROP("Buffering", latable[j,1]) != 1
=TABLEREVERT(.T., latable[j,1])
ENDIF
NEXT
ENDIF
DODEFAULT()
IF THISFORM.lclosechildformonexit
IF TYPE("thisForm.oFormList") = "O"
THISFORM.oformlist.closeallchild()
THISFORM.REMOVEOBJECT('oFormList')
ENDIF
ENDIF
IF !ISNULL(THISFORM.opickfield)
__vfx_pickfield = .NULL.
RELEASE __vfx_pickfield
THISFORM.opickfield.GOTFOCUS()
ENDIF
THISFORM.opickfield = .NULL.
IF VARTYPE(goProgram) = "U"
IF INLIST(THIS._vfxclassname,"CDataFormPage","COneToMany","CTableForm")
RELEASE gotoolbar
ENDIF
ENDIF
IF TYPE("_VFX_FORM_WIZARD")="U"
THISFORM.clearidx()
ENDIF
SET MESSAGE TO ""
SET MESSAGE TO
IF VARTYPE(goProgram)="O"
IF !DBUSED(goprogram.cmaindatabase)
OPEN DATABASE (goprogram.cdatadir+"\"+goprogram.cmaindatabase) SHARED
ENDIF
SET DATABASE TO (goprogram.cdatadir+"\"+goprogram.cmaindatabase)
ELSE
LOCAL lcdatabase, ladata[1]
= ADIR(ladata,"data\*.dbc","A")
IF !EMPTY(ladata)
lcdatabase = STRTRAN(LOWER(ladata[1,1]),".dbc","")
OPEN DATA ("data\"+lcdatabase) SHARED
SET DATA TO ("data\"+lcdatabase)
ELSE
lcdatabase = GETFILE('DBC')
IF EMPTY(lcdatabase)
RETURN .F.
ENDIF
OPEN DATA (lcdatabase) SHARED
lcdatabase = LEFT(lcdatabase,RAT(".",lcdatabase)-1)
lcdatabase = SUBSTR(lcdatabase,RAT("\",lcdatabase)+1)
SET DATA TO (lcdatabase)
ENDIF
ENDIF
RETURN DODEFAULT()
IF TYPE("thisform.activecontrol") = "O" AND ;
pemstatus(THISFORM.ACTIVECONTROL.PARENT,'_vfxclassname',5) AND ;
LOWER(THISFORM.ACTIVECONTROL.PARENT._vfxclassname) == "cpickfield" AND ;
THISFORM.ACTIVECONTROL.PARENT.lrunform
THISFORM.ACTIVECONTROL.PARENT.txtfield.SETFOCUS()
NODEFAULT
RETURN .T.
ENDIF
IF TYPE("thisform.activecontrol") = "O" AND ;
pemstatus(THISFORM.ACTIVECONTROL,'_vfxclassname',5) AND ;
LOWER(THISFORM.ACTIVECONTROL._vfxclassname) == "cpicktextbox" AND ;
THISFORM.ACTIVECONTROL.lrunform
THISFORM.ACTIVECONTROL.SETFOCUS()
NODEFAULT
RETURN .T.
ENDIF
DODEFAULT()
IF THISFORM.nformstatus = 0
IF DELETED()
LOCATE
IF EOF()
THISFORM.lempty = .T.
ENDIF
IF THISFORM.lempty
THISFORM.noldrecno = 0
ELSE
THISFORM.noldrecno = IIF(EOF() OR DELETED(), 0, RECNO())
ENDIF
ENDIF
IF THISFORM.lhidewhenempty
THISFORM.onemptyform()
ENDIF
IF THISFORM.lworkonview
THISFORM.REFRESH()
ENDIF
ENDIF
** check whether this form has been called from picklist with new option
IF TYPE("__VFX_PickNew") # "U"
THISFORM.oninsert()
RELEASE __vfx_picknew
ENDIF
NODEFAULT
DODEFAULT()
IF THISFORM.lhidewhenempty
WITH THISFORM.lblmsgempty
.CAPTION = THISFORM.cemptymessage
.TOP = (THISFORM.HEIGHT - .HEIGHT)/2
.LEFT = (THISFORM.WIDTH - .WIDTH )/2
.ZORDER(1)
.VISIBLE = THISFORM.lempty
ENDWITH
ENDIF
| Baseclass | Class | Object name |
|---|---|---|
| label | label | cdataform.lblMsgEmpty |
| Name | Initial value |
|---|---|
| AutoSize | .T. |
| BackStyle | 0 |
| Caption | "There are no items to show in this view." |
| ZOrderSet | 0 |
| Name | Initial value |
|---|---|
| Caption | "CDataFormPage" |
| DoCreate | .T. |
| _vfxclassname | CDataFormPage |
| lcascade | .T. |
| lputinlastfile | .T. |
| lputinwindowmenu | .T. |
| Name | Initial value | Comment |
|---|---|---|
| ldonthidelistpage | .f. | Defines whether the list page should not be hidden when editing. See also: cfoxapp.ndonthidelistpage |
| lenterisedit | .f. | Specifies if the OnKeyEnter() method should call OnEdit() or simply go to the first Page Edit |
| lmultipage | .T. | .T. if PageCount > 0 |
| noldpage | 0 | Reserved. Stores the previously selected page. |
| npageedit | 1 | Page number one for editing of fields. Usually page 1. |
| npagelist | 0 | Page used for the grid. Usually last page (pagecount) |
| nstartpage | -1 | Specifies which page initially get's displayed. Usually page number 1. |
THIS.dispbegin()
IF THISFORM.lusehook
LOCAL luhookvalue
luhookvalue = THISFORM.oneventhook("OnNextPage",THIS,THISFORM)
DO CASE
CASE VARTYPE(luhookvalue)="L"
IF !luhookvalue
RETURN .T.
ENDIF
CASE VARTYPE(luhookvalue)="N"
RETURN luhookvalue=0
ENDCASE
ENDIF
WITH THIS.pgfpageframe
IF .ACTIVEPAGE < .PAGECOUNT
.ACTIVEPAGE = .ACTIVEPAGE + 1
.SETALL('ForeColor',RGB(0,0,0), 'Page')
.PAGES[.ActivePage].FORECOLOR = RGB(0,0,255)
.tabrefresh(.T.)
ENDIF
ENDWITH
THIS.dispend(.T.)
THIS.dispbegin()
IF THISFORM.lusehook
LOCAL luhookvalue
luhookvalue = THISFORM.oneventhook("OnPrevPage",THIS,THISFORM)
DO CASE
CASE VARTYPE(luhookvalue)="L"
IF !luhookvalue
RETURN .T.
ENDIF
CASE VARTYPE(luhookvalue)="N"
RETURN luhookvalue=0
ENDCASE
ENDIF
WITH THIS.pgfpageframe
IF .ACTIVEPAGE > 1
.ACTIVEPAGE = .ACTIVEPAGE - 1
.SETALL('ForeColor',RGB(0,0,0), 'Page')
.PAGES[.ActivePage].FORECOLOR = RGB(0,0,255)
.tabrefresh(.T.)
ENDIF
ENDWITH
THIS.dispend(.T.)
LPARAMETERS tcarg
LOCAL linitok
THISFORM.nstartpage = -1
linitok = DODEFAULT(tcarg)
IF EMPTY(THISFORM.cworkalias)
RETURN
ENDIF
IF linitok
IF VARTYPE(goProgram)="O"
IF goprogram.ndonthidelistpage > 0
THISFORM.ldonthidelistpage = (goprogram.ndonthidelistpage = 1)
ENDIF
ENDIF
THIS.lmultipage = .F.
IF !THIS.pgfpageframe.lusegrid
THIS.npagelist = 0
ENDIF
IF THIS.pgfpageframe.PAGECOUNT > 1
THIS.lmultipage = .T.
IF THISFORM.nstartpage < 1
IF VARTYPE(gu_FirstView)="N"
IF gu_firstview > 1
THISFORM.nstartpage = THIS.npagelist
ENDIF
ENDIF
ENDIF
ENDIF
IF THISFORM.nstartpage < 1
THISFORM.nstartpage = 1
ENDIF
THIS.pgfpageframe.ACTIVEPAGE = THISFORM.nstartpage
THIS.noldpage = THISFORM.nstartpage
IF THIS.npagelist # 0
IF TYPE("this.pgfPageFrame.Pages[thisForm.nPageList].grdGrid") = "O"
THISFORM.pgfpageframe.PAGES[this.nPageList].grdgrid.onsetorder()
ENDIF
ENDIF
ENDIF
RETURN linitok
IF TYPE("thisForm.oIdxManager.aIndexList") <> "U"
= ACOPY(THISFORM.oidxmanager.aindexlist, latempidx)
ENDIF
DODEFAULT()
LOCAL lopageframe, j, k, lccontrolname, locurrentcontrol
lopageframe = THISFORM.pgfpageframe
FOR j = 1 TO lopageframe.PAGECOUNT
FOR k = 1 TO lopageframe.PAGES[j].CONTROLCOUNT
IF LOWER(lopageframe.PAGES[j].CONTROLS[k].BASECLASS) = 'grid' AND ;
pemstatus(lopageframe.PAGES[j].CONTROLS[k],'_VFXClassName',5) AND ;
LOWER(lopageframe.PAGES[j].CONTROLS[k]._vfxclassname) = 'cgrid'
logrid = lopageframe.PAGES[j].CONTROLS[k]
IF TYPE("goProgram.lremakeidxafterclear")="L" AND goprogram.lremakeidxafterclear
logrid.csavesortcolumns = logrid.csortcolumns
logrid.csavesortexpr = logrid.csortexpr
ENDIF
logrid.csortcolumns = ""
logrid.csortexpr = ""
IF TYPE("goProgram.nShowGridOrderType")="N" AND goprogram.nshowgridordertype = 1 && Header
logrid.SETALL('FontUnderline', .F., 'Header')
ELSE && Colors
IF logrid.ctitlecolor = -1
IF TYPE("logrid.Columns[1].Header1") = "O"
logrid.ctitlecolor = logrid.COLUMNS[1].header1.BACKCOLOR
ELSE
logrid.ctitlecolor = RGB(192,192,192)
ENDIF
ENDIF
logrid.SETALL('BackColor', logrid.ctitlecolor, 'Header')
ENDIF
FOR lni = 1 TO logrid.COLUMNCOUNT
IF TYPE("logrid.columns[lni].header1") = "O" AND ;
CHR(160) $ logrid.COLUMNS[lni].header1.CAPTION
WITH logrid.COLUMNS[lni].header1
.CAPTION = SUBSTR(.CAPTION, 1, AT(CHR(160), .CAPTION) -1)
ENDWITH
ENDIF
lccontrolname = logrid.COLUMNS[lni].CURRENTCONTROL
locurrentcontrol = logrid.COLUMNS[lni].&lccontrolname
IF TYPE("loCurrentControl") = "O"
WITH locurrentcontrol
IF TYPE(".tag") = "C" AND TYPE("laTempIDX") <> "U" AND ;
ASCAN(latempidx,.TAG) > 0
.TAG = ""
ENDIF
ENDWITH
ENDIF
NEXT lni
ENDIF
NEXT
NEXT
IF VARTYPE(laTempIDX) <> "U"
RELEASE ARRAY latempidx
ENDIF
SELECT (THISFORM.cworkalias)
RETURN DODEFAULT()
THIS.noldpage = THIS.pgfpageframe.ACTIVEPAGE
IF THIS.noldpage = THIS.npagelist
THIS.pgfpageframe.ACTIVEPAGE = THISFORM.npageedit
THIS.pgfpageframe.PAGES[thisForm.nPageEdit].REFRESH()
ENDIF
IF DODEFAULT()
IF TYPE("thisForm.nPageList") = "N" AND THISFORM.npagelist > 0
IF TYPE("this.pgfPageFrame.pages[thisForm.nPageList].grdGrid") = "O"
THIS.pgfpageframe.PAGES[thisForm.nPageList].grdgrid.ENABLED = .F.
ENDIF
IF !THISFORM.ldonthidelistpage
THISFORM.pgfpageframe.PAGES[thisform.npagelist].ENABLED = .F.
ENDIF
ENDIF
THIS.pgfpageframe.tabrefresh()
RETURN .T.
ENDIF
RETURN .F.
LOCAL lretcode
THIS.dispbegin()
THIS.noldpage = THIS.pgfpageframe.ACTIVEPAGE
THIS.pgfpageframe.ACTIVEPAGE = THISFORM.npageedit
lretcode = DODEFAULT()
IF lretcode
IF TYPE("thisForm.nPageList") = "N" AND THISFORM.npagelist > 0
IF TYPE("this.pgfPageFrame.pages[thisForm.nPageList].grdGrid") = "O"
THIS.pgfpageframe.PAGES[thisForm.nPageList].grdgrid.ENABLED = .F.
ENDIF
IF !THISFORM.ldonthidelistpage
THISFORM.pgfpageframe.PAGES[thisform.npagelist].ENABLED = .F.
ENDIF
ENDIF
THISFORM.setobjectfocus()
THIS.pgfpageframe.tabrefresh(.T.)
ELSE
THIS.pgfpageframe.ACTIVEPAGE = THIS.noldpage
ENDIF
THIS.dispend()
RETURN lretcode
DODEFAULT()
LOCAL lopageframe, j
lopageframe = THISFORM.pgfpageframe
IF RESOURCE.PAGE > 0 AND RESOURCE.PAGE <= lopageframe.PAGECOUNT
THISFORM.nstartpage = RESOURCE.PAGE
ELSE
THISFORM.nstartpage = -1
ENDIF
lopageframe = THISFORM.pgfpageframe
LOCAL lcerror
lcerror = ON('ERROR')
_vfx_error = .F.
ON ERROR _vfx_error = .T.
FOR j = 1 TO lopageframe.PAGECOUNT
FOR k = 1 TO lopageframe.PAGES[j].CONTROLCOUNT
IF LOWER(lopageframe.PAGES[j].CONTROLS[k].BASECLASS) = 'grid' AND ;
pemstatus(lopageframe.PAGES[j].CONTROLS[k],'_VFXClassName',5) AND ;
(LOWER(lopageframe.PAGES[j].CONTROLS[k]._vfxclassname) = 'cgrid' OR ;
LOWER(lopageframe.PAGES[j].CONTROLS[k]._vfxclassname) = 'cchildgrid')
lopageframe.PAGES[j].CONTROLS[k].onloadposition()
ENDIF
NEXT
NEXT
ON ERROR &lcerror
RELEASE _vfx_error
IF VARTYPE(goProgram)="O" AND goprogram.ldebugmode
SET ESCAPE ON
ON SHUTDOWN
ON ERROR
ENDIF
LPARAMETERS tlnotrefresh, tlalltables
SELECT (THISFORM.cworkalias)
IF TYPE("thisForm.nPageList") = "N" AND THISFORM.npagelist > 0
IF TYPE("this.pgfPageFrame.pages[thisForm.nPageList].grdGrid") = "O"
THIS.pgfpageframe.PAGES[thisForm.nPageList].grdgrid.ENABLED = .T.
ENDIF
THIS.pgfpageframe.PAGES[thisForm.nPageList].ENABLED = .T.
ENDIF
IF TYPE("goprogram") = "O" AND goprogram.lautorefreshonsave
FOR i=1 TO ALEN(THIS.pgfpageframe.aneedrefresh)
IF THISFORM.pgfpageframe.aneedrefresh(i)
IF i <> THISFORM.npagelist
THISFORM.pgfpageframe.PAGES(i).REFRESH()
THIS.pgfpageframe.aneedrefresh(i) = .F.
ENDIF
ENDIF
ENDFOR
ENDIF
IF !DODEFAULT(tlnotrefresh,.T.)
IF TYPE("thisForm.nPageList") = "N" AND THISFORM.npagelist > 0
IF TYPE("this.pgfPageFrame.pages[thisForm.nPageList].grdGrid") = "O"
THIS.pgfpageframe.PAGES[thisForm.nPageList].grdgrid.ENABLED = .F.
ENDIF
IF !THISFORM.ldonthidelistpage
THISFORM.pgfpageframe.PAGES[thisform.npagelist].ENABLED = .F.
ENDIF
ENDIF
RETURN .F.
ENDIF
IF !tlnotrefresh
THISFORM.REFRESH()
ENDIF
THIS.pgfpageframe.tabrefresh()
DODEFAULT()
LOCAL lopageframe, j
lopageframe = THISFORM.pgfpageframe
REPLACE RESOURCE.PAGE WITH lopageframe.ACTIVEPAGE
LOCAL lcerror
lcerror = ON('ERROR')
_vfx_error = .F.
ON ERROR _vfx_error = .T.
FOR j = 1 TO lopageframe.PAGECOUNT
FOR k = 1 TO lopageframe.PAGES[j].CONTROLCOUNT
IF LOWER(lopageframe.PAGES[j].CONTROLS[k].BASECLASS) = 'grid' AND ;
pemstatus(lopageframe.PAGES[j].CONTROLS[k],'_VFXClassName',5) AND ;
(LOWER(lopageframe.PAGES[j].CONTROLS[k]._vfxclassname) = 'cgrid' OR ;
LOWER(lopageframe.PAGES[j].CONTROLS[k]._vfxclassname) = 'cchildgrid')
lopageframe.PAGES[j].CONTROLS[k].onsaveposition()
ENDIF
NEXT
NEXT
ON ERROR &lcerror
RELEASE _vfx_error
IF VARTYPE(goProgram)="O" AND goprogram.ldebugmode
SET ESCAPE ON
ON SHUTDOWN
ON ERROR
ENDIF
LPARAMETERS tlnotrefresh
SELECT (THISFORM.cworkalias)
IF TYPE("thisForm.nPageList") = "N" AND THISFORM.npagelist > 0
IF TYPE("this.pgfPageFrame.pages[thisForm.nPageList].grdGrid") = "O"
THIS.pgfpageframe.PAGES[thisForm.nPageList].grdgrid.ENABLED = .T.
ENDIF
THIS.pgfpageframe.PAGES[thisForm.nPageList].ENABLED = .T.
ENDIF
IF !DODEFAULT(.T.)
IF TYPE("thisForm.nPageList") = "N" AND THISFORM.npagelist > 0
IF TYPE("this.pgfPageFrame.pages[thisForm.nPageList].grdGrid") = "O"
THIS.pgfpageframe.PAGES[thisForm.nPageList].grdgrid.ENABLED = .F.
ENDIF
IF !THISFORM.ldonthidelistpage
THISFORM.pgfpageframe.PAGES[thisform.npagelist].ENABLED = .F.
ENDIF
ENDIF
RETURN .F.
ENDIF
IF !tlnotrefresh
THISFORM.REFRESH()
ENDIF
THIS.pgfpageframe.tabrefresh()
=setfirstfocus(THISFORM.pgfpageframe)
IF THISFORM.lhidewhenempty
DODEFAULT()
THISFORM.pgfpageframe.VISIBLE = !THISFORM.lempty
ENDIF
LOCAL lretcode
THIS.dispbegin()
THIS.noldpage = THIS.pgfpageframe.ACTIVEPAGE
THIS.pgfpageframe.ACTIVEPAGE = THISFORM.npageedit
lretcode = DODEFAULT()
IF lretcode
IF TYPE("thisForm.nPageList") = "N" AND THISFORM.npagelist > 0
IF TYPE("this.pgfPageFrame.pages[thisForm.nPageList].grdGrid") = "O"
THIS.pgfpageframe.PAGES[thisForm.nPageList].grdgrid.ENABLED = .F.
ENDIF
IF !THISFORM.ldonthidelistpage
THISFORM.pgfpageframe.PAGES[thisform.npagelist].ENABLED = .F.
ENDIF
ENDIF
THISFORM.setobjectfocus()
THISFORM.REFRESH()
THIS.pgfpageframe.tabrefresh(.T.)
ENDIF
THIS.dispend()
RETURN lretcode
THISFORM.pgfpageframe.aneedrefresh = .T.
DODEFAULT()
| Baseclass | Class | Object name |
|---|---|---|
| pageframe | cpageframe | cdataformpage.pgfPageFrame |
| zzz | zzz | cdataformpage.lblMsgEmpty |
| Name | Initial value |
|---|---|
| ActivePage | 1 |
| ErasePage | .T. |
| PageCount | 1 |
| ZOrderSet | 1 |
| lusegrid | .T. |
if this.Visible
this.TabRefresh(.f.)
if this.ActivePage = thisForm.nPageList
if type("this.Pages[this.ActivePage].grdGrid")="O"
local lFromValid
lFromValid = .F.
if type("__VFX_FromValid")="L" and __VFX_FromValid
lFromValid = .T.
endif
if thisForm.lSetFocus and !lFromValid
this.Pages[this.ActivePage].grdGrid.SetFocus()
endif
endif
endif
endif
| Baseclass | Class | Object name |
|---|---|---|
| zzz | zzz | cdataformpage.pgfPageFrame.Page1 |
| Name | Initial value |
|---|---|
| Caption | "Page1" |
| Name | Initial value |
|---|---|
| Caption | "CDataFormPageBar" |
| DoCreate | .T. |
| _vfxclassname | CDataFormPageBar |
LPARAMETERS tlarg1
DODEFAULT(tlarg1)
THISFORM.cntbuttonbar.REFRESH()
| Baseclass | Class | Object name |
|---|---|---|
| container | cnavigator | cdataformpagebar.cntButtonBar |
| zzz | zzz | cdataformpagebar.lblMsgEmpty |
| cdataformpagebar.pgfPageFrame |
| Name | Initial value |
|---|---|
| HelpContextID | 131 |
| ZOrderSet | 0 |
IF THISFORM.onedit()
THISFORM.setobjectfocus()
NODEFAULT
ENDIF
THISFORM.oninsert()
THISFORM.setobjectfocus()
NODEFAULT
THISFORM.onsave()
IF THISFORM.pgfpageframe.lusegrid AND THISFORM.npagelist > 0
IF THISFORM.pgfpageframe.ACTIVEPAGE = THISFORM.npagelist
LOCAL lfromvalid
lfromvalid = .F.
IF VARTYPE(__VFX_FromValid)="L" AND __vfx_fromvalid
lfromvalid = .T.
ENDIF
IF !lfromvalid
THISFORM.pgfpageframe.PAGES[thisForm.nPageList].grdgrid.SETFOCUS()
ENDIF
ENDIF
ENDIF
NODEFAULT
THISFORM.onundo()
IF THISFORM.pgfpageframe.lusegrid AND THISFORM.npagelist > 0
IF THISFORM.pgfpageframe.ACTIVEPAGE = THISFORM.npagelist
LOCAL lfromvalid
lfromvalid = .F.
IF VARTYPE(__VFX_FromValid)="L" AND __vfx_fromvalid
lfromvalid = .T.
ENDIF
IF !lfromvalid
THISFORM.pgfpageframe.PAGES[thisForm.nPageList].grdgrid.SETFOCUS()
ENDIF
ENDIF
ENDIF
NODEFAULT
| Name | Initial value |
|---|---|
| ErasePage | .T. |
| Baseclass | Class | Object name |
|---|---|---|
| zzz | zzz | cdataformpagebar.pgfPageFrame.Page1 |
| Name | Initial value |
|---|---|
| BorderStyle | 3 |
| Caption | "Edit Help" |
| DataSession | 1 |
| DoCreate | .T. |
| Baseclass | Class | Object name |
|---|---|---|
| commandbutton | ccommandbutton | cedithelp.cmdCancel |
| cedithelp.cmdOK | ||
| editbox | ceditbox | cedithelp.edtText |
| label | clabel | cedithelp.Clabel1 |
| cedithelp.Clabel2 | ||
| cedithelp.Clabel3 | ||
| cedithelp.Clabel4 | ||
| cedithelp.Clabel5 | ||
| cedithelp.Clabel6 | ||
| textbox | ctextbox | cedithelp.txtBook |
| cedithelp.txtBook2 | ||
| cedithelp.txtChapter | ||
| cedithelp.txtIndex | ||
| cedithelp.txtTitle |
| Name | Initial value |
|---|---|
| Cancel | .T. |
| Caption | "\<Cancel" |
| HelpContextID | 212 |
| TabIndex | 4 |
thisform.uretcode=0
thisform.release
| Name | Initial value |
|---|---|
| Caption | "\<OK" |
| Default | .T. |
| HelpContextID | 211 |
| TabIndex | 3 |
thisform.uretcode=1
thisform.release
| Name | Initial value |
|---|---|
| ControlSource | "m.pcHelptext" |
| HelpContextID | 210 |
| TabIndex | 2 |
| lautosetup | .F. |
| Name | Initial value |
|---|---|
| Alignment | 1 |
| AutoSize | .F. |
| Caption | "\<Book:" |
| TabIndex | 5 |
| Name | Initial value |
|---|---|
| Alignment | 1 |
| AutoSize | .F. |
| Caption | "\<Chapter:" |
| TabIndex | 9 |
| Name | Initial value |
|---|---|
| Alignment | 1 |
| AutoSize | .F. |
| Caption | "\<Index:" |
| TabIndex | 11 |
| Name | Initial value |
|---|---|
| Alignment | 1 |
| AutoSize | .F. |
| Caption | "Te\<xt:" |
| TabIndex | 1 |
| Name | Initial value |
|---|---|
| Alignment | 1 |
| AutoSize | .F. |
| Caption | "\<Title:" |
| TabIndex | 13 |
| Name | Initial value |
|---|---|
| Alignment | 1 |
| AutoSize | .F. |
| Caption | "Book \<2:" |
| TabIndex | 7 |
| Name | Initial value |
|---|---|
| ControlSource | "m.pcBook" |
| HelpContextID | 213 |
| TabIndex | 6 |
| lautosetup | .F. |
| Name | Initial value |
|---|---|
| ControlSource | "m.pcBook2" |
| HelpContextID | 217 |
| TabIndex | 8 |
| lautosetup | .F. |
| Name | Initial value |
|---|---|
| ControlSource | "m.pcChapter" |
| HelpContextID | 214 |
| TabIndex | 10 |
| lautosetup | .F. |
| Name | Initial value |
|---|---|
| ControlSource | "m.pcIndex" |
| HelpContextID | 215 |
| TabIndex | 12 |
| lautosetup | .F. |
| Name | Initial value |
|---|---|
| ControlSource | "m.pcTitle" |
| HelpContextID | 216 |
| TabIndex | 14 |
| lautosetup | .F. |
| Name | Initial value |
|---|---|
| AlwaysOnTop | .T. |
| BorderStyle | 2 |
| Caption | "" |
| Closable | .F. |
| ControlBox | .F. |
| DoCreate | .T. |
| MaxButton | .F. |
| MinButton | .F. |
| Movable | .F. |
LPARAMETERS tnvalue
THIS.ctrgauge.setmaxvalue(tnvalue)
LPARAMETERS tcvalue
THIS.lbltext.CAPTION = ALLTRIM(tcvalue)
LPARAMETERS tcvalue
THIS.ctrgauge.settext(tcvalue)
LPARAMETERS tnvalue
THIS.ctrgauge.setvalue(tnvalue)
LPARAMETERS tnmaxvalue, tctitle
WITH THIS
.langsetup()
.AUTOCENTER = .T.
.ctrgauge.setmaxvalue(tnmaxvalue)
.ctrgauge.settext(tctitle)
.SETALL('FontSize',8 )
.SETALL('FontName','Arial')
.BACKCOLOR = EVAL("rgb("+SUBSTR(RGBSCHEME(1,2),AT(",",RGBSCHEME(1,2),3)+1))
.SETALL('BackColor',.BACKCOLOR)
ENDWITH
| Baseclass | Class | Object name |
|---|---|---|
| control | cgauge | cgaugewin.ctrGauge |
| label | label | cgaugewin.lblText |
| Name | Initial value |
|---|---|
| BackColor | ( eval("RGB("+SUBSTR(RGBSCHEME(15,1),AT(",",RGBSCHEME(15,1),3)+1))) |
| Name | Initial value |
|---|---|
| Alignment | 2 |
| BackStyle | 0 |
| Caption | "" |
| FontBold | .F. |
| FontSize | 8 |
| Name | Initial value |
|---|---|
| Caption | "System Locks" |
| DoCreate | .T. |
| lcanedit | .F. |
| lcaninsert | .F. |
| lmultiinstance | .F. |
| npageedit | 1 |
| npagelist | 2 |
*{ _VFX_BUILDER_CODE
DODEFAULT()
thisForm.cntSpeedBar.Refresh()
*} _VFX_BUILDER_CODE
**__VFX_WIZARD_HEADER - 08/07/96 04:29:32 PM
thisForm.Caption = CAP_FRMSYSTEMLOCKS
thisform.pgfpageframe.page1.Caption = CAP_DATA
thisform.pgfpageframe.page1.lbltable.Caption = CAP_LBLTABLE
thisform.pgfpageframe.page1.lbluser.Caption = CAP_LBLUSER
thisform.pgfpageframe.page1.lbldate.Caption = CAP_LBLDATE
thisform.pgfpageframe.page1.lbltime.Caption = CAP_LBLTIME
thisform.pgfpageframe.page1.lblrecord.Caption = CAP_LBLRECORD
thisform.pgfpageframe.page1.cmddelall.Caption = CAP_CMDDELETEALL
thisform.pgfpageframe.page2.Caption = CAP_LIST
return .T.
**__VFX_WIZARD_FOOTER
***********************************************************
LPARAMETERS tcarg
THIS.lcanedit = .F.
THIS.lcaninsert = .F.
IF VARTYPE(goProgram)="O"
THIS.lcandelete = m.gu_userlevel=1
ELSE
PUBLIC gu_userlevel
gu_userlevel = 1
THIS.lcandelete = .F.
ENDIF
RETURN DODEFAULT(tcarg)
| Baseclass | Class | Object name |
|---|---|---|
| container | cspeedbar | clockdialog.CNTSPEEDBAR |
| zzz | zzz | clockdialog.LBLMSGEMPTY |
| clockdialog.pgfPageFrame |
| Name | Initial value |
|---|---|
| HelpContextID | 229 |
| TabIndex | 3 |
| Name | Initial value |
|---|---|
| TabIndex | 1 |
| Name | Initial value |
|---|---|
| ActivePage | 1 |
| Comment | " |
| ErasePage | .T. |
| PageCount | 2 |
| TabIndex | 2 |
| lusegrid | .T. |
| Baseclass | Class | Object name |
|---|---|---|
| zzz | zzz | clockdialog.pgfPageFrame.Page1 |
| clockdialog.pgfPageFrame.Page2 |
| Name | Initial value |
|---|---|
| Caption | "Data" |
| Name | Initial value |
|---|---|
| Caption | "\<Delete All" |
| HelpContextID | 235 |
| TabIndex | 0 |
DELETE ALL
=TABLEUPDATE(.T.,.T.)
THISFORM.lempty = .T.
THISFORM.REFRESH()
DODEFAULT()
THIS.ENABLED = m.gu_userlevel = 1
| Name | Initial value |
|---|---|
| Caption | "Date" |
| TabIndex | 8 |
| Name | Initial value |
|---|---|
| Caption | "Record" |
| TabIndex | 7 |
| Name | Initial value |
|---|---|
| Caption | "Table" |
| TabIndex | 6 |
| Name | Initial value |
|---|---|
| Caption | "Time" |
| TabIndex | 9 |
| Name | Initial value |
|---|---|
| Caption | "User" |
| TabIndex | 10 |
| Name | Initial value |
|---|---|
| ControlSource | "vfxlock.date" |
| HelpContextID | 232 |
| InputMask | "" |
| ReadOnly | .F. |
| TabIndex | 3 |
| Name | Initial value |
|---|---|
| ControlSource | "vfxlock.record" |
| HelpContextID | 234 |
| InputMask | "9999" |
| ReadOnly | .F. |
| TabIndex | 2 |
| Name | Initial value |
|---|---|
| ControlSource | "vfxlock.record" |
| HelpContextID | 233 |
| InputMask | "" |
| ReadOnly | .F. |
| TabIndex | 4 |
| Name | Initial value |
|---|---|
| ControlSource | "vfxlock.table" |
| HelpContextID | 230 |
| InputMask | "XXXXXXXXXX" |
| ReadOnly | .F. |
| TabIndex | 1 |
| Name | Initial value |
|---|---|
| ControlSource | "vfxlock.user_name" |
| HelpContextID | 231 |
| InputMask | "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" |
| ReadOnly | .F. |
| TabIndex | 5 |
| Name | Initial value |
|---|---|
| Caption | "List" |
| Baseclass | Class | Object name |
|---|---|---|
| grid | cgrid | clockdialog.pgfPageFrame.Page2.grdGrid |
| Name | Initial value |
|---|---|
| ColumnCount | -1 |
| HelpContextID | 236 |
| Panel | 1 |
| ReadOnly | .T. |
| RecordSource | "VFXLOCK" |
| Name | Initial value |
|---|---|
| DoCreate | .T. |
LPARAMETERS tlarg1
THISFORM.cntbuttonbar.REFRESH()
RETURN DODEFAULT(tlarg1)
| Baseclass | Class | Object name |
|---|---|---|
| container | cnavigator | clockdialogbar.cntButtonBar |
| zzz | zzz | clockdialogbar.CNTSPEEDBAR |
| clockdialogbar.lblMsgEmpty | ||
| clockdialogbar.pgfPageFrame |
| Name | Initial value |
|---|---|
| HelpContextID | 132 |
| Name | Initial value |
|---|---|
| ErasePage | .T. |
| Baseclass | Class | Object name |
|---|---|---|
| zzz | zzz | clockdialogbar.pgfPageFrame.Page1 |
| clockdialogbar.pgfPageFrame.Page2 |
| Baseclass | Class | Object name |
|---|---|---|
| zzz | zzz | clockdialogbar.pgfPageFrame.Page2.grdGrid |
| Name | Initial value |
|---|---|
| AlwaysOnTop | .T. |
| AutoCenter | .F. |
| Caption | "Welcome!" |
| Closable | .F. |
| DoCreate | .T. |
| LockScreen | .F. |
| lcascade | .F. |
| lsaveposition | .F. |
| Name | Initial value | Comment |
|---|---|---|
| lloginok | .F. | |
| lusewinusername | .T. | If it's .T. (default) the login name will be taken from the Win 95/ Win NT environment |
LOCAL lcuserid, lcnull, lnlen, lcoperatingsystem
IF VARTYPE(goProgram)="O"
IF !goprogram.lusewinusername
RETURN ''
ENDIF
ENDIF
RETURN getwinuser()
LOCAL louser, lopassword, lcpassword, lccontrol
louser = THISFORM.txtuser
lopassword = THISFORM.txtpassword
THISFORM.lloginok = .F.
IF EMPTY(louser.VALUE)
louser.VALUE = PADR("ADMIN", LEN(louser.VALUE))
ELSE
louser.VALUE = UPPER(ALLTRIM(louser.VALUE))
ENDIF
lcpassword = UPPER(ALLTRIM(lopassword.VALUE))
LOCAL lcexact
lcexact = SET('EXACT')
SET EXACT ON
IF SEEK(louser.VALUE, "vfxusr", "USER")
lccontrol = UPPER(xcrypt(ALLTRIM(vfxusr.PASSWORD)))
IF EMPTY(lccontrol) OR (lcpassword == lccontrol) OR;
(goprogram.lautologin AND (VARTYPE(gu_user) = "U" OR EMPTY(gu_user)))
THISFORM.lloginok = .T.
lnmaxfield = FCOUNT()
FOR lnindex = 1 TO lnmaxfield
lcfield = FIELD(lnindex)
lcpublicname = "gu_" + lcfield
PUBLIC (lcpublicname)
&lcpublicname = EVALUATE(lcfield)
IF LOWER(lcpublicname)=="gu_lastfile"
gu_lastfile=gu_lastfile+4
ENDIF
NEXT
ENDIF
ENDIF
SET EXACT &lcexact
goprogram.lloginfirst=THISFORM.lloginok
RETURN THISFORM.lloginok
LPARAMETERS tcarg
LOCAL lcwinusername
THIS.BORDERSTYLE = 2
lcwinusername = ALLTRIM(THIS.getusername())
IF LEN(lcwinusername) > 32
lcwinusername = LEFT(lcwinusername,32)
ENDIF
THIS.AUTOCENTER = .T.
THIS.lsaveposition = .F.
IF !EMPTY(lcwinusername) AND THISFORM.lusewinusername
THIS.txtuser.VALUE = lcwinusername
IF goprogram.lautologin AND (VARTYPE(gu_user) = "U" .OR. EMPTY(gu_user))
LOCATE FOR UPPER(ALLTRIM(USER)) == UPPER(lcwinusername)
ENDIF
LOCATE FOR UPPER(ALLTRIM(USER)) == "ADMIN"
IF EMPTY(vfxusr.PASSWORD) AND ALLTRIM(UPPER(vfxusr.USER)) == "ADMIN"
LOCAL lcexact
lcexact = SET('exact')
SET EXACT ON
LOCATE FOR UPPER(ALLTRIM(USER)) == UPPER(lcwinusername)
IF !FOUND()
INSERT INTO vfxusr (USER,userlevel) ;
VALUES (lcwinusername,1)
=TABLEUPDATE(.T.,.T.,"vfxusr")
ENDIF
SET EXACT &lcexact
ENDIF
LOCATE
ENDIF
goprogram.lloginfirst=.F.
IF goprogram.lautologin
IF THIS.loginok()
RETURN .F.
ELSE
goprogram.lautologin=.F.
ENDIF
ENDIF
RETURN DODEFAULT(tcarg)
DODEFAULT()
RETURN THIS.lloginok
**__VFX_WIZARD_HEADER - 08/07/96 04:29:53 PM
thisForm.Caption = CAP_FRMWELCOME
thisform.lblentername.Caption = CAP_LBLENTERYOURNAMEANDPASSWORD
thisform.lbluser.Caption = CAP_LBLUSERNAME
thisform.lblpassword.Caption = CAP_LBLPASSWORD
thisform.cmdok.Caption = CAP_CMDOK
thisform.cmdclose.Caption = CAP_CMDCANCEL
return .T.
**__VFX_WIZARD_FOOTER
***********************************************************
| Baseclass | Class | Object name |
|---|---|---|
| commandbutton | ccommandbutton | clogindialog.cmdClose |
| clogindialog.cmdOk | ||
| image | image | clogindialog.Image1 |
| label | label | clogindialog.lblEnterName |
| clogindialog.lblPassword | ||
| clogindialog.lblUser | ||
| textbox | textbox | clogindialog.txtPassword |
| clogindialog.txtUser |
| Name | Initial value |
|---|---|
| Caption | "\<Cancel" |
| HelpContextID | 250 |
IF VARTYPE(goProgram)="O" AND !goprogram.luserlogged
CLEAR EVENTS
ENDIF
THISFORM.lloginok = .F.
THISFORM.RELEASE()
| Name | Initial value |
|---|---|
| Caption | "\<OK" |
| Default | .T. |
| HelpContextID | 249 |
IF !THISFORM.loginok()
IF MESSAGEBOX(msg_login_error,4+48, msg_attention)=idyes
THISFORM.txtuser.SETFOCUS()
THISFORM.DRAW()
ELSE
THISFORM.RELEASE()
ENDIF
ELSE
THISFORM.RELEASE()
ENDIF
| Name | Initial value |
|---|---|
| BackStyle | 0 |
| HelpContextID | 246 |
| Picture | ..\bitmap\key.bmp |
| Stretch | 0 |
| Name | Initial value |
|---|---|
| AutoSize | .T. |
| BackStyle | 0 |
| Caption | "Enter your Name and Password" |
| Name | Initial value |
|---|---|
| AutoSize | .T. |
| BackStyle | 0 |
| Caption | "Password:" |
| Name | Initial value |
|---|---|
| AutoSize | .T. |
| BackStyle | 0 |
| Caption | "User name:" |
| Name | Initial value |
|---|---|
| HelpContextID | 248 |
| InputMask | "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" |
| PasswordChar | "*" |
| TabIndex | 4 |
| Name | Initial value |
|---|---|
| Format | "!K" |
| HelpContextID | 247 |
| InputMask | "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" |
| TabIndex | 2 |
| Value | (SPACE(LEN(VFXUSR.USER))) |
| Name | Initial value |
|---|---|
| BorderStyle | 3 |
| Caption | "CMemoField" |
| DataSession | 1 |
| DoCreate | .T. |
| MaxButton | .T. |
| MinButton | .T. |
**__VFX_WIZARD_HEADER - 08/07/96 04:30:31 PM
thisform.cmdclose.Caption = CAP_CMDCLOSE
return .T.
**__VFX_WIZARD_FOOTER
***********************************************************
LPARAMETERS tcmemofield, tctitle, tlreadonly
IF TYPE("tcMemoField") # "C"
RETURN .F.
ENDIF
IF !EMPTY(tctitle)
THIS.CAPTION = tctitle
ENDIF
DODEFAULT(.F.)
THIS.BORDERSTYLE = 3
THIS.edtmemofield.CONTROLSOURCE = tcmemofield
THIS.edtmemofield.READONLY = tlreadonly
DODEFAULT()
THIS.edtmemofield.REFRESH()
THIS.edtmemofield.SETFOCUS()
| Baseclass | Class | Object name |
|---|---|---|
| commandbutton | ccommandbutton | cmemoform.cmdClose |
| editbox | ceditbox | cmemoform.edtMemoField |
| Name | Initial value |
|---|---|
| Caption | "\<Close" |
| HelpContextID | 149 |
| TabIndex | 2 |
THISFORM.RELEASE()
| Name | Initial value |
|---|---|
| HelpContextID | 148 |
| TabIndex | 1 |
| lautosetup | .F. |
| Name | Initial value |
|---|---|
| Caption | "CModalForm" |
| Closable | .F. |
| DoCreate | .T. |
| MaxButton | .F. |
| MinButton | .F. |
| WindowType | 1 |
| _vfxclassname | CModalForm |
| lautoresizecontrol | .F. |
| Name | Initial value | Comment |
|---|---|---|
| uretcode | .f. | The value to be returned to the program. |
RETURN THISFORM.uretcode
| Name | Initial value |
|---|---|
| Caption | "Available Functions" |
| DoCreate | .T. |
| Name | Initial value | Comment |
|---|---|---|
| ^afunctions[1,1] | .f. | |
| oform | .NULL. | The parent form |
LPARAMETERS tnindex
LOCAL lccommandtype, lccommand, lcparameter, ;
lusechildform, lcformname, lochildform
lccommandtype = UPPER(THISFORM.afunctions[tnIndex,3])
lccommand = UPPER(THISFORM.afunctions[tnIndex,4])
lcparameter = THISFORM.afunctions[tnIndex,5]
lcformname = "frm"+STRTRAN(lccommand,"frm","")
IF !ISNULL(THIS.oform) AND lccommandtype = "F"
lusechildform = THIS.oform.lusechildform
IF lusechildform
lochildform = THIS.oform.oformlist.getchild(lcformname)
IF !ISNULL(lochildform)
THIS.oform.oformlist.setfocusto(lcformname)
RETURN .T.
ENDIF
ENDIF
ENDIF
DO CASE
CASE lccommandtype = "F"
IF TYPE("goProgram")="O"
goprogram.runform(lccommand,lcparameter)
ELSE
DO FORM (lccommand) WITH lcparameter
ENDIF
CASE lccommandtype = "W"
WAIT WINDOW (lccommand)
CASE lccommandtype = "M"
LOCAL lcmethodname
lcmethodname = "this.oform." + lccommand
&lcmethodname
ENDCASE
IF lusechildform
THISFORM.oform.oformlist.addchild(goprogram.olastformcreated,lcformname)
ENDIF
LPARAMETERS tafunc, tnindex, toform
LOCAL j
IF PARAMETERS() = 2
IF VARTYPE(tnIndex)="O"
THISFORM.oform = tnindex
ENDIF
ELSE
IF VARTYPE(toForm)="O"
THISFORM.oform = toform
ENDIF
ENDIF
=ACOPY(tafunc, THISFORM.afunctions)
IF VARTYPE(tnIndex)="N" AND tnindex > 0
THISFORM.runform(tnindex)
RETURN .F.
ENDIF
THIS.AUTOCENTER = .T.
DODEFAULT(.F.)
WITH THISFORM.lstfunct
.ROWSOURCETYPE = 5
.ROWSOURCE = 'thisForm.aFunctions'
.BOUNDCOLUMN = 1
.REQUERY()
.LISTINDEX = 1
.INTERACTIVECHANGE()
ENDWITH
**__VFX_WIZARD_HEADER - 08/07/96 04:30:15 PM
thisForm.Caption = CAP_FRMAVAILABLEFUNCTIONS
thisform.cmdopen.Caption = CAP_CMDOPEN
thisform.cmdclose.Caption = CAP_CMDCLOSE
return .T.
**__VFX_WIZARD_FOOTER
***********************************************************
| Baseclass | Class | Object name |
|---|---|---|
| commandbutton | commandbutton | cmoredialog.cmdClose |
| cmoredialog.cmdClose | ||
| cmoredialog.cmdOpen | ||
| cmoredialog.cmdOpen | ||
| listbox | listbox | cmoredialog.lstFunct |
| cmoredialog.lstFunct | ||
| textbox | textbox | cmoredialog.txtDesc |
| cmoredialog.txtDesc |
| Name | Initial value |
|---|---|
| Caption | "\<Cancel" |
| Default | .T. |
| FontSize | 8 |
| HelpContextID | 122 |
thisForm.Release()
| Name | Initial value |
|---|---|
| Caption | "\<Cancel" |
| Default | .T. |
| FontSize | 8 |
| HelpContextID | 122 |
thisForm.Release()
| Name | Initial value |
|---|---|
| Caption | "\<Open" |
| FontSize | 8 |
| HelpContextID | 121 |
| Picture | ..\bitmap\open.bmp |
local lnIndex, lcCommandType, lcCommand, lcParameter
lnIndex = thisForm.lstFunct.ListIndex
lcCommandType = thisForm.aFCall[lnIndex,3]
lcCommand = thisForm.aFCall[lnIndex,4]
lcParameter = thisForm.aFCall[lnIndex,5]
thisForm.Hide()
thisForm.Release()
DO CASE
CASE lcCommandType = "F"
if type("oProgram")='O'
oProgram.RunForm(lcCommand, lcParameter)
else
IF EMPTY(lcParameter)
do form (lcCommand)
ELSE
do form (lcCommand) WITH lcParameter
ENDIF
endif
CASE lcCommandType = "W"
WAIT WINDOW (lcCommand)
OTHERWISE
WAIT WINDOW "Feature not yet available: click event in fcall"
ENDCASE
| Name | Initial value |
|---|---|
| Caption | "\<Open" |
| FontSize | 8 |
| HelpContextID | 121 |
| Picture | ..\bitmap\open.bmp |
local lnIndex, lcCommandType, lcCommand, lcParameter
lnIndex = thisForm.lstFunct.ListIndex
lcCommandType = thisForm.aFCall[lnIndex,3]
lcCommand = thisForm.aFCall[lnIndex,4]
lcParameter = thisForm.aFCall[lnIndex,5]
thisForm.Hide()
thisForm.Release()
DO CASE
CASE lcCommandType = "F"
if type("oProgram")='O'
oProgram.RunForm(lcCommand, lcParameter)
else
IF EMPTY(lcParameter)
do form (lcCommand)
ELSE
do form (lcCommand) WITH lcParameter
ENDIF
endif
CASE lcCommandType = "W"
WAIT WINDOW (lcCommand)
OTHERWISE
WAIT WINDOW "Feature not yet available: click event in fcall"
ENDCASE
| Name | Initial value |
|---|---|
| FontSize | 8 |
| HelpContextID | 120 |
thisForm.cmdOpen.Click()
thisForm.txtDesc.Value = thisForm.aFCall[this.ListIndex,2]
thisForm.txtDesc.Refresh()
thisForm.txtDesc.Value = thisForm.aFCall[this.ListIndex,2]
thisForm.txtDesc.Refresh()
| Name | Initial value |
|---|---|
| FontSize | 8 |
| HelpContextID | 120 |
thisForm.cmdOpen.Click()
thisForm.txtDesc.Value = thisForm.aFCall[this.ListIndex,2]
thisForm.txtDesc.Refresh()
thisForm.txtDesc.Value = thisForm.aFCall[this.ListIndex,2]
thisForm.txtDesc.Refresh()
| Name | Initial value |
|---|---|
| BackColor | 192,192,192 |
| DisabledBackColor | 192,192,192 |
| DisabledForeColor | 0,0,0 |
| Enabled | .F. |
| FontBold | .F. |
| FontName | "Arial" |
| FontSize | 8 |
| HelpContextID | 119 |
| Name | Initial value |
|---|---|
| BackColor | 192,192,192 |
| DisabledBackColor | 192,192,192 |
| DisabledForeColor | 0,0,0 |
| Enabled | .F. |
| FontBold | .F. |
| FontName | "Arial" |
| FontSize | 8 |
| HelpContextID | 119 |
| Name | Initial value |
|---|---|
| Caption | "CMoverDlg" |
| DoCreate | .T. |
LPARAMETER tasource, tccaption, taselected
DODEFAULT()
IF pcount() # 0
THISFORM.CAPTION = tccaption
IF !EMPTY(taselected)
THIS.cntmover.SETDATA(@tasource,@taselected)
ELSE
THIS.cntmover.SETDATA(@tasource)
ENDIF
ENDIF
IF VARTYPE(_gaMoverList) = "U"
PUBLIC _gamoverlist[1]
_gamoverlist = ''
ENDIF
**__VFX_WIZARD_HEADER - 08/07/96 04:31:27 PM
thisform.cntmover.lblsource.Caption = CAP_LBLAVAILABLE
thisform.cntmover.lblselected.Caption = CAP_LBLSELECTED
thisform.cmdok.Caption = CAP_CMDOK
thisform.cmdclose.Caption = CAP_CMDCANCEL
return .T.
**__VFX_WIZARD_FOOTER
***********************************************************
| Baseclass | Class | Object name |
|---|---|---|
| commandbutton | ccommandbutton | cmoverdialog.cmdClose |
| cmoverdialog.cmdOK | ||
| container | cmover | cmoverdialog.cntMover |
| Name | Initial value |
|---|---|
| Cancel | .T. |
| Caption | "\<Cancel" |
| HelpContextID | 135 |
| TabIndex | 9 |
| ZOrderSet | 9 |
IF VARTYPE(_gaMoverList) = "U"
PUBLIC _gamoverlist[1]
ENDIF
_gamoverlist = '[CANCEL]'
THISFORM.RELEASE()
| Name | Initial value |
|---|---|
| Caption | "\<OK" |
| Default | .T. |
| HelpContextID | 134 |
| TabIndex | 8 |
| ZOrderSet | 8 |
LOCAL laselected[1,1]
IF VARTYPE(_gaMoverList) = "U"
PUBLIC _gamoverlist[1]
_gamoverlist = ''
ENDIF
IF THISFORM.cntmover.GETDATA(@laselected)
ACOPY(laselected,_gamoverlist)
ENDIF
THISFORM.RELEASE()
| Name | Initial value |
|---|---|
| HelpContextID | 133 |
| TabIndex | 1 |
| Name | Initial value |
|---|---|
| Caption | "Selected" |
| Name | Initial value |
|---|---|
| Caption | "Available" |
| Name | Initial value |
|---|---|
| Sorted | .T. |
| Name | Initial value |
|---|---|
| Caption | "CMoverDlg2" |
| DoCreate | .T. |
LPARAMETER tasource, tccaption, taselected
DODEFAULT()
IF pcount() # 0
THISFORM.CAPTION = tccaption
IF !EMPTY(taselected)
THIS.cntmover.SETDATA(@tasource,@taselected)
ELSE
THIS.cntmover.SETDATA(@tasource)
ENDIF
ENDIF
IF VARTYPE(_gaMoverList) = "U"
PUBLIC _gamoverlist[1]
_gamoverlist = ''
ENDIF
**__VFX_WIZARD_HEADER - 08/07/96 04:31:27 PM
thisform.cntmover.lblsource.Caption = CAP_LBLAVAILABLE
thisform.cntmover.lblselected.Caption = CAP_LBLSELECTED
thisform.cmdok.Caption = CAP_CMDOK
thisform.cmdclose.Caption = CAP_CMDCANCEL
return .T.
**__VFX_WIZARD_FOOTER
***********************************************************
| Baseclass | Class | Object name |
|---|---|---|
| commandbutton | ccommandbutton | cmoverdialog2.cmdClose |
| cmoverdialog2.cmdOK | ||
| container | cmover2 | cmoverdialog2.cntMover |
| Name | Initial value |
|---|---|
| Cancel | .T. |
| Caption | "\<Cancel" |
| HelpContextID | 138 |
| TabIndex | 9 |
| ZOrderSet | 9 |
IF VARTYPE(_gaMoverList) = "U"
PUBLIC _gamoverlist[1]
ENDIF
_gamoverlist = '[CANCEL]'
THISFORM.RELEASE()
| Name | Initial value |
|---|---|
| Caption | "\<OK" |
| Default | .T. |
| HelpContextID | 137 |
| TabIndex | 8 |
| ZOrderSet | 8 |
LOCAL laselected[1,1]
IF VARTYPE(_gaMoverList) = "U"
PUBLIC _gamoverlist[1]
_gamoverlist = ''
ENDIF
IF THISFORM.cntmover.GETDATA(@laselected)
=ACOPY(laselected,_gamoverlist)
ENDIF
THISFORM.RELEASE()
| Name | Initial value |
|---|---|
| HelpContextID | 136 |
| TabIndex | 1 |
| Name | Initial value |
|---|---|
| Caption | "Selected" |
| Name | Initial value |
|---|---|
| Caption | "Available" |
| Name | Initial value |
|---|---|
| Sorted | .T. |
| Name | Initial value |
|---|---|
| Caption | "COneToMany" |
| DoCreate | .T. |
| KeyPreview | .T. |
| _vfxclassname | COneToMany |
| Name | Initial value | Comment |
|---|---|---|
| ochildgrid | .NULL. | current active grid control (child) |
LOCAL lok, lcoldtitle
lok = .T.
WITH THIS
.dispbegin()
lcoldtitle = .CAPTION
IF .nformstatus = 0
.CAPTION = .coldtitle
lok = .onedit()
ENDIF
IF lok
.ochildgrid.SETFOCUS()
.ochildgrid.ondelete()
IF !.lworkonview
** this setfocus caused problems when working with views
** since the delete has not been reconized by the onsave event
** very strange, however this is the only sure way to prevent
** you from leaving uncommited changes in the buffer. NOTE that this
** problem only exists when the user does not move focus off the grid
** after deletion
.ochildgrid.SETFOCUS()
ENDIF
ELSE
.CAPTION = lcoldtitle
ENDIF
.dispend()
ENDWITH
LOCAL lok, lcoldtitle
lok = .T.
THISFORM.dispbegin()
IF THISFORM.nformstatus = 0
THISFORM.CAPTION = THISFORM.coldtitle
lok = THISFORM.onedit()
ENDIF
IF lok
THISFORM.ochildgrid.setfocustocurrentcontrol()
IF THISFORM.ochildgrid.oninsert()
THISFORM.ochildgrid.REFRESH()
THISFORM.ochildgrid.SETFOCUS()
THISFORM.ochildgrid.ACTIVATECELL(THISFORM.ochildgrid.RELATIVEROW,1)
ENDIF
ELSE
THISFORM.CAPTION = lcoldtitle
ENDIF
THISFORM.dispend()
LOCAL j, logrid
THISFORM.pgfchildgrid.TOP = THISFORM.pgfpageframe.HEIGHT+THISFORM.pgfpageframe.TOP+4
THISFORM.pgfchildgrid.LEFT = THISFORM.pgfpageframe.LEFT
THISFORM.pgfchildgrid.WIDTH = THISFORM.pgfpageframe.WIDTH
IF TYPE("thisForm.oResizeControl")="O"
WITH THISFORM.pgfchildgrid
FOR j = 1 TO .PAGECOUNT
logrid = .PAGES[j].grdgrid
THISFORM.oresizecontrol.resizecontrol(logrid)
NEXT
ENDWITH
ENDIF
dodefault()
**__VFX_WIZARD_HEADER - 24.05.99 00:39:10
thisform.cmdgriddelete.tooltiptext=TTT_CMDGRIDDELETE
thisform.cmdgridinsert.tooltiptext=TTT_CMDGRIDINSERT
return .T.
**__VFX_WIZARD_FOOTER
***********************************************************
DODEFAULT()
LOCAL lopage
* Find the active page in the pageframe:
WITH THISFORM.pgfchildgrid
FOR EACH opage IN .PAGES
IF opage.PAGEORDER = .ACTIVEPAGE
lopage = opage
EXIT
ENDIF
ENDFOR
ENDWITH
IF TYPE("loPage.grdGrid") = "O"
THISFORM.ochildgrid = lopage.grdgrid
ELSE
THISFORM.ochildgrid = THISFORM.pgfchildgrid.page1.grdgrid
ENDIF
IF !ISNULL(THISFORM.ochildgrid)
IF THISFORM.ochildgrid.lcanupdate
THISFORM.ochildgrid.lcanupdate = THISFORM.lcanedit
ENDIF
ENDIF
DODEFAULT()
LOCAL lopageframe, j
lopageframe = THISFORM.pgfchildgrid
LOCAL lcerror
lcerror = ON('ERROR')
_vfx_error = .F.
ON ERROR _vfx_error = .T.
FOR j = 1 TO lopageframe.PAGECOUNT
FOR k = 1 TO lopageframe.PAGES[j].CONTROLCOUNT
IF LOWER(lopageframe.PAGES[j].CONTROLS[k].BASECLASS) = 'grid'
IF pemstatus(lopageframe.PAGES[j].CONTROLS[k],"OnLoadPosition",5)
lopageframe.PAGES[j].CONTROLS[k].onloadposition()
ENDIF
ENDIF
NEXT
NEXT
ON ERROR &lcerror
RELEASE _vfx_error
IF VARTYPE(goProgram)="O" AND goprogram.ldebugmode
SET ESCAPE ON
ON SHUTDOWN
ON ERROR
ENDIF
THISFORM.ochildgrid = .NULL.
RETURN DODEFAULT()
LPARAMETERS tlnotrefresh
IF THISFORM.lusehook
LOCAL luhookvalue
luhookvalue = THISFORM.oneventhook("OnUndo",THIS,THISFORM)
DO CASE
CASE VARTYPE(luhookvalue)="L"
IF !luhookvalue
RETURN .T.
ENDIF
CASE VARTYPE(luhookvalue)="N"
RETURN luhookvalue=0
ENDCASE
ENDIF
THIS.lcanedit = THIS.lactcanedit
SELECT (THISFORM.cworkalias)
IF THISFORM.npagelist >0
THIS.pgfpageframe.PAGES[thisForm.nPageList].ENABLED = .T.
THIS.pgfpageframe.PAGES[thisForm.nPageList].grdgrid.ENABLED = .T.
ENDIF
IF VARTYPE(goprogram)="O"
IF !goprogram.lnoclearidxonedit
goprogram.clearallidx()
ENDIF
ELSE
THIS.clearidx()
ENDIF
DO WHILE TXNLEVEL() > 0
ROLLBACK
ENDDO
LOCAL latable[1], j
=AUSED(latable)
FOR j = 1 TO ALEN(latable,1)
SELECT(latable[j,1])
DO CASE
CASE CURSORGETPROP('Buffering',latable[j,1]) = 5
IF GETNEXTMODIFIED(0,latable[j,1]) != 0
=TABLEREVERT(.T.,latable[j,1])
LOCATE
ENDIF
CASE CURSORGETPROP('Buffering',latable[j,1]) = 1
*!* nothing can be done...
OTHERWISE
IF RECNO(latable[j,1]) != 0
IF !EMPTY(STRTRAN(GETFLDSTATE(-1),"1",""))
= TABLEREVERT(.T.,latable[j,1])
LOCATE
ENDIF
ENDIF
ENDCASE
NEXT
SELECT (THISFORM.cworkalias)
IF THIS.npagelist >0
THIS.dispbegin()
THIS.noldpage = THIS.pgfpageframe.ACTIVEPAGE
THIS.pgfpageframe.ACTIVEPAGE = THIS.npagelist
THIS.pgfpageframe.PAGES[thisForm.nPageList].grdgrid.column1.text1.SETFOCUS()
THIS.pgfpageframe.ACTIVEPAGE = THIS.noldpage
THIS.dispend()
ENDIF
IF THIS.noldrecno > 0 AND THIS.noldrecno <= RECCOUNT()
GO THIS.noldrecno
ELSE
THISFORM.orecord.gotop()
ENDIF
THIS.noldrecno = IIF(EOF() OR DELETED(), 0, RECNO())
IF EOF() OR DELETED()
THIS.lempty = .T.
ENDIF
THISFORM.onrecordmove()
IF !tlnotrefresh
THISFORM.CAPTION = THISFORM.coldtitle
THIS.nformstatus = id_normal_mode
IF !ISNULL(THISFORM.ochildgrid)
THISFORM.ochildgrid.setfocustocurrentcontrol()
ENDIF
THIS.REFRESH()
ENDIF
UNLOCK ALL
THIS.refreshtoolbar(.T.)
THIS.onformstatuschange()
LPARAMETERS tlnotrefresh, tlalltable, tlfromchild
LOCAL laerror[7], lviewmessage, lsaved, lvalid, lcansave
THIS.onwritebuffer()
IF THISFORM.lusehook
LOCAL luhookvalue
luhookvalue = THISFORM.oneventhook("OnSave",THIS,THISFORM)
DO CASE
CASE VARTYPE(luhookvalue)="L"
IF !luhookvalue
RETURN .T.
ENDIF
CASE VARTYPE(luhookvalue)="N"
RETURN luhookvalue=0
ENDCASE
ENDIF
SELECT (THISFORM.cworkalias)
IF !EMPTY(tlfromchild)
tlalltable = .F.
ELSE
tlalltable = .T.
ENDIF
lsaved = .F.
lvalid = .F.
lcansave = .T.
IF THISFORM.nformstatus = id_edit_mode
lcansave = THISFORM.onpostedit()
ENDIF
THIS.lcanedit = THIS.lactcanedit
lvalid = THISFORM.VALID()
IF lcansave AND lvalid
SELECT (THISFORM.cworkalias)
IF VARTYPE(goProgram)="O"
goprogram.clearallidx()
ELSE
THIS.clearidx()
ENDIF
LOCAL lcerror
lcerror = ON('error')
_vfx_error_0 = .F.
ON ERROR _vfx_error_0 = .T.
IF VARTYPE(goProgram)="O" AND goprogram.ldebugmode
SET ESCAPE ON
ON SHUTDOWN
ON ERROR
ENDIF
SELECT (THISFORM.cworkalias)
BEGIN TRANSACTION
IF THIS.onsavechilddata()
lsaved = THIS.orecord.SAVE(tlalltable)
ELSE
lsaved = .F.
ENDIF
IF lsaved
END TRANSACTION
ELSE
ROLLBACK
ENDIF
IF _vfx_error_0
lsaved = .F.
IF TXNLEVEL() != 0
ROLLBACK
ENDIF
ENDIF
ON ERROR &lcerror
_vfx_error_0 = .F.
RELEASE _vfx_error_0
ENDIF
IF !lsaved
lviewmessage = .T.
laerror[1] = 0
=AERROR(laerror)
IF laerror[1] != 0
lviewmessage = !THIS.errorhandler(laerror[1])
ENDIF
IF lviewmessage AND lvalid
= MESSAGEBOX(msg_not_saved,mb_iconinformation,msg_attention)
ENDIF
ELSE
IF THISFORM.npagelist >0
THIS.pgfpageframe.PAGES[thisForm.nPageList].ENABLED = .T.
**
THIS.pgfpageframe.PAGES[thisForm.nPageList].grdgrid.ENABLED = .T.
ENDIF
IF tlalltable
THISFORM.CAPTION = THISFORM.coldtitle
THIS.nformstatus = id_normal_mode
THIS.lempty = .F.
ENDIF
SELECT (THISFORM.cworkalias)
IF !EOF()
GO RECNO()
ELSE
THISFORM.orecord.gotop()
ENDIF
THIS.refreshtoolbar(.T.)
THIS.onformstatuschange()
THIS.onpostsave()
IF !tlnotrefresh
THIS.REFRESH()
ENDIF
UNLOCK ALL
*!* Inserted from cdataform.onsave for the use with pickfields.
IF TYPE("thisForm.oPickField")="O" AND !ISNULL(THISFORM.opickfield)
** Pick the selected value
LOCAL lcretval, lopickfield
lopickfield = THISFORM.opickfield
IF TYPE("loPickField._VFXClassName")="C" AND ;
lopickfield._vfxclassname = "CLookUp"
lopickfield.lupdated = .T.
lopickfield.VALID(EVAL(lopickfield.csearchexpr))
lopickfield.writebuffer()
THISFORM.RELEASE()
RETURN lsaved
ENDIF
lopickfield.ldovalid = .T.
lcretval = EVALUATE(lopickfield.creturnexpr) + ";"
IF UPPER(lopickfield.BASECLASS) = "CONTAINER"
IF EMPTY(lopickfield.creturnexprdesc)
lcretval = lcretval + ";"
ELSE
lcretval = lcretval + EVALUATE(lopickfield.creturnexprdesc) + ";"
ENDIF
ELSE
lcretval = lcretval + ";"
ENDIF
IF EMPTY(lopickfield.creturnmoreexpr)
lcretval = lcretval
ELSE
lcretval = lcretval + EVALUATE(lopickfield.creturnmoreexpr)
ENDIF
IF !EMPTY(lcretval)
LOCAL lcfieldvalue, lcreturnexprdesc, lcreturnmoreexprval
LOCAL lorec
SCATTER MEMO NAME lorec
lopickfield.opickrec = lorec
RELEASE lorec
lopickfield.ldovalid = .T.
lcfieldvalue = getarg(lcretval, 1)
lcreturnexprdesc = getarg(lcretval, 2)
lcreturnmoreexprval = getarg(lcretval, 3)
IF UPPER(lopickfield.BASECLASS)=="CONTAINER"
lopickfield.txtfield.VALUE = lcfieldvalue
IF lopickfield.luserrefresh
lopickfield.REFRESH()
ELSE
lopickfield.txtfield.REFRESH()
IF EMPTY(lcreturnexprdesc)
lopickfield.txtdesc.VALUE = ""
ELSE
lopickfield.txtdesc.VALUE = lcreturnexprdesc
ENDIF
ENDIF
ELSE
lopickfield.VALUE = lcfieldvalue
lopickfield.REFRESH()
ENDIF
IF EMPTY(lcreturnmoreexprval)
lopickfield.creturnmoreexprval = ""
ELSE
lopickfield.creturnmoreexprval = lcreturnmoreexprval
ENDIF
ENDIF
lopickfield.onpostquery()
lopickfield.onpick()
* If inserted because luserrefresh is not available for cpicktextbox
IF TYPE("loPickField._VFXClassName")="C" AND ;
LOWER(lopickfield._vfxclassname) == "cpickfield"
IF lopickfield.luserrefresh
lopickfield.onrefresh()
ENDIF
ENDIF
THISFORM.RELEASE()
ENDIF
ENDIF
RETURN lsaved
LOCAL lok
IF THISFORM.lusehook
LOCAL luhookvalue
luhookvalue = THISFORM.oneventhook("OnDelete",THIS,THISFORM)
DO CASE
CASE VARTYPE(luhookvalue)="L"
IF !luhookvalue
RETURN .T.
ENDIF
CASE VARTYPE(luhookvalue)="N"
RETURN luhookvalue=0
ENDCASE
ENDIF
SELECT (THISFORM.cworkalias)
IF !THIS.lcandelete
WAIT WINDOW msg_cant_delete
RETURN .F.
ENDIF
IF !THIS.lempty
IF VARTYPE(goProgram)="O"
goprogram.clearallidx()
ELSE
THIS.clearidx()
ENDIF
BEGIN TRANSACTION
lok = DODEFAULT()
IF lok
END TRANSACTION
ELSE
ROLLBACK
ENDIF
THISFORM.onrecordmove()
ENDIF
RETURN lok
LPARAMETERS nkeycode, nshiftaltctrl
IF THISFORM.nformstatus # 0
IF nshiftaltctrl = 2 && Control Key
IF THISFORM.lcanedit
IF THISFORM.ochildgrid.lediting AND THISFORM.ochildgrid.lcanupdate
IF nkeycode = 146 && ^INS
THISFORM.onwritebuffer()
THISFORM.cmdgridinsert.CLICK()
NODEFAULT
RETURN .T.
ENDIF
IF nkeycode = 147 && ^CANC
THISFORM.cmdgriddelete.CLICK()
THISFORM.ochildgrid.SETFOCUS()
NODEFAULT
RETURN .T.
ENDIF
ENDIF
ENDIF
ENDIF
ENDIF
RETURN DODEFAULT(nkeycode, nshiftaltctrl)
LPARAMETERS tcarg
THISFORM.ochildgrid = THISFORM.pgfchildgrid.page1.grdgrid
RETURN DODEFAULT(tcarg)
DODEFAULT()
LOCAL lopageframe, j
lopageframe = THISFORM.pgfchildgrid
LOCAL lcerror
lcerror = ON('ERROR')
_vfx_error = .F.
ON ERROR _vfx_error = .T.
FOR j = 1 TO lopageframe.PAGECOUNT
FOR k = 1 TO lopageframe.PAGES[j].CONTROLCOUNT
IF LOWER(lopageframe.PAGES[j].CONTROLS[k].BASECLASS) = 'grid'
IF pemstatus(lopageframe.PAGES[j].CONTROLS[k],"OnSavePosition",5)
lopageframe.PAGES[j].CONTROLS[k].onsaveposition()
ENDIF
ENDIF
NEXT
NEXT
ON ERROR &lcerror
RELEASE _vfx_error
IF VARTYPE(goProgram)="O" AND goprogram.ldebugmode
SET ESCAPE ON
ON SHUTDOWN
ON ERROR
ENDIF
IF DODEFAULT()
IF !THISFORM.lautoedit
*!* If auto-edit the active cell in the grid lost focus
THISFORM.pgfchildgrid.REFRESH()
ENDIF
THISFORM.cmdgridinsert.REFRESH()
THISFORM.cmdgriddelete.REFRESH()
RETURN .T.
ELSE
RETURN .F.
ENDIF
RETURN THISFORM.nformstatus <> 0
IF THISFORM.lhidewhenempty
DODEFAULT()
THISFORM.pgfpageframe.VISIBLE = !THISFORM.lempty
THISFORM.pgfchildgrid.VISIBLE = !THISFORM.lempty
THISFORM.cmdgridinsert.VISIBLE = !THISFORM.lempty
THISFORM.cmdgriddelete.VISIBLE = !THISFORM.lempty
ENDIF
THISFORM.dispbegin()
DODEFAULT()
THISFORM.pgfchildgrid.TOP = THISFORM.pgfpageframe.TOP + ;
THISFORM.pgfpageframe.HEIGHT + 2
THISFORM.cmdgridinsert.TOP = THISFORM.pgfchildgrid.TOP + ;
THISFORM.pgfchildgrid.HEIGHT + 2
THISFORM.cmdgriddelete.TOP = THISFORM.pgfchildgrid.TOP + ;
THISFORM.pgfchildgrid.HEIGHT + 2
WITH THISFORM.pgfchildgrid
FOR EACH lopage IN .PAGES
FOR j = 1 TO lopage.CONTROLCOUNT
IF TYPE("loPage.Controls[j]._VFXClassName")="C" AND ;
UPPER(lopage.CONTROLS[j]._vfxclassname)="CCHILDGRID"
lopage.CONTROLS[j].MOVE(0,0,THISFORM.pgfchildgrid.PAGEWIDTH,THISFORM.pgfchildgrid.PAGEHEIGHT)
lopage.CONTROLS[j].REFRESH()
EXIT
ENDIF
NEXT
ENDFOR
ENDWITH
THISFORM.dispend()
| Baseclass | Class | Object name |
|---|---|---|
| commandbutton | ccommandbutton | conetomany.cmdGridDelete |
| conetomany.cmdGridInsert | ||
| pageframe | cpageframe | conetomany.pgfChildGrid |
| zzz | zzz | conetomany.lblMsgEmpty |
| conetomany.pgfPageFrame |
| Name | Initial value |
|---|---|
| Caption | "" |
| FontBold | .T. |
| HelpContextID | 201 |
| Picture | ..\bitmap\toolbar\delete.bmp |
| TabIndex | 4 |
| ToolTipText | "^Canc" |
| ZOrderSet | 4 |
THISFORM.ondeletechilddata()
DODEFAULT()
THIS.ENABLED = THISFORM.lcanedit
IF ISNULL(THISFORM.ochildgrid)
THIS.ENABLED = .F.
ELSE
IF THIS.ENABLED
THIS.ENABLED = THISFORM.ochildgrid.lcanupdate
ENDIF
IF THISFORM.lempty AND THISFORM.nformstatus != 2 AND THIS.ENABLED
THIS.ENABLED = .F.
ENDIF
ENDIF
| Name | Initial value |
|---|---|
| Caption | "" |
| FontBold | .T. |
| HelpContextID | 200 |
| Picture | ..\bitmap\toolbar\newtabl.bmp |
| TabIndex | 3 |
| ToolTipText | "^Ins" |
| ZOrderSet | 3 |
THISFORM.oninsertchilddata()
DODEFAULT()
THIS.ENABLED = THISFORM.lcanedit
IF ISNULL(THISFORM.ochildgrid)
THIS.ENABLED = .F.
ELSE
IF THIS.ENABLED
THIS.ENABLED = THISFORM.ochildgrid.lcanupdate
ENDIF
IF THISFORM.lempty AND THISFORM.nformstatus != 2 AND THIS.ENABLED
THIS.ENABLED = .F.
ENDIF
ENDIF
| Name | Initial value |
|---|---|
| ErasePage | .T. |
| Tabs | .F. |
| ZOrderSet | 2 |
LOCAL locontrol
locontrol = .NULL.
IF TYPE("this.Page1.grdGrid")="O"
locontrol = THIS.page1.grdgrid
ENDIF
IF THIS.ACTIVEPAGE > 1
LOCAL lopage, j, lfound
lopage = THIS.PAGES[this.ActivePage]
FOR j = 1 TO lopage.CONTROLCOUNT
IF TYPE("loPage.Controls[j]._VFXClassName")="C" AND ;
UPPER(lopage.CONTROLS[j]._vfxclassname)="CCHILDGRID"
locontrol = lopage.CONTROLS[j]
EXIT
ENDIF
NEXT
ENDIF
IF !ISNULL(locontrol)
THISFORM.ochildgrid = locontrol
*** UH
thisForm.oChildGrid.setfocus()
thisForm.oChildGrid.parent.setfocus()
ENDIF
THISFORM.cmdgriddelete.REFRESH()
THISFORM.cmdgridinsert.REFRESH()
RETURN DODEFAULT()
| Baseclass | Class | Object name |
|---|---|---|
| zzz | zzz | conetomany.pgfChildGrid.Page1 |
| Baseclass | Class | Object name |
|---|---|---|
| grid | cchildgrid | conetomany.pgfChildGrid.Page1.grdGrid |
| Name | Initial value |
|---|---|
| Comment | " |
| HelpContextID | 199 |
| RecordSource | "" |
| TabIndex | 1 |
| Name | Initial value |
|---|---|
| ErasePage | .T. |
| TabIndex | 1 |
| ZOrderSet | 1 |
| Baseclass | Class | Object name |
|---|---|---|
| zzz | zzz | conetomany.pgfPageFrame.Page1 |
| Name | Initial value |
|---|---|
| Caption | "COneToManyBar" |
| DoCreate | .T. |
| _vfxclassname | COneToManyBar |
LPARAMETERS tlarg1
THISFORM.cntbuttonbar.REFRESH()
RETURN DODEFAULT(tlarg1)
| Baseclass | Class | Object name |
|---|---|---|
| container | cnavigator | conetomanybar.cntButtonBar |
| zzz | zzz | conetomanybar.cmdGridDelete |
| conetomanybar.cmdGridInsert | ||
| conetomanybar.lblMsgEmpty | ||
| conetomanybar.pgfChildGrid | ||
| conetomanybar.pgfPageFrame |
| Name | Initial value |
|---|---|
| HelpContextID | 139 |
| ZOrderSet | 6 |
if thisform.OnEdit()
thisform.SetObjectFocus()
nodefault
endif
thisform.OnInsert()
thisform.SetObjectFocus()
nodefault
thisform.OnSave()
if thisform.pgfPageFrame.lUseGrid and thisForm.nPageList > 0
if thisform.pgfPageFrame.activepage = thisform.nPageList
local lFromValid
lFromValid = .F.
if type("__VFX_FromValid")=="L" and __VFX_FromValid
lFromValid = .T.
endif
if !lFromValid
thisform.pgfPageFrame.pages[thisForm.nPageList].grdGrid.setfocus()
endif
endif
endif
nodefault
thisform.OnUndo()
if thisform.pgfPageFrame.lUseGrid and thisForm.nPageList > 0
if thisform.pgfPageFrame.activepage = thisform.nPageList
local lFromValid
lFromValid = .F.
if type("__VFX_FromValid")=="L" and __VFX_FromValid
lFromValid = .T.
endif
if !lFromValid
thisform.pgfPageFrame.pages[thisForm.nPageList].grdGrid.setfocus()
endif
endif
endif
nodefault
| Name | Initial value |
|---|---|
| ZOrderSet | 5 |
| Name | Initial value |
|---|---|
| ZOrderSet | 4 |
| Name | Initial value |
|---|---|
| ErasePage | .T. |
| ZOrderSet | 2 |
| Baseclass | Class | Object name |
|---|---|---|
| zzz | zzz | conetomanybar.pgfChildGrid.Page1 |
| Baseclass | Class | Object name |
|---|---|---|
| zzz | zzz | conetomanybar.pgfChildGrid.Page1.grdGrid |
| Name | Initial value |
|---|---|
| ErasePage | .T. |
| ZOrderSet | 3 |
| Baseclass | Class | Object name |
|---|---|---|
| zzz | zzz | conetomanybar.pgfPageFrame.Page1 |
| Name | Initial value |
|---|---|
| Caption | "Open ..." |
| DoCreate | .T. |
| KeyPreview | .T. |
| MaxButton | .F. |
| MinButton | .F. |
| lmultiinstance | .F. |
| Name | Initial value | Comment |
|---|---|---|
| ^atable[1,4] | .f. | Table array. |
LPARAMETERS tcpage
IF ADIR(ladummy,goprogram.cvfxdir+"vfxfopen.dbf")#1
IF ADIR(ladummy,goprogram.cdatadir+"\vfxfopen.dbf")#1
* Table not found. Create new table.
THIS.createtable(goprogram.cvfxdir+"vfxfopen")
ENDIF
ENDIF
USE vfxfopen IN 0 SHARED AGAIN ORDER TAG OBJECT
SELECT TITLE, DESCR, FORM, PARAMETER FROM vfxfopen INTO ARRAY THISFORM.atable ;
WHERE UPPER(ALLTRIM(objectid)) == UPPER(ALLTRIM(tcpage)) AND;
(viewlevel>=gu_userlevel OR viewlevel=0) ORDER BY objectno NOCONSOLE
USE IN vfxfopen
IF _TALLY <> 0
THISFORM.lsttables.ROWSOURCETYPE = 5 && Array
THISFORM.lsttables.ROWSOURCE = 'thisForm.aTable'
THISFORM.lsttables.BOUNDCOLUMN = 1
THISFORM.lsttables.REQUERY()
ELSE
THISFORM.lsttables.ROWSOURCETYPE = 0
THISFORM.lsttables.ROWSOURCE = ''
THISFORM.lsttables.CLEAR()
THISFORM.lsttables.REFRESH()
THISFORM.edtdescription.VALUE = ""
ENDIF
THISFORM.cmdopen.ENABLED = _TALLY <> 0
SET MESSAGE TO ''
THISFORM.lsttables.LISTINDEX = 1
THISFORM.lsttables.INTERACTIVECHANGE()
RETURN THISFORM.cmdopen.ENABLED
**__VFX_WIZARD_HEADER - 08/09/96 11:07:58 AM
thisForm.Caption = CAP_FRMOPEN
thisform.pageframe.page1.Caption = CAP_MAIN
thisform.pageframe.page2.Caption = CAP_OTHER
thisform.cmdopen.Caption = CAP_CMDOPEN
thisform.cmdcancel.Caption = CAP_CMDCLOSE
thisform.chktopwindow.ToolTipText = TTT_CHKTOPWINDOW
thisform.chknoclose.Caption = CAP_KEEPOPEN
return .T.
**__VFX_WIZARD_FOOTER
***********************************************************
IF VARTYPE(goProgram)="O"
goprogram.lopendialog = .F.
goprogram.showtoolbar()
ENDIF
RETURN DODEFAULT()
LPARAMETERS tcarg
IF VARTYPE(goProgram)="O"
goprogram.lopendialog = .T.
goprogram.showtoolbar()
ENDIF
THIS.BORDERSTYLE = 2
THIS.loaditem('Page1')
THIS.TOP = id_winofftop
THIS.LEFT = id_winoffleft
RETURN DODEFAULT(tcarg)
LPARAMETERS nkeycode, nshiftaltctrl
WITH THIS.PAGEFRAME
DO CASE
CASE nkeycode = 4
IF .ACTIVEPAGE < .PAGECOUNT
.ACTIVEPAGE = .ACTIVEPAGE + 1
ELSE
.ACTIVEPAGE = 1
ENDIF
LOCAL lcpage
lcpage = "PAGE" + ALLTRIM(STR(.ACTIVEPAGE))
THISFORM.loaditem(lcpage)
CLEAR TYPEAHEAD
NODEFAULT
CASE nkeycode = 19
** <-
IF .ACTIVEPAGE > 1
.ACTIVEPAGE = .ACTIVEPAGE - 1
ELSE
.ACTIVEPAGE = .PAGECOUNT
ENDIF
LOCAL lcpage
lcpage = "PAGE" + ALLTRIM(STR(.ACTIVEPAGE))
THISFORM.loaditem(lcpage)
CLEAR TYPEAHEAD
NODEFAULT
OTHERWISE
DODEFAULT(nkeycode, nshiftaltctrl)
ENDCASE
ENDWITH
| Baseclass | Class | Object name |
|---|---|---|
| checkbox | ccheckbox | copendialog.chkNoClose |
| cpushpin | copendialog.chkTopWindow | |
| commandbutton | commandbutton | copendialog.cmdCancel |
| copendialog.cmdOpen | ||
| listbox | listbox | copendialog.lstTables |
| pageframe | pageframe | copendialog.Pageframe |
| textbox | textbox | copendialog.edtDescription |
| Name | Initial value |
|---|---|
| AutoSize | .T. |
| Caption | "\<Keep open" |
| HelpContextID | 198 |
| Value | .F. |
| lautosetup | .F. |
THIS.PARENT.chktopwindow.ENABLED = THIS.VALUE
| Name | Initial value |
|---|---|
| HelpContextID | 197 |
| ToolTipText | "Always on top" |
DODEFAULT()
THIS.ENABLED = THIS.PARENT.chknoclose.VALUE
| Name | Initial value |
|---|---|
| Caption | "\<Close" |
| FontBold | .F. |
| HelpContextID | 194 |
| Picture | ..\bitmap\toolbar\wzclose.bmp |
THISFORM.RELEASE()
| Name | Initial value |
|---|---|
| Caption | "\<Open" |
| Default | .T. |
| FontBold | .F. |
| HelpContextID | 193 |
| Picture | ..\bitmap\toolbar\open.bmp |
LOCAL lnitem, lcform, lcarg
lcform = ALLTRIM(THISFORM.atable[thisForm.lstTables.ListIndex,3])
lcarg = ALLTRIM(THISFORM.atable[thisForm.lstTables.ListIndex,4])
THISFORM.VISIBLE = .F.
IF !EMPTY(lcform)
IF EMPTY(lcarg)
IF LEFT(lcform,1)="*"
DO FORM SUBSTR(lcform,2)
ELSE
IF TYPE("goProgram")=="O"
goprogram.runform(lcform)
ELSE
DO FORM (lcform)
ENDIF
ENDIF
ELSE
IF LEFT(lcform,1)="*"
DO FORM SUBSTR(lcform,2) WITH lcarg
ELSE
IF VARTYPE(goProgram)="O"
goprogram.runform(lcform,lcarg)
ELSE
DO FORM (lcform) WITH lcarg
ENDIF
ENDIF
ENDIF
ENDIF
IF !THISFORM.chknoclose.VALUE
IF VARTYPE(goProgram)="O"
goprogram.lopendialog = .F.
ENDIF
THISFORM.RELEASE()
ELSE
THISFORM.VISIBLE = .T.
ENDIF
| Name | Initial value |
|---|---|
| HelpContextID | 196 |
THISFORM.cmdopen.CLICK()
IF THISFORM.lsttables.LISTINDEX > 0
THISFORM.edtdescription.VALUE = ALLTRIM(THISFORM.atable[thisForm.lstTables.ListIndex,2])
ENDIF
| Name | Initial value |
|---|---|
| ErasePage | .T. |
| PageCount | 2 |
LOCAL lcpage
lcpage = "PAGE" + ALLTRIM(STR(THIS.ACTIVEPAGE))
THISFORM.loaditem(lcpage)
| Baseclass | Class | Object name |
|---|---|---|
| zzz | zzz | copendialog.Pageframe.Page1 |
| copendialog.Pageframe.Page2 |
| Name | Initial value |
|---|---|
| Caption | "Main" |
| Name | Initial value |
|---|---|
| Caption | "Other" |
| Name | Initial value |
|---|---|
| DisabledForeColor | |
| Enabled | .F. |
| HelpContextID | 195 |
| Name | Initial value |
|---|---|
| Caption | "Pick List" |
| DoCreate | .T. |
| WindowType | 1 |
| extrabuffer | |
| lcandelete | .F. |
| lcanedit | .F. |
| lcaninsert | .F. |
| lsaveposition | .T. |
| Name | Initial value | Comment |
|---|---|---|
| nsqlsharedconnection | .f. | Property to reference shared connection number |
| opickfieldref | .NULL. |
DODEFAULT()
LOCAL lfromvalid
lfromvalid = .F.
IF TYPE("__VFX_FromValid")=="L" AND __vfx_fromvalid
lfromvalid = .T.
ENDIF
IF !lfromvalid
THIS.grdgrid.SETFOCUS()
ENDIF
THIS.grdgrid.onloadposition()
LPARAMETERS topickfield, tnsqlconnection
THISFORM.extrabuffer = "[CANCEL]"
topickfield.ldovalid = .F.
THIS.opickfield = .NULL.
THIS.opickfieldref = topickfield
THIS.lworkonview = THIS.opickfieldref.lworkonview
IF !EMPTY(topickfield.cpickcaption)
THIS.CAPTION = topickfield.cpickcaption
ENDIF
THISFORM.cformname = "_PickDialog"+ALLTRIM(topickfield.ctablename)
IF !THIS.lsaveposition
THIS.AUTOCENTER = .T.
ENDIF
THIS.cworkalias = "X"+SUBSTR(SYS(2015),4,7)
LOCAL lctable, lctag, lccursor
lctable = topickfield.ctablename
lctag = topickfield.ctagname
lccursor = THIS.cworkalias
IF THIS.lworkonview
DO CASE
CASE topickfield.luserpreparepickdata
LOCAL loform
loform = getparentform(topickfield)
IF !ISNULL(loform)
SET DATASESSION TO loform.DATASESSIONID
topickfield.preparepickdata(lccursor)
ENDIF
loform = .NULL.
RELEASE loform
IF !USED(lccursor)
THISFORM.RELEASE()
RETURN .F.
ENDIF
THISFORM.cqueryarg = ""
CASE topickfield.lusespt
IF !EMPTY(NVL(tnsqlconnection, 0)) AND tnsqlconnection > 0
LOCAL lcsql
THISFORM.nsqlsharedconnection = tnsqlconnection
lcsql = DBGETPROP(lctable, "VIEW", "SQL")
IF AT("?", lcsql) > 0
lcsql = clearsqlparameters(lcsql)
ENDIF
vfxsqlexec(THISFORM.nsqlsharedconnection, lcsql, (lccursor))
THISFORM.cqueryarg = ""
ELSE
USE (lctable) IN 0 ALIAS &lccursor AGAIN SHARED NODATA
ENDIF
OTHERWISE
USE (lctable) IN 0 ALIAS &lccursor AGAIN SHARED NODATA
ENDCASE
SELECT (lccursor)
IF !EMPTY(topickfield.cindexexpr)
lcindexexpr = topickfield.cindexexpr
INDEX ON &lcindexexpr TAG (lccursor)
SET ORDER TO TAG (lccursor)
ENDIF
IF !EMPTY(topickfield.cfilterexpr)
LOCAL lcfilterexpr
lcfilterexpr = topickfield.cfilterexpr
SET FILTER TO &lcfilterexpr
ENDIF
ELSE
IF EMPTY(lctag)
USE (lctable) IN 0 ALIAS &lccursor AGAIN SHARED
SELECT (lccursor)
IF !EMPTY(topickfield.cindexexpr)
lcindexexpr = topickfield.cindexexpr
INDEX ON &lcindexexpr TAG (lccursor)
SET ORDER TO TAG (lccursor)
ENDIF
ELSE
USE (lctable) IN 0 ALIAS &lccursor ORDER TAG (lctag) AGAIN SHARED
SELECT (lccursor)
lcindexexpr = KEY()
ENDIF
SELECT (lccursor)
LOCAL lcseek
IF EMPTY(topickfield.cseekvalue)
IF UPPER(topickfield.BASECLASS) = "CONTAINER"
lcseek = IIF(ISNULL(topickfield.txtfield.VALUE),'',topickfield.txtfield.VALUE)
ELSE
lcseek = IIF(ISNULL(topickfield.VALUE),'',topickfield.VALUE)
ENDIF
ELSE
lcseek = IIF(ISNULL(topickfield.cseekvalue),'',topickfield.cseekvalue)
ENDIF
IF !EMPTY(topickfield.cfilterexpr)
LOCAL lcfilterexpr
lcfilterexpr = topickfield.cfilterexpr
SET FILTER TO &lcfilterexpr
ENDIF
IF !EMPTY(lcseek)
IF "UPPER" $ lcindexexpr
=SEEK(UPPER(lcseek), lccursor)
ELSE
=SEEK(lcseek, lccursor)
ENDIF
ENDIF
IF !FOUND(lccursor)
LOCATE
ENDIF
ENDIF
THIS.cnttoolbar.cmdmaintenance.ENABLED = !EMPTY(topickfield.cdataform)
LOCAL cfieldname, maxfieldno, cfield, ccaption
IF !EMPTY(topickfield.cfieldlist)
maxfieldno = getargcount(topickfield.cfieldlist)
ELSE
maxfieldno = FCOUNT()
ENDIF
THIS.grdgrid.RECORDSOURCE = ALIAS()
THIS.grdgrid.COLUMNCOUNT = MIN(THIS.grdgrid.COLUMNCOUNT, maxfieldno)
THIS.grdgrid.READONLY = .T.
THIS.grdgrid.DELETEMARK = .F.
FOR j = 1 TO THIS.grdgrid.COLUMNCOUNT
IF j <= maxfieldno
ccaption = ""
IF !EMPTY(topickfield.cfieldlist)
cfieldname = ALLTRIM(getarg(topickfield.cfieldlist,j))
THIS.grdgrid.COLUMNS[j].CONTROLSOURCE = cfieldname
ELSE
cfieldname = FIELD(j)
ENDIF
IF AT(".",cfieldname) = 0
cfield = ALLTRIM(topickfield.ctablename) +"."+ ALLTRIM(cfieldname)
ENDIF
IF !EMPTY(DBC())
IF INDBC(cfield,"FIELD")
ccaption = DBGETPROP(cfield, "FIELD", "CAPTION")
ENDIF
ENDIF
IF !EMPTY(topickfield.cfieldtitle)
ccaption = ALLTRIM(getarg(topickfield.cfieldtitle,j))
ENDIF
IF EMPTY(ccaption)
ccaption = PROPER(STRTRAN(cfieldname,'_',' '))
ENDIF
ccaption = ALLTRIM(ccaption)
THIS.grdgrid.COLUMNS[j].header1.CAPTION = ccaption
LOCAL lnwidth, lcbufferm, lnsize1, lnsize2
lcbuffer = REPLICATE('H',FSIZE(cfieldname))
ccaption = REPLICATE('H',LEN(ccaption))
lnsize1 = TXTWIDTH(lcbuffer,'Arial',8,'') * FONTMETRIC(6, 'Arial', 8, '')
lnsize2 = TXTWIDTH(ccaption,'Arial',8,'') * FONTMETRIC(6, 'Arial', 8, '')
THIS.grdgrid.COLUMNS[j].WIDTH = MAX(lnsize1,lnsize2)
ELSE
THIS.grdgrid.COLUMNS[j].VISIBLE = .F.
ENDIF
NEXT
LOCAL _lnrecno
_lnrecno = IIF(EOF(), 0, RECNO())
DODEFAULT(.F.)
IF !EMPTY(_lnrecno)
GO _lnrecno
ENDIF
IF (THIS.lworkonview)
LOCAL luvalue, lcfieldexpr
lcfieldexpr = topickfield.creturnexpr
IF EMPTY(topickfield.cseekvalue)
IF UPPER(topickfield.BASECLASS) = "CONTAINER"
luvalue = topickfield.txtfield.VALUE
ELSE
luvalue = topickfield.VALUE
ENDIF
ELSE
luvalue = topickfield.cseekvalue
ENDIF
* position on View
THIS.jumpto(lcfieldexpr, luvalue)
ELSE
IF VARTYPE(__VFX_FromValid) = "L" AND __vfx_fromvalid
LOCAL luvalue, lcfieldexpr
lcfieldexpr = topickfield.creturnexpr
luvalue = topickfield.cseekvalue
* position on View
THIS.jumpto(lcfieldexpr, luvalue)
ENDIF
ENDIF
THIS.grdgrid.onsetorder()
USE IN (THIS.cworkalias)
THIS.opickfieldref = .NULL.
DODEFAULT()
RETURN THIS.extrabuffer
LPARAMETERS tlloaddata, tlrefreshonly
IF THIS.lworkonview
LOCAL lopickfield
lopickfield = THIS.opickfieldref
SELECT (THISFORM.cworkalias)
LOCAL lckey, lcfilter , lcidx, lldescending
lckey = KEY()
lcfilter = FILTER()
lcidx = ORDER()
lldescending = DESCENDING()
DO CASE
CASE lopickfield.luserpreparepickdata
THISFORM.grdgrid.savestatus()
THISFORM.grdgrid.RECORDSOURCE = "xxx"
lopickfield.preparepickdata(THISFORM.cworkalias)
THISFORM.grdgrid.RECORDSOURCE = THISFORM.cworkalias
THISFORM.grdgrid.restorestatus()
IF !USED(THISFORM.cworkalias)
THISFORM.RELEASE()
RETURN .F.
ENDIF
CASE lopickfield.lusespt
IF !EMPTY(NVL(THISFORM.nsqlsharedconnection, 0)) AND ;
EMPTY(CURSORGETPROP("tables")) AND ;
THISFORM.nsqlsharedconnection > 0
LOCAL lcsql
lcsql = DBGETPROP(THISFORM.opickfieldref.ctablename, "VIEW", "SQL")
THISFORM.grdgrid.savestatus()
SELECT (THISFORM.cworkalias)
THISFORM.grdgrid.RECORDSOURCE = "xxx"
vfxsqlexec(THISFORM.nsqlsharedconnection, lcsql, THISFORM.cworkalias)
THISFORM.grdgrid.RECORDSOURCE = THISFORM.cworkalias
THISFORM.grdgrid.restorestatus()
ENDIF
OTHERWISE
=REQUERY()
ENDCASE
IF !EMPTY(lckey)
IF EMPTY(lcfilter)
INDEX ON &lckey TO (lcidx) ADDITIVE
ELSE
INDEX ON &lckey TO (lcidx) FOR &lcfilter ADDITIVE
ENDIF
IF lldescending
SET ORDER TO TAG (lcidx) DESCENDING
ENDIF
ENDIF
IF !EMPTY(lopickfield.cindexexpr)
lcindexexpr = lopickfield.cindexexpr
INDEX ON &lcindexexpr TAG (THISFORM.cworkalias)
SET ORDER TO TAG (THISFORM.cworkalias)
ENDIF
IF !EMPTY(lopickfield.cfilterexpr)
LOCAL lcfilterexpr
lcfilterexpr = lopickfield.cfilterexpr
SET FILTER TO &lcfilterexpr
ENDIF
ENDIF
THISFORM.lempty = EOF(THISFORM.cworkalias)
NODEFAULT
this.grdGrid.onSavePosition()
DODEFAULT()
LOCAL lctmpindex
lctmpindex = THIS.cworkalias+".IDX"
CLOSE INDEX
IF FILE(lctmpindex)
ERASE(lctmpindex)
ENDIF
**__VFX_WIZARD_HEADER - 07/16/1996 07:10:09 PM
*thisform.cmdpick.Caption = CAP_CMDOK
*thisform.cmdmaintenance.Caption = CAP_CMDMAINTENANCE
*thisform.cmdclose.Caption = CAP_CMDCLOSE
with thisForm.cntToolBar
.cmdPick.ToolTipText = TTT_CMDAPPLY
.cmdMaintenance.ToolTipText = TTT_CMDMAINTENANCE
.cmdNew.ToolTipText = TTT_CMDNEW
.cmdClose.ToolTipText = TTT_CMDCLOSE
endwith
return .T.
**__VFX_WIZARD_FOOTER
***********************************************************
| Baseclass | Class | Object name |
|---|---|---|
| container | ctoolbarcontrol | cpickdialog.cntToolbar |
| grid | cpickgrid | cpickdialog.grdGrid |
| zzz | zzz | cpickdialog.lblMsgEmpty |
| Name | Initial value |
|---|---|
| BackStyle | 0 |
| HelpContextID | 202 |
| ZOrderSet | 6 |
| Baseclass | Class | Object name |
|---|---|---|
| commandbutton | ctoolbarbutton | cpickdialog.cntToolbar.cmdClose |
| cpickdialog.cntToolbar.cmdMaintenance | ||
| cpickdialog.cntToolbar.cmdNew | ||
| cpickdialog.cntToolbar.cmdPick | ||
| zzz | zzz | cpickdialog.cntToolbar.oBorder |
| Name | Initial value |
|---|---|
| HelpContextID | 205 |
| Picture | ..\bitmap\toolbar\close.bmp |
| TabIndex | 4 |
| ZOrderSet | 5 |
THISFORM.extrabuffer = "[CANCEL]"
THISFORM.RELEASE()
| Name | Initial value |
|---|---|
| HelpContextID | 204 |
| Picture | ..\bitmap\toolbar\wzedit.bmp |
| TabIndex | 2 |
| ZOrderSet | 3 |
LPARAMETERS tlnew
LOCAL lcretval, lopickfield
lopickfield = THISFORM.opickfieldref
IF !EMPTY(lopickfield.cdataform)
IF TYPE("__VFX_PickField")=="O"
RELEASE __vfx_pickfield
ENDIF
PUBLIC __vfx_pickfield
__vfx_pickfield = lopickfield
IF TYPE("__VFX_pickRecLoc") != 'U'
RELEASE __vfx_pickrecloc
ENDIF
IF TYPE("__VFX_PickTagName") != 'U'
RELEASE __vfx_picktagname
ENDIF
PUBLIC __vfx_pickrecloc
__vfx_pickrecloc = EVAL(lopickfield.creturnexpr)
IF !EMPTY(lopickfield.ctagname)
PUBLIC __vfx_picktagname
__vfx_picktagname = lopickfield.ctagname
ENDIF
IF TYPE("__VFX_PickNew") != 'U'
RELEASE __vfx_picknew
ENDIF
IF tlnew
PUBLIC __vfx_picknew
__vfx_picknew = .T.
ENDIF
THISFORM.extrabuffer = "[RUN_FORM]"
THISFORM.RELEASE()
IF TYPE("__VFX_FromValid")=="L" AND __vfx_fromvalid
DO FORM (lopickfield.cdataform) WITH "PICKDIALOG;"+lopickfield.cfixfieldvalue+";;"+ lopickfield.cfixfieldname+";"+lopickfield.cfilterexpr+";;" NOSHOW
ELSE
DO FORM (lopickfield.cdataform) WITH "PICKDIALOG;"+lopickfield.cfixfieldvalue+";;"+ lopickfield.cfixfieldname+";"+lopickfield.cfilterexpr+";;"
ENDIF
__vfx_pickfield = .NULL.
RELEASE __vfx_pickfield
IF TYPE("__VFX_PickTagName") != 'U'
RELEASE __vfx_picktagname
ENDIF
RELEASE __vfx_pickrecloc
ENDIF
| Name | Initial value |
|---|---|
| HelpContextID | 206 |
| Picture | ..\bitmap\toolbar\new.bmp |
| TabIndex | 3 |
| ZOrderSet | 4 |
THIS.ENABLED = THIS.PARENT.cmdmaintenance.ENABLED
THIS.PARENT.cmdmaintenance.CLICK(.T.)
| Name | Initial value |
|---|---|
| HelpContextID | 203 |
| Picture | ..\bitmap\toolbar\paste.bmp |
| TabIndex | 1 |
| ZOrderSet | 1 |
** Pick the selected value
LOCAL lcretval, lopickfield, luvalue
lopickfield = THISFORM.opickfieldref
lopickfield.ldovalid = .T.
lcretval = EVALUATE(lopickfield.creturnexpr) + ";"
IF LOWER(lopickfield.BASECLASS) == "container"
IF EMPTY(lopickfield.creturnexprdesc)
lcretval = lcretval + ";"
ELSE
luvalue = EVALUATE(lopickfield.creturnexprdesc)
lcretval = lcretval + IIF(EMPTY(NVL(luvalue,"")), ";", luvalue + ";")
ENDIF
ELSE
lcretval = lcretval + ";"
ENDIF
IF EMPTY(lopickfield.creturnmoreexpr)
lcretval = lcretval
ELSE
LOCAL lcretmoreexpr
lcretmoreexpr = EVALUATE(lopickfield.creturnmoreexpr)
IF !ISNULL(lcretmoreexpr)
lcretval = lcretval + lcretmoreexpr
ENDIF
ENDIF
IF !EMPTY(lcretval)
LOCAL lorec
SCATTER MEMO NAME lorec
lopickfield.opickrec = lorec
RELEASE lorec
lopickfield.setvalues(lcretval)
ENDIF
THISFORM.extrabuffer = lcretval
THISFORM.RELEASE()
| Name | Initial value |
|---|---|
| Comment | " |
| HelpContextID | 207 |
| TabIndex | 1 |
| ZOrderSet | 2 |
THISFORM.cnttoolbar.cmdpick.CLICK()
THIS.HEIGHT = THISFORM.HEIGHT - THIS.TOP
THIS.WIDTH = THISFORM.WIDTH
| Name | Initial value |
|---|---|
| ZOrderSet | 0 |
| Name | Initial value |
|---|---|
| DoCreate | .T. |
if this.lWorkOnView
select (thisform.cworkalias)
private tcPara
*tcPara = iif(empty(ThisForm.cntToolbar.txtPara.value), "%", "%" + trim(ThisForm.cntToolbar.txtPara.value) + "%")
tcPara = iif(empty(ThisForm.cntToolbar.txtPara.value), "%", trim(ThisForm.cntToolbar.txtPara.value) + "%")
if thisform.oPickFieldRef.lUseSPT
cpickdialog::requery()
else
requery()
endif
thisform.lempty = .f.
if type("__VFX_FromValid") = "L" and __VFX_FromValid
thisform.grdgrid.refresh()
else
thisform.grdgrid.setfocus()
endif
endif
LPARAMETERS tlloaddata,tlrefreshonly
Nodefault
cDataForm::Activate()
| Baseclass | Class | Object name |
|---|---|---|
| zzz | zzz | cpickdialogpara.cntToolbar |
| cpickdialogpara.grdGrid | ||
| cpickdialogpara.lblMsgEmpty |
| Name | Initial value |
|---|---|
| TabIndex | 3 |
| Baseclass | Class | Object name |
|---|---|---|
| commandbutton | ctoolbarbutton | cpickdialogpara.cntToolbar.cmdOK |
| textbox | textbox | cpickdialogpara.cntToolbar.txtPara |
| zzz | zzz | cpickdialogpara.cntToolbar.cmdClose |
| cpickdialogpara.cntToolbar.cmdMaintenance | ||
| cpickdialogpara.cntToolbar.cmdNew | ||
| cpickdialogpara.cntToolbar.cmdPick | ||
| cpickdialogpara.cntToolbar.oBorder |
| Name | Initial value |
|---|---|
| Default | .T. |
| HelpContextID | 208 |
| Picture | ..\bitmap\toolbar\wzfind.bmp |
| TabIndex | 2 |
thisform.pararequery()
| Name | Initial value |
|---|---|
| HelpContextID | 209 |
| TabIndex | 1 |
| Name | Initial value |
|---|---|
| TabIndex | 3 |
| Name | Initial value |
|---|---|
| Picture | ..\bitmap\toolbar\wzedit.bmp |
| TabIndex | 5 |
| Name | Initial value |
|---|---|
| Picture | ..\bitmap\toolbar\new.bmp |
| TabIndex | 6 |
| Name | Initial value |
|---|---|
| TabIndex | 4 |
| Name | Initial value |
|---|---|
| TabIndex | 2 |
| Name | Initial value |
|---|---|
| TabIndex | 1 |
| Name | Initial value |
|---|---|
| Caption | "User Rights" |
| DataSession | 2 |
| DoCreate | .T. |
| FontBold | .F. |
| FontItalic | .F. |
| FontName | "Arial" |
| FontSize | 9 |
| creportname | |
| cworkalias | |
| lautosyncchildform | .F. |
| lcandelete | .F. |
| lcanedit | .T. |
| lcaninsert | .F. |
| lchildform | .F. |
| lcloseonesc | .T. |
| lmore | .F. |
| lmultiinstance | .F. |
| lputinlastfile | .T. |
| lputinwindowmenu | .T. |
| lsaveposition | .T. |
| lusechildform | .F. |
*{ _VFX_BUILDER_CODE
DODEFAULT()
THISFORM.cntspeedbar.REFRESH()
*} _VFX_BUILDER_CODE
LPARAMETERS tcarg
LOCAL linitok
linitok =DODEFAULT(tcarg)
********************************************************
** Insert your extra initialization code here
RETURN linitok
**__VFX_WIZARD_HEADER - 13.09.98 17:38:10
this.Caption = CAP_FRMUSERRIGHTS
WITH this.cntpanel.grdgrid
.column1.header1.caption=CAP_RIGHTSTITLE
.column2.header1.caption=CAP_RIGHTSFORM
.column3.header1.caption=CAP_VIEWLEVEL
.column4.header1.caption=CAP_INSERTLEVEL
.column5.header1.caption=CAP_EDITLEVEL
.column6.header1.caption=CAP_DELETELEVEL
ENDWITH
this.lblmsgempty.Caption = MSG_EMPTY_VIEW
return .T.
**__VFX_WIZARD_FOOTER
***********************************************************
| Baseclass | Class | Object name |
|---|---|---|
| container | cspeedbar | crightsdialog.CNTSPEEDBAR |
| zzz | zzz | crightsdialog.cntPanel |
| crightsdialog.lblMsgEmpty |
| Name | Initial value |
|---|---|
| HelpContextID | 176 |
| TabIndex | 3 |
| Name | Initial value |
|---|---|
| BorderWidth | 0 |
| Comment | " |
| TabIndex | 2 |
| Baseclass | Class | Object name |
|---|---|---|
| textbox | ctextbox | crightsdialog.cntPanel.txtEditlevel |
| crightsdialog.cntPanel.txtEraselevel | ||
| crightsdialog.cntPanel.txtForm | ||
| crightsdialog.cntPanel.txtNewlevel | ||
| crightsdialog.cntPanel.txtTitle | ||
| crightsdialog.cntPanel.txtViewlevel | ||
| zzz | zzz | crightsdialog.cntPanel.GRDGRID |
| Name | Initial value |
|---|---|
| ControlSource | "vfxfopen.editlevel" |
| FontBold | .F. |
| FontItalic | .F. |
| FontName | "Arial" |
| FontSize | 9 |
| HelpContextID | 181 |
| InputMask | "99" |
| ReadOnly | .F. |
| StatusBarText | "" |
| TabIndex | 4 |
| TabStop | .T. |
| Visible | .T. |
| Name | Initial value |
|---|---|
| ControlSource | "vfxfopen.eraselevel" |
| FontBold | .F. |
| FontItalic | .F. |
| FontName | "Arial" |
| FontSize | 9 |
| HelpContextID | 182 |
| InputMask | "99" |
| ReadOnly | .F. |
| StatusBarText | "" |
| TabIndex | 5 |
| TabStop | .T. |
| Visible | .T. |
| Name | Initial value |
|---|---|
| ControlSource | "vfxfopen.form" |
| FontBold | .F. |
| FontItalic | .F. |
| FontName | "Arial" |
| FontSize | 9 |
| HelpContextID | 178 |
| InputMask | "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" |
| ReadOnly | .T. |
| StatusBarText | "" |
| TabIndex | 7 |
| TabStop | .F. |
| Visible | .T. |
| Name | Initial value |
|---|---|
| ControlSource | "vfxfopen.newlevel" |
| FontBold | .F. |
| FontItalic | .F. |
| FontName | "Arial" |
| FontSize | 9 |
| HelpContextID | 180 |
| InputMask | "99" |
| ReadOnly | .F. |
| StatusBarText | "" |
| TabIndex | 3 |
| TabStop | .T. |
| Visible | .T. |
| Name | Initial value |
|---|---|
| ControlSource | "vfxfopen.title" |
| FontBold | .F. |
| FontItalic | .F. |
| FontName | "Arial" |
| FontSize | 9 |
| HelpContextID | 177 |
| InputMask | "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" |
| ReadOnly | .T. |
| StatusBarText | "" |
| TabIndex | 6 |
| TabStop | .F. |
| Visible | .T. |
| Name | Initial value |
|---|---|
| ControlSource | "vfxfopen.viewlevel" |
| FontBold | .F. |
| FontItalic | .F. |
| FontName | "Arial" |
| FontSize | 9 |
| HelpContextID | 179 |
| InputMask | "99" |
| ReadOnly | .F. |
| StatusBarText | "" |
| TabIndex | 2 |
| TabStop | .T. |
| Visible | .T. |
| Name | Initial value |
|---|---|
| ColumnCount | 6 |
| Comment | " |
| ReadOnly | .T. |
| RecordSource | "vfxfopen" |
| TabIndex | 1 |
| Visible | .T. |
| csearchtext | |
| lproportionalfont | .T. |
| ncolumn | 0 |
| Name | Initial value |
|---|---|
| ControlSource | "vfxfopen.title" |
| CurrentControl | "Text1" |
| FontBold | .F. |
| FontName | "Arial" |
| FontSize | 9 |
| ReadOnly | .T. |
| Visible | .T. |
| Baseclass | Class | Object name |
|---|---|---|
| header | header | crightsdialog.cntPanel.GRDGRID.Column1.Header1 |
| textbox | textbox | crightsdialog.cntPanel.GRDGRID.Column1.Text1 |
| Name | Initial value |
|---|---|
| Caption | "Title" |
| FontBold | .F. |
| FontItalic | .F. |
| FontName | "Arial" |
| FontSize | 9 |
*{ _VFX_BUILDER_CODE
THIS.PARENT.PARENT.onsetorder(THIS.PARENT)
*} _VFX_BUILDER_CODE
| Name | Initial value |
|---|---|
| BorderStyle | 0 |
| Comment | "vfxfopen.title" |
| FontBold | .F. |
| FontName | "Arial" |
| FontSize | 9 |
| HelpContextID | 183 |
| InputMask | "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" |
| Margin | 0 |
| ReadOnly | .T. |
| Visible | .T. |
*{ _VFX_BUILDER_CODE
LPARAMETERS nkeycode, nshiftaltctrl
THIS.PARENT.PARENT.ocontrol = THIS
IF THIS.PARENT.PARENT.onkeypress( nkeycode, nshiftaltctrl)
NODEFAULT
ENDIF
THIS.PARENT.PARENT.ocontrol = .NULL.
*} _VFX_BUILDER_CODE
*{ _VFX_BUILDER_CODE
IF !THISFORM.lempty
IF !(TYPE("this.ControlSource") $ "MG")
THIS.PARENT.PARENT.onkeyenter()
NODEFAULT
ENDIF
ENDIF
*} _VFX_BUILDER_CODE
| Name | Initial value |
|---|---|
| ControlSource | "vfxfopen.form" |
| CurrentControl | "Text1" |
| FontBold | .F. |
| FontName | "Arial" |
| FontSize | 9 |
| ReadOnly | .T. |
| Visible | .T. |
| Baseclass | Class | Object name |
|---|---|---|
| header | header | crightsdialog.cntPanel.GRDGRID.Column2.Header1 |
| textbox | textbox | crightsdialog.cntPanel.GRDGRID.Column2.Text1 |
| Name | Initial value |
|---|---|
| Caption | "Form" |
| FontBold | .F. |
| FontItalic | .F. |
| FontName | "Arial" |
| FontSize | 9 |
*{ _VFX_BUILDER_CODE
THIS.PARENT.PARENT.onsetorder(THIS.PARENT)
*} _VFX_BUILDER_CODE
| Name | Initial value |
|---|---|
| BorderStyle | 0 |
| Comment | "vfxfopen.form" |
| FontBold | .F. |
| FontName | "Arial" |
| FontSize | 9 |
| HelpContextID | 184 |
| InputMask | "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" |
| Margin | 0 |
| ReadOnly | .T. |
| Visible | .T. |
*{ _VFX_BUILDER_CODE
LPARAMETERS nkeycode, nshiftaltctrl
THIS.PARENT.PARENT.ocontrol = THIS
IF THIS.PARENT.PARENT.onkeypress( nkeycode, nshiftaltctrl)
NODEFAULT
ENDIF
THIS.PARENT.PARENT.ocontrol = .NULL.
*} _VFX_BUILDER_CODE
*{ _VFX_BUILDER_CODE
IF !THISFORM.lempty
IF !(TYPE("this.ControlSource") $ "MG")
THIS.PARENT.PARENT.onkeyenter()
NODEFAULT
ENDIF
ENDIF
*} _VFX_BUILDER_CODE
| Name | Initial value |
|---|---|
| ControlSource | "vfxfopen.viewlevel" |
| CurrentControl | "Text1" |
| FontBold | .F. |
| FontName | "Arial" |
| FontSize | 9 |
| ReadOnly | .T. |
| Visible | .T. |
| Baseclass | Class | Object name |
|---|---|---|
| header | header | crightsdialog.cntPanel.GRDGRID.Column3.Header1 |
| textbox | textbox | crightsdialog.cntPanel.GRDGRID.Column3.Text1 |
| Name | Initial value |
|---|---|
| Caption | "Viewlevel" |
| FontBold | .F. |
| FontItalic | .F. |
| FontName | "Arial" |
| FontSize | 9 |
*{ _VFX_BUILDER_CODE
THIS.PARENT.PARENT.onsetorder(THIS.PARENT)
*} _VFX_BUILDER_CODE
| Name | Initial value |
|---|---|
| BorderStyle | 0 |
| Comment | "vfxfopen.viewlevel" |
| FontBold | .F. |
| FontName | "Arial" |
| FontSize | 9 |
| HelpContextID | 185 |
| InputMask | "99" |
| Margin | 0 |
| ReadOnly | .F. |
| Visible | .T. |
*{ _VFX_BUILDER_CODE
LPARAMETERS nkeycode, nshiftaltctrl
THIS.PARENT.PARENT.ocontrol = THIS
IF THIS.PARENT.PARENT.onkeypress( nkeycode, nshiftaltctrl)
NODEFAULT
ENDIF
THIS.PARENT.PARENT.ocontrol = .NULL.
*} _VFX_BUILDER_CODE
*{ _VFX_BUILDER_CODE
IF !THISFORM.lempty
IF !(TYPE("this.ControlSource") $ "MG")
THIS.PARENT.PARENT.onkeyenter()
NODEFAULT
ENDIF
ENDIF
*} _VFX_BUILDER_CODE
| Name | Initial value |
|---|---|
| ControlSource | "vfxfopen.newlevel" |
| CurrentControl | "Text1" |
| FontBold | .F. |
| FontName | "Arial" |
| FontSize | 9 |
| ReadOnly | .T. |
| Visible | .T. |
| Baseclass | Class | Object name |
|---|---|---|
| header | header | crightsdialog.cntPanel.GRDGRID.Column4.Header1 |
| textbox | textbox | crightsdialog.cntPanel.GRDGRID.Column4.Text1 |
| Name | Initial value |
|---|---|
| Caption | "Insertlevel" |
| FontBold | .F. |
| FontItalic | .F. |
| FontName | "Arial" |
| FontSize | 9 |
*{ _VFX_BUILDER_CODE
THIS.PARENT.PARENT.onsetorder(THIS.PARENT)
*} _VFX_BUILDER_CODE
| Name | Initial value |
|---|---|
| BorderStyle | 0 |
| Comment | "vfxfopen.newlevel" |
| FontBold | .F. |
| FontName | "Arial" |
| FontSize | 9 |
| HelpContextID | 186 |
| InputMask | "99" |
| Margin | 0 |
| ReadOnly | .F. |
| Visible | .T. |
*{ _VFX_BUILDER_CODE
LPARAMETERS nkeycode, nshiftaltctrl
THIS.PARENT.PARENT.ocontrol = THIS
IF THIS.PARENT.PARENT.onkeypress( nkeycode, nshiftaltctrl)
NODEFAULT
ENDIF
THIS.PARENT.PARENT.ocontrol = .NULL.
*} _VFX_BUILDER_CODE
*{ _VFX_BUILDER_CODE
IF !THISFORM.lempty
IF !(TYPE("this.ControlSource") $ "MG")
THIS.PARENT.PARENT.onkeyenter()
NODEFAULT
ENDIF
ENDIF
*} _VFX_BUILDER_CODE
| Name | Initial value |
|---|---|
| ControlSource | "vfxfopen.editlevel" |
| CurrentControl | "Text1" |
| FontBold | .F. |
| FontName | "Arial" |
| FontSize | 9 |
| ReadOnly | .T. |
| Visible | .T. |
| Baseclass | Class | Object name |
|---|---|---|
| header | header | crightsdialog.cntPanel.GRDGRID.Column5.Header1 |
| textbox | textbox | crightsdialog.cntPanel.GRDGRID.Column5.Text1 |
| Name | Initial value |
|---|---|
| Caption | "Editlevel" |
| FontBold | .F. |
| FontItalic | .F. |
| FontName | "Arial" |
| FontSize | 9 |
*{ _VFX_BUILDER_CODE
THIS.PARENT.PARENT.onsetorder(THIS.PARENT)
*} _VFX_BUILDER_CODE
| Name | Initial value |
|---|---|
| BorderStyle | 0 |
| Comment | "vfxfopen.editlevel" |
| FontBold | .F. |
| FontName | "Arial" |
| FontSize | 9 |
| HelpContextID | 187 |
| InputMask | "99" |
| Margin | 0 |
| ReadOnly | .F. |
| Visible | .T. |
*{ _VFX_BUILDER_CODE
LPARAMETERS nkeycode, nshiftaltctrl
THIS.PARENT.PARENT.ocontrol = THIS
IF THIS.PARENT.PARENT.onkeypress( nkeycode, nshiftaltctrl)
NODEFAULT
ENDIF
THIS.PARENT.PARENT.ocontrol = .NULL.
*} _VFX_BUILDER_CODE
*{ _VFX_BUILDER_CODE
IF !THISFORM.lempty
IF !(TYPE("this.ControlSource") $ "MG")
THIS.PARENT.PARENT.onkeyenter()
NODEFAULT
ENDIF
ENDIF
*} _VFX_BUILDER_CODE
| Name | Initial value |
|---|---|
| ControlSource | "vfxfopen.eraselevel" |
| CurrentControl | "Text1" |
| FontBold | .F. |
| FontName | "Arial" |
| FontSize | 9 |
| ReadOnly | .T. |
| Visible | .T. |
| Baseclass | Class | Object name |
|---|---|---|
| header | header | crightsdialog.cntPanel.GRDGRID.Column6.Header1 |
| textbox | textbox | crightsdialog.cntPanel.GRDGRID.Column6.Text1 |
| Name | Initial value |
|---|---|
| Caption | "Deletelevel" |
| FontBold | .F. |
| FontItalic | .F. |
| FontName | "Arial" |
| FontSize | 9 |
*{ _VFX_BUILDER_CODE
THIS.PARENT.PARENT.onsetorder(THIS.PARENT)
*} _VFX_BUILDER_CODE
| Name | Initial value |
|---|---|
| BorderStyle | 0 |
| Comment | "vfxfopen.eraselevel" |
| FontBold | .F. |
| FontName | "Arial" |
| FontSize | 9 |
| HelpContextID | 188 |
| InputMask | "99" |
| Margin | 0 |
| ReadOnly | .F. |
| Visible | .T. |
*{ _VFX_BUILDER_CODE
LPARAMETERS nkeycode, nshiftaltctrl
THIS.PARENT.PARENT.ocontrol = THIS
IF THIS.PARENT.PARENT.onkeypress( nkeycode, nshiftaltctrl)
NODEFAULT
ENDIF
THIS.PARENT.PARENT.ocontrol = .NULL.
*} _VFX_BUILDER_CODE
*{ _VFX_BUILDER_CODE
IF !THISFORM.lempty
IF !(TYPE("this.ControlSource") $ "MG")
THIS.PARENT.PARENT.onkeyenter()
NODEFAULT
ENDIF
ENDIF
*} _VFX_BUILDER_CODE
| Name | Initial value |
|---|---|
| TabIndex | 1 |
| Name | Initial value |
|---|---|
| Caption | "Search ..." |
| DataSession | 1 |
| DoCreate | .T. |
| lautoresizecontrol | .F. |
| Name | Initial value | Comment |
|---|---|---|
| ^afieldlist[1,1] | .f. | |
| cremotedelimiter | ||
| csearchfilterexpr | .f. |
PARAMETERS tcdatatype,tcfldexpr
LOCAL lctmpexpr, lcvalue
DO CASE
CASE INLIST(tcdatatype,"G","P","O","U")
RETURN ""
CASE INLIST(tcdatatype,"C","M")
IF TYPE("'Test'="+tcfldexpr) # "L"
lctmpexpr = '"'+tcfldexpr+'"'
ELSE
lctmpexpr = tcfldexpr
ENDIF
IF THIS.chkcasesensitive.VALUE = 0
lctmpexpr= "UPPER("+lctmpexpr+")"
ENDIF
RETURN lctmpexpr
CASE INLIST(tcdatatype,"N","F","I","Y","B")
lcvalue = STR( VAL(STRTRAN(tcfldexpr,",")),16,4)
lcvalue = STRTRAN(lcvalue,",",".")
RETURN ALLTRIM(lcvalue)
CASE INLIST(tcdatatype,"D","T")
lctmpexpr=DTOS(CTOD(ALLTRIM(tcfldexpr)))
RETURN "{^"+LEFT(lctmpexpr,4)+"-"+SUBSTR(lctmpexpr,5,2)+"-"+RIGHT(lctmpexpr,2)+"}"
OTHERWISE
RETURN ""
ENDCASE
LOCAL cgetexpr1,cgetexpr2,cjoin,cgetexpr
cgetexpr1 = THIS.searchitem(THIS.cbofields1,THIS.cbooperators1,THIS.txtexpr1)
cgetexpr2 = THIS.searchitem(THIS.cbofields2,THIS.cbooperators2,THIS.txtexpr2)
cjoin = IIF(THIS.optgrpandor.VALUE = 2," OR "," AND ")
DO CASE
CASE EMPTY(cgetexpr1) AND EMPTY(cgetexpr2)
cgetexpr = ""
CASE EMPTY(cgetexpr2)
cgetexpr = cgetexpr1
CASE EMPTY(cgetexpr1)
cgetexpr = cgetexpr2
OTHERWISE
cgetexpr = cgetexpr1+cjoin+cgetexpr2
ENDCASE
RETURN cgetexpr
LPARAMETERS tofield,toop,toexpr
LOCAL cexpr,cdatatype,cop,cfldname,cfldexpr,cretexpr,aexprs,ntotexprs,i
IF TYPE("toField")#"O" OR TYPE("toOp")#"O" OR TYPE("toExpr")#"O"
RETURN ""
ENDIF
IF EMPTY(tofield.LISTINDEX)
RETURN ""
ENDIF
cfldname = ALLTRIM(THIS.afieldlist[toField.ListIndex, 2])
cfldexpr = ALLTRIM(toexpr.VALUE)
IF EMPTY(cfldexpr) AND toop.LISTITEMID # 5
RETURN ""
ENDIF
cdatatype = THIS.afieldlist[toField.ListIndex, 3]
IF cdatatype $ "C,M" AND THIS.chkcasesensitive.VALUE = 0
cfldname = "UPPER("+cfldname+")"
ENDIF
DO CASE
CASE toop.LISTITEMID = 1 && equals
cop = " = "
CASE toop.LISTITEMID = 2 && not equals
cop = " <> "
CASE toop.LISTITEMID = 3 && more than
cop = " > "
CASE toop.LISTITEMID = 4 && less than
cop = " < "
CASE toop.LISTITEMID = 5 && is blank
RETURN " EMPTY("+cfldname+") "
CASE toop.LISTITEMID = 6 && is NULL
RETURN " ISNULL("+cfldname+") "
CASE cdatatype $ "LN" && don't allow other options for logical and numerical type
cop = " = "
CASE toop.LISTITEMID = 7 && contains
cfldexpr = THIS.dataexpr(cdatatype,cfldexpr)
RETURN " AT("+cfldexpr+","+cfldname+") > 0"
OTHERWISE
ntotexprs = OCCURS(",",cfldexpr)+1
DIMENSION aexprs[nTotExprs]
FOR i = 1 TO ntotexprs
DO CASE
CASE i = ntotexprs
aexprs[i] = SUBSTR(cfldexpr,RAT(",",cfldexpr)+1)
CASE i =1
aexprs[i] = LEFT(cfldexpr,AT(",",cfldexpr)-1)
OTHERWISE
aexprs[i] = SUBSTR(cfldexpr,AT(",",cfldexpr,i-1)+1,AT(",",cfldexpr,i)-AT(",",cfldexpr,i-1)-1)
ENDCASE
aexprs[i] = THIS.dataexpr(cdatatype,aexprs[i])
ENDFOR
DO CASE
CASE toop.LISTITEMID = 8 && in
cfldexpr = ""
FOR i = 1 TO ntotexprs
cfldexpr = cfldexpr + aexprs[i]
IF i # ntotexprs
cfldexpr = cfldexpr + ","
ENDIF
ENDFOR
RETURN " INLIST("+cfldname+","+cfldexpr+") "
CASE toop.LISTITEMID = 9 && between
IF ALEN(aexprs)=1
DIMENSION aexprs[2]
aexprs[2] = aexprs[1]
ENDIF
IF ALEN(aexprs)>2
DIMENSION aexprs[2]
ENDIF
RETURN " BETWEEN("+cfldname+","+aexprs[1]+","+aexprs[2]+") "
OTHERWISE
RETURN ""
ENDCASE
ENDCASE
DO CASE
CASE INLIST(cdatatype,"M","G","P","O","U")
RETURN ""
CASE cdatatype = "L"
IF TYPE(cfldname+cop+cfldexpr) # "L"
IF AT(cfldexpr,"fFnN")#0
cfldname = "!"+cfldname
ENDIF
RETURN cfldname
ENDIF
OTHERWISE
cfldexpr = THIS.dataexpr(cdatatype,cfldexpr)
ENDCASE
IF EMPTY(cfldexpr)
RETURN ""
ELSE
RETURN UPPER(cfldname+cop)+cfldexpr
ENDIF
RETURN THISFORM.csearchfilterexpr
LPARAMETERS tofieldlist
LOCAL lnitem, lccaption, lcfield
THISFORM.langsetup()
THISFORM.csearchfilterexpr = .F.
IF VARTYPE(toFieldList)="O"
DIMENSION THIS.afieldlist[toFieldList.nListCount,3]
ELSE
DIMENSION THIS.afieldlist[FCOUNT(),3]
ENDIF
IF VARTYPE(goProgram)="O"
IF EMPTY(DBC())
SET DATABASE TO (goprogram.cmaindatabase)
ENDIF
ENDIF
IF VARTYPE(toFieldList)="O"
FOR lnitem = 1 TO tofieldlist.nlistcount
lccaption = ""
lcfield = UPPER(tofieldlist.getitem(lnitem))
lccaption = tofieldlist.getcaption(lnitem)
IF EMPTY(lccaption)
IF !EMPTY(DBC())
IF INDBC(lcfield,"FIELD")
lccaption = DBGETPROP(lcfield, "FIELD", "CAPTION")
ENDIF
ENDIF
IF EMPTY(lccaption)
lccaption = PROPER(STRTRAN(UPPER(FIELD(lnitem)),'_',' '))
ENDIF
ENDIF
THIS.afieldlist[lnItem,1] = lccaption
THIS.afieldlist[lnItem,2] = lcfield
THIS.afieldlist[lnItem,3] = TYPE(lcfield)
NEXT
ELSE
FOR lnitem = 1 TO FCOUNT()
lccaption = ""
lcfield = UPPER(ALIAS()+"."+FIELD(lnitem))
IF !EMPTY(DBC())
IF INDBC(lcfield,"FIELD")
lccaption = DBGETPROP(lcfield, "FIELD", "CAPTION")
ENDIF
ENDIF
IF EMPTY(lccaption)
lccaption = PROPER(STRTRAN(UPPER(FIELD(lnitem)),'_',' '))
ENDIF
THIS.afieldlist[lnItem,1] = lccaption
THIS.afieldlist[lnItem,2] = lcfield
THIS.afieldlist[lnItem,3] = TYPE(FIELD(lnitem))
IF THIS.afieldlist[lnItem,3] = "U"
lcoldonerror = ON("ERROR")
ON ERROR * && Ignore errors
lvvalue = &lcfield
ON ERROR &lcoldonerror
IF NOT VARTYPE(lvvalue) = "U"
THIS.afieldlist[lnItem,3] = VARTYPE(lvvalue)
ENDIF
ENDIF
NEXT
ENDIF
THIS.cbofields1.REQUERY()
THIS.cbofields1.LISTINDEX = 1
THIS.cbofields2.REQUERY()
THIS.cbofields2.LISTINDEX = 1
RETURN DODEFAULT()
**__VFX_WIZARD_HEADER - 08/07/96 04:32:46 PM
THISFORM.CAPTION = cap_frmsearch
THISFORM.cmdsearch.CAPTION = cap_cmdsearch
THISFORM.cmdcancelsearch.CAPTION = cap_cmdcancelsearch
THISFORM.lblfield.CAPTION = cap_lblfield
THISFORM.lbloperator.CAPTION = cap_lbloperator
THISFORM.lblvalue.CAPTION = cap_lblvalue
THISFORM.optgrpandor.option1.CAPTION = cap_and
THISFORM.optgrpandor.option2.CAPTION = cap_or
THISFORM.chkcasesensitive.CAPTION = cap_casesensitive
THISFORM.cmdclose.CAPTION = cap_cmdclose
RETURN .T.
**__VFX_WIZARD_FOOTER
***********************************************************
| Baseclass | Class | Object name |
|---|---|---|
| checkbox | checkbox | csearchdialog.chkCaseSensitive |
| combobox | combobox | csearchdialog.cboFields1 |
| csearchdialog.cboFields2 | ||
| csearchdialog.cboOperators1 | ||
| csearchdialog.cboOperators2 | ||
| commandbutton | ccommandbutton | csearchdialog.cmdCancelSearch |
| csearchdialog.cmdClose | ||
| csearchdialog.cmdSearch | ||
| label | label | csearchdialog.lblField |
| csearchdialog.lblOperator | ||
| csearchdialog.lblValue | ||
| optiongroup | optiongroup | csearchdialog.optgrpAndOr |
| textbox | textbox | csearchdialog.txtExpr1 |
| csearchdialog.txtExpr2 |
| Name | Initial value |
|---|---|
| AutoSize | .T. |
| BackStyle | 0 |
| Caption | "Case Sensiti\<ve" |
| FontName | "Arial" |
| HelpContextID | 162 |
| TabIndex | 11 |
| Name | Initial value |
|---|---|
| ControlSource | "" |
| HelpContextID | 155 |
| RowSource | "thisForm.aFieldList" |
| RowSourceType | 5 |
| Style | 2 |
| TabIndex | 2 |
| Name | Initial value |
|---|---|
| ControlSource | "" |
| HelpContextID | 159 |
| RowSource | "thisForm.aFieldList" |
| RowSourceType | 5 |
| Style | 2 |
| TabIndex | 8 |
| Name | Initial value |
|---|---|
| ControlSource | "" |
| HelpContextID | 156 |
| Style | 2 |
| TabIndex | 4 |
IF INLIST(THIS.LISTITEMID,5,6)
THIS.PARENT.txtexpr1.VALUE = ""
ENDIF
THIS.PARENT.txtexpr1.ENABLED = !INLIST(THIS.LISTITEMID,5,6)
THIS.ADDITEM(msg_operators)
THIS.VALUE = THIS.LIST[1]
| Name | Initial value |
|---|---|
| ControlSource | "" |
| HelpContextID | 160 |
| Style | 2 |
| TabIndex | 9 |
THIS.ADDITEM(msg_operators)
THIS.VALUE = THIS.LIST[1]
IF INLIST(THIS.LISTITEMID,5,6)
THIS.PARENT.txtexpr2.VALUE = ""
ENDIF
THIS.PARENT.txtexpr2.ENABLED = !INLIST(THIS.LISTITEMID,5,6)
| Name | Initial value |
|---|---|
| Caption | "\<Cancel Search" |
| HelpContextID | 154 |
| TabIndex | 13 |
| ToolTipText | "" |
THISFORM.csearchfilterexpr = ""
THISFORM.RELEASE()
| Name | Initial value |
|---|---|
| Caption | "\<Close" |
| HelpContextID | 163 |
| TabIndex | 13 |
| ToolTipText | "" |
THISFORM.RELEASE()
| Name | Initial value |
|---|---|
| Caption | "\<Search" |
| Default | .T. |
| HelpContextID | 153 |
| TabIndex | 12 |
| ToolTipText | "" |
THISFORM.csearchfilterexpr = THISFORM.searchexpr()
THISFORM.RELEASE()
| Name | Initial value |
|---|---|
| AutoSize | .T. |
| BackStyle | 0 |
| Caption | "Field" |
| TabIndex | 1 |
| Name | Initial value |
|---|---|
| AutoSize | .T. |
| BackStyle | 0 |
| Caption | "Operator" |
| TabIndex | 3 |
| Name | Initial value |
|---|---|
| AutoSize | .T. |
| BackStyle | 0 |
| Caption | "Value" |
| TabIndex | 5 |
| Name | Initial value |
|---|---|
| BackStyle | 0 |
| BorderStyle | 1 |
| ButtonCount | 2 |
| HelpContextID | 158 |
| TabIndex | 7 |
| Value | 1 |
THIS.VALUE =1
| Baseclass | Class | Object name |
|---|---|---|
| zzz | zzz | csearchdialog.optgrpAndOr.Option1 |
| csearchdialog.optgrpAndOr.Option2 |
| Name | Initial value |
|---|---|
| BackStyle | 0 |
| Caption | "\<And" |
| FontName | "Arial" |
| Value | 1 |
| Name | Initial value |
|---|---|
| Alignment | 0 |
| BackStyle | 0 |
| Caption | "\<Or" |
| FontName | "Arial" |
| Value | 0 |
| Name | Initial value |
|---|---|
| HelpContextID | 157 |
| TabIndex | 6 |
| Name | Initial value |
|---|---|
| HelpContextID | 161 |
| TabIndex | 10 |
| Name | Initial value |
|---|---|
| AlwaysOnTop | .T. |
| AutoCenter | .F. |
| Caption | "CSplasDialog" |
| Closable | .F. |
| ControlBox | .F. |
| Desktop | .T. |
| DoCreate | .T. |
| MDIForm | .F. |
| MaxButton | .F. |
| MinButton | .F. |
| Movable | .F. |
| ShowWindow | 2 |
NODEFAULT
LPARAMETERS tcbitmap
THIS.CAPTION = ""
THIS.BORDERSTYLE = 0 && No Border
THIS.imgbitmap.PICTURE = tcbitmap
THIS.imgbitmap.TOP = 0
THIS.imgbitmap.LEFT = 0
THIS.WIDTH = THIS.imgbitmap.WIDTH
THIS.HEIGHT = THIS.imgbitmap.HEIGHT
THIS.AUTOCENTER = .T.
| Baseclass | Class | Object name |
|---|---|---|
| image | image | csplashdialog.imgBitmap |
| Name | Initial value |
|---|---|
| HelpContextID | 140 |
| Stretch | 0 |
| Name | Initial value |
|---|---|
| Caption | "System Errors" |
| DoCreate | .T. |
| lmultiinstance | .F. |
| npageedit | 1 |
| npagelist | 2 |
LPARAMETERS tcarg
THIS.lcanedit = .F.
THIS.lcaninsert = .F.
IF VARTYPE(goProgram)="O"
THIS.lcandelete = m.gu_userlevel=1
ELSE
PUBLIC gu_userlevel
gu_userlevel = 1
THIS.lcandelete = .F.
ENDIF
RETURN DODEFAULT(tcarg)
**__VFX_WIZARD_HEADER - 08/07/96 04:33:06 PM
thisForm.Caption = CAP_FRMSYSTEMERRORS
WITH thisform.pgfpageframe
.page1.Caption = CAP_DATA
.page1.lbltype.Caption = CAP_LBLTYPE
.page1.lbluser.Caption = CAP_LBLUSER
.page1.lbldate.Caption = CAP_LBLDATE
.page1.lbltime.Caption = CAP_LBLTIME
.page1.lblerror.Caption = CAP_LBLERROR
.page1.cmddelall.Caption = CAP_CMDDELETEALL
.page2.Caption = CAP_LIST
ENDWITH
return .T.
**__VFX_WIZARD_FOOTER
***********************************************************
*{ _VFX_BUILDER_CODE
DODEFAULT()
THISFORM.cntspeedbar.REFRESH()
*} _VFX_BUILDER_CODE
| Baseclass | Class | Object name |
|---|---|---|
| container | cspeedbar | csyserrdialog.CNTSPEEDBAR |
| zzz | zzz | csyserrdialog.LBLMSGEMPTY |
| csyserrdialog.pgfPageFrame |
| Name | Initial value |
|---|---|
| HelpContextID | 237 |
| Name | Initial value |
|---|---|
| ActivePage | 1 |
| Comment | " |
| ErasePage | .T. |
| PageCount | 2 |
| lusegrid | .T. |
| Baseclass | Class | Object name |
|---|---|---|
| zzz | zzz | csyserrdialog.pgfPageFrame.Page1 |
| csyserrdialog.pgfPageFrame.Page2 |
| Name | Initial value |
|---|---|
| Caption | "Data" |
| Name | Initial value |
|---|---|
| Caption | "\<Delete All" |
| HelpContextID | 243 |
| TabIndex | 7 |
DELETE ALL
=TABLEUPDATE(.T.,.T.)
THISFORM.lempty = .T.
THISFORM.REFRESH()
DODEFAULT()
THIS.ENABLED = m.gu_userlevel = 1
| Name | Initial value |
|---|---|
| ControlSource | "vfxlog.message" |
| HelpContextID | 244 |
| TabIndex | 6 |
| Name | Initial value |
|---|---|
| Caption | "Date" |
| TabIndex | 11 |
| Name | Initial value |
|---|---|
| Caption | "Error" |
| TabIndex | 10 |
| Name | Initial value |
|---|---|
| Caption | "Time" |
| TabIndex | 12 |
| Name | Initial value |
|---|---|
| Caption | "Type" |
| TabIndex | 8 |
| Name | Initial value |
|---|---|
| Caption | "User" |
| TabIndex | 9 |
| Name | Initial value |
|---|---|
| ControlSource | "vfxlog.date" |
| HelpContextID | 240 |
| InputMask | "" |
| ReadOnly | .F. |
| TabIndex | 4 |
| Value | date |
| Name | Initial value |
|---|---|
| ControlSource | "vfxlog.error" |
| HelpContextID | 242 |
| InputMask | "9999" |
| ReadOnly | .F. |
| TabIndex | 3 |
| Name | Initial value |
|---|---|
| ControlSource | "vfxlog.time" |
| HelpContextID | 241 |
| InputMask | "" |
| ReadOnly | .F. |
| TabIndex | 5 |
| Name | Initial value |
|---|---|
| ControlSource | "vfxlog.type" |
| HelpContextID | 238 |
| InputMask | "XXXXXXXXXX" |
| ReadOnly | .F. |
| TabIndex | 1 |
| Name | Initial value |
|---|---|
| ControlSource | "vfxlog.user" |
| HelpContextID | 239 |
| InputMask | "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" |
| ReadOnly | .F. |
| TabIndex | 2 |
| Name | Initial value |
|---|---|
| Caption | "List" |
| Baseclass | Class | Object name |
|---|---|---|
| grid | cgrid | csyserrdialog.pgfPageFrame.Page2.grdGrid |
| Name | Initial value |
|---|---|
| ColumnCount | -1 |
| HelpContextID | 245 |
| Panel | 1 |
| ReadOnly | .T. |
| RecordSource | "VFXLOG" |
| Name | Initial value |
|---|---|
| DoCreate | .T. |
LPARAMETERS tlarg1
THISFORM.cntbuttonbar.REFRESH()
RETURN DODEFAULT(tlarg1)
| Baseclass | Class | Object name |
|---|---|---|
| container | cnavigator | csyserrdialogbar.cntButtonBar |
| zzz | zzz | csyserrdialogbar.CNTSPEEDBAR |
| csyserrdialogbar.lblMsgEmpty | ||
| csyserrdialogbar.pgfPageFrame |
| Name | Initial value |
|---|---|
| HelpContextID | 141 |
| Name | Initial value |
|---|---|
| ErasePage | .T. |
| Baseclass | Class | Object name |
|---|---|---|
| zzz | zzz | csyserrdialogbar.pgfPageFrame.Page1 |
| csyserrdialogbar.pgfPageFrame.Page2 |
| Baseclass | Class | Object name |
|---|---|---|
| zzz | zzz | csyserrdialogbar.pgfPageFrame.Page2.grdGrid |
| Name | Initial value |
|---|---|
| Caption | "CSystemDialog" |
| DoCreate | .T. |
| MaxButton | .F. |
| MinButton | .F. |
| lputinlastfile | .T. |
| lputinwindowmenu | .T. |
| Name | Initial value | Comment |
|---|---|---|
| lmultipage | .f. |
IF THIS.lmultipage
IF THIS.pgfpageframe.ACTIVEPAGE < THIS.pgfpageframe.PAGECOUNT
THIS.pgfpageframe.ACTIVEPAGE = THIS.pgfpageframe.ACTIVEPAGE + 1
THISFORM.REFRESH()
ENDIF
ENDIF
IF THIS.lmultipage
IF THIS.pgfpageframe.ACTIVEPAGE > 1
THIS.pgfpageframe.ACTIVEPAGE = THIS.pgfpageframe.ACTIVEPAGE - 1
THISFORM.REFRESH()
ENDIF
ENDIF
LOCAL lnmaxfields,lcfield, lcpublicname, i
SELECT vfxsys
lnmaxfields = FCOUNT()
FOR i = 1 TO lnmaxfields
lcfield = FIELD(i)
lcpublicname = "gs_" + FIELD(i)
PUBLIC (lcpublicname)
&lcpublicname. = EVALUATE(lcfield)
NEXT
LOCAL lnmaxfields,lcfield, lcpublicname, i
lnmaxfields = FCOUNT()
FOR i = 1 TO lnmaxfields
lcfield = FIELD(i)
lcpublicname = "gs_" + FIELD(i)
PUBLIC (lcpublicname)
IF RLOCK()
REPLACE &lcfield. WITH &lcpublicname. IN vfxsys
ENDIF
UNLOCK
NEXT
LOCAL j, loform
FOR j = 1 TO _SCREEN.FORMCOUNT
loform = _SCREEN.FORMS[j]
IF TYPE("loForm.LockScreen") != "U"
loform.LOCKSCREEN = .T.
ENDIF
IF pemstatus(loform,'Refresh',5)
loform.REFRESH()
ENDIF
IF TYPE("loForm.LockScreen") != "U"
loform.LOCKSCREEN = .F.
ENDIF
NEXT
IF TYPE("goProgram")=="O"
IF !DBUSED(goprogram.cmaindatabase)
OPEN DATABASE (goprogram.cdatadir+"\"+goprogram.cmaindatabase) SHARED
ENDIF
SET DATABASE TO (goprogram.cdatadir+"\"+goprogram.cmaindatabase)
ELSE
LOCAL lcdatabase, ladata[1]
= ADIR(ladata,"data\*.dbc","A")
IF !EMPTY(ladata)
lcdatabase = STRTRAN(LOWER(ladata[1,1]),".dbc","")
OPEN DATA ("data\"+lcdatabase) SHARED
SET DATA TO ("data\"+lcdatabase)
ELSE
lcdatabase = GETFILE('DBC')
IF EMPTY(lcdatabase)
RETURN .F.
ENDIF
OPEN DATA (lcdatabase) SHARED
lcdatabase = LEFT(lcdatabase,RAT(".",lcdatabase)-1)
lcdatabase = SUBSTR(lcdatabase,RAT("\",lcdatabase)+1)
SET DATA TO (lcdatabase)
ENDIF
ENDIF
DODEFAULT()
THIS.BORDERSTYLE = 2
THIS.lmultipage = THIS.pgfpageframe.PAGECOUNT > 1
DODEFAULT()
THISFORM.systemread()
THISFORM.REFRESH()
**__VFX_WIZARD_HEADER - 07/28/96 12:17:27 PM
thisForm.Caption = CAP_FRMSYSTEMPARAMETERS
thisform.cmdok.Caption = CAP_CMDOK
thisform.cmdcancel.Caption = CAP_CMDCANCEL
return .T.
**__VFX_WIZARD_FOOTER
***********************************************************
| Baseclass | Class | Object name |
|---|---|---|
| commandbutton | ccommandbutton | csystemdialog.cmdCancel |
| csystemdialog.cmdOK | ||
| pageframe | cpageframe | csystemdialog.pgfPageFrame |
| Name | Initial value |
|---|---|
| Caption | "\<Cancel" |
| HelpContextID | 190 |
| TabIndex | 4 |
THISFORM.systemread()
THISFORM.RELEASE()
| Name | Initial value |
|---|---|
| Caption | "\<OK" |
| HelpContextID | 189 |
| TabIndex | 3 |
THISFORM.refreshall()
THISFORM.systemwrite()
THISFORM.RELEASE()
| Name | Initial value |
|---|---|
| ErasePage | .T. |
| TabIndex | 1 |
| Baseclass | Class | Object name |
|---|---|---|
| zzz | zzz | csystemdialog.pgfPageFrame.Page1 |
| Name | Initial value |
|---|---|
| Caption | "CTableForm" |
| DoCreate | .T. |
| _vfxclassname | CTableForm |
| lputinlastfile | .T. |
| lputinwindowmenu | .T. |
LPARAMETERS tcarg
IF DODEFAULT()
THIS.cntpanel.grdgrid.onsetorder()
RETURN .T.
ENDIF
RETURN .F.
DODEFAULT()
LOCAL j, lcerror
lcerror = ON('ERROR')
_vfx_error = .F.
ON ERROR _vfx_error = .T.
FOR j = 1 TO THIS.CONTROLCOUNT
FOR k = 1 TO THIS.CONTROLS[j].CONTROLCOUNT
IF LOWER(THIS.CONTROLS[j].CONTROLS[k].BASECLASS) = 'grid' AND ;
pemstatus(THIS.CONTROLS[j].CONTROLS[k],'_VFXClassName',5) AND ;
LOWER(THIS.CONTROLS[j].CONTROLS[k]._vfxclassname) = 'cgrid'
THIS.CONTROLS[j].CONTROLS[k].onsaveposition()
ENDIF
NEXT
NEXT
ON ERROR &lcerror
RELEASE _vfx_error
IF VARTYPE(goProgram)="O" AND goprogram.ldebugmode
SET ESCAPE ON
ON SHUTDOWN
ON ERROR
ENDIF
DODEFAULT()
LOCAL j, lcerror
lcerror = ON('ERROR')
_vfx_error = .F.
ON ERROR _vfx_error = .T.
FOR j = 1 TO THIS.CONTROLCOUNT
FOR k = 1 TO THIS.CONTROLS[j].CONTROLCOUNT
IF LOWER(THIS.CONTROLS[j].CONTROLS[k].BASECLASS) = 'grid' AND ;
pemstatus(THIS.CONTROLS[j].CONTROLS[k],'_VFXClassName',5) AND ;
LOWER(THIS.CONTROLS[j].CONTROLS[k]._vfxclassname) = 'cgrid'
THIS.CONTROLS[j].CONTROLS[k].onloadposition()
ENDIF
NEXT
NEXT
ON ERROR &lcerror
RELEASE _vfx_error
IF VARTYPE(goProgram)="O" AND goprogram.ldebugmode
SET ESCAPE ON
ON SHUTDOWN
ON ERROR
ENDIF
LPARAMETERS tlnotrefresh, tlalltables
LOCAL lretcode
THISFORM.dispbegin()
lretcode = DODEFAULT(tlnotrefresh, tlalltables)
LOCAL lopickfield
lopickfield = THISFORM.opickfield
IF !(VARTYPE(lopickfield) = "O" AND !ISNULL(lopickfield))
THISFORM.cntpanel.grdgrid.REFRESH()
LOCAL lfromvalid
lfromvalid = .F.
IF VARTYPE(__VFX_FromValid)="L" AND __vfx_fromvalid
lfromvalid = .T.
ENDIF
IF !lfromvalid
THISFORM.cntpanel.grdgrid.SETFOCUS()
ENDIF
ENDIF
THISFORM.dispend()
RETURN lretcode
IF THISFORM.lhidewhenempty
DODEFAULT()
THISFORM.cntpanel.VISIBLE = !THISFORM.lempty
ENDIF
=setfirstfocus(THISFORM.cntpanel)
THISFORM.LOCKSCREEN = .T.
DODEFAULT()
WITH THISFORM.cntpanel.grdgrid
IF !THISFORM.lempty AND THISFORM.nformstatus = 0
LOCAL lfromvalid
lfromvalid = .F.
IF VARTYPE(__VFX_FromValid)="L" AND __vfx_fromvalid
lfromvalid = .T.
ENDIF
IF !lfromvalid
.SETFOCUS()
ENDIF
ENDIF
ENDWITH
THISFORM.LOCKSCREEN = .F.
THISFORM.LOCKSCREEN = .T.
IF THISFORM.lusehook
LOCAL luhookvalue
luhookvalue = THISFORM.oneventhook("Refresh",THIS,THISFORM)
DO CASE
CASE VARTYPE(luhookvalue)="L"
IF !luhookvalue
RETURN .T.
ENDIF
CASE VARTYPE(luhookvalue)="N"
RETURN luhookvalue=0
ENDCASE
ENDIF
THISFORM.LOCKSCREEN = .F.
IF TYPE("thisForm.oIdxManager.aIndexList") <> "U"
=ACOPY(THISFORM.oidxmanager.aindexlist, latempidx)
ENDIF
DODEFAULT()
LOCAL logrid, lccontrolname, locurrentcontrol
logrid=THISFORM.cntpanel.grdgrid
IF pemstatus(logrid,'_VFXClassName',5) AND ;
ALLTRIM(LOWER(logrid._vfxclassname)) == "cgrid"
IF TYPE("goProgram.lremakeidxafterclear")="L" AND goprogram.lremakeidxafterclear
logrid.csavesortcolumns = logrid.csortcolumns
logrid.csavesortexpr = logrid.csortexpr
ENDIF
logrid.csortcolumns = ""
logrid.csortexpr = ""
ENDIF
IF TYPE("goProgram.nShowGridOrderType")="N" AND goprogram.nshowgridordertype = 1 && Header
logrid.SETALL('FontUnderline', .F., 'Header')
ELSE && Colors
IF logrid.ctitlecolor = -1
IF TYPE("logrid.Columns[1].Header1") = "O"
logrid.ctitlecolor = logrid.COLUMNS[1].header1.BACKCOLOR
ELSE
logrid.ctitlecolor = RGB(192,192,192)
ENDIF
ENDIF
logrid.SETALL('BackColor', logrid.ctitlecolor, 'Header')
ENDIF
FOR lni = 1 TO logrid.COLUMNCOUNT
IF TYPE("logrid.columns[lni].header1") = "O" AND ;
CHR(160) $ logrid.COLUMNS[lni].header1.CAPTION
WITH logrid.COLUMNS[lni].header1
.CAPTION = SUBSTR(.CAPTION, 1, AT(CHR(160), .CAPTION) -1)
ENDWITH
ENDIF
lccontrolname = logrid.COLUMNS[lni].CURRENTCONTROL
locurrentcontrol = logrid.COLUMNS[lni].&lccontrolname
IF VARTYPE(loCurrentControl) = "O"
WITH locurrentcontrol
IF TYPE(".tag") = "C" AND TYPE("laTempIDX") <> "U" AND ;
ASCAN(latempidx,.TAG) > 0
.TAG = ""
ENDIF
ENDWITH
ENDIF
NEXT lni
IF VARTYPE(laTempIDX) <> "U"
RELEASE ARRAY latempidx
ENDIF
| Baseclass | Class | Object name |
|---|---|---|
| container | ccontainer | ctableform.cntPanel |
| zzz | zzz | ctableform.lblMsgEmpty |
| Name | Initial value |
|---|---|
| BackStyle | 1 |
| HelpContextID | 191 |
| TabIndex | 0 |
| ZOrderSet | 1 |
IF pemstatus(THIS,'grdGrid',5) AND !THISFORM.lempty AND THISFORM.nformstatus=0
LOCAL lfromvalid
lfromvalid = .F.
IF TYPE("__VFX_FromValid")=="L" AND __vfx_fromvalid
lfromvalid = .T.
ENDIF
IF THISFORM.lsetfocus AND !lfromvalid
IF (TYPE("thisform.activecontrol") = "O" AND ;
!ISNULL(THISFORM.ACTIVECONTROL) AND ;
!LOWER(THISFORM.ACTIVECONTROL.NAME) = "grdgrid")
THIS.grdgrid.SETFOCUS()
ENDIF
ENDIF
ENDIF
| Baseclass | Class | Object name |
|---|---|---|
| grid | cgrid | ctableform.cntPanel.grdGrid |
| Name | Initial value |
|---|---|
| HelpContextID | 192 |
| TabIndex | 999 |
| lautosaveposition | .F. |
IF THISFORM.nformstatus != 0
RETURN .F.
ENDIF
RETURN DODEFAULT()
DODEFAULT()
IF pemstatus(THISFORM,"nFormStatus",5)
IF THISFORM.nformstatus != 0
IF THISFORM.recordchanged() OR THISFORM.nformstatus = 2
IF !THISFORM.asktosave()
** Do Nothing
RETURN .F.
ENDIF
ELSE
THISFORM.nformstatus = 0
THISFORM.CAPTION = THISFORM.coldtitle
THISFORM.refreshtoolbar(.T.)
THISFORM.onformstatuschange()
ENDIF
ENDIF
ENDIF
THISFORM.REFRESH()
IF TYPE("_VFX_FORM_WIZARD")#"U" OR TYPE("goprogram.name")#"C"
THIS.lautosaveposition=.F.
ENDIF
RETURN DODEFAULT()
| Name | Initial value |
|---|---|
| TabIndex | 1 |
| Visible | .F. |
| ZOrderSet | 0 |
| Name | Initial value |
|---|---|
| Caption | "CToolBarDialog" |
| DoCreate | .T. |
**__VFX_WIZARD_HEADER - 08/07/96 04:33:45 PM
thisForm.Caption = CAP_FRMTOOLBARS
thisform.lbltoolbar.Caption = CAP_LBLTOOLBARS
thisform.cmdok.Caption = CAP_CMDOPEN
thisform.cmdcancel.Caption = CAP_CMDCANCEL
return .T.
**__VFX_WIZARD_FOOTER
***********************************************************
LOCAL j, lnmaxitem
IF VARTYPE(goProgram)#"O"
RETURN .F.
ENDIF
lnmaxitem = ALEN(goprogram.atoolbar,1)
IF lnmaxitem = 0 OR TYPE("goProgram.aToolBar[1,1]")="L"
RETURN .F.
ENDIF
FOR lnitem = 1 TO lnmaxitem
THISFORM.lsttoolbar.ADDLISTITEM(goprogram.atoolbar[lnItem,2], lnitem)
NEXT
THISFORM.lsttoolbar.LISTINDEX = 1
THISFORM.lsttoolbar.INTERACTIVECHANGE()
THIS.AUTOCENTER = .T.
RETURN DODEFAULT()
| Baseclass | Class | Object name |
|---|---|---|
| commandbutton | ccommandbutton | ctoolbardialog.cmdCancel |
| ctoolbardialog.cmdOk | ||
| label | clabel | ctoolbardialog.lblToolbar |
| listbox | clistbox | ctoolbardialog.lstToolbar |
| Name | Initial value |
|---|---|
| Caption | "\<Cancel" |
| HelpContextID | 152 |
THISFORM.RELEASE()
| Name | Initial value |
|---|---|
| Caption | "\<Open" |
| Default | .T. |
| HelpContextID | 151 |
THISFORM.lsttoolbar.DBLCLICK()
THISFORM.RELEASE()
| Name | Initial value |
|---|---|
| Caption | "Toolbars" |
| Name | Initial value |
|---|---|
| HelpContextID | 150 |
| MultiSelect | .T. |
| RowSource | "" |
| Sorted | .T. |
| lautosetup | .F. |
LOCAL lnitem, oobject, j
lnitem = THIS.INDEXTOITEMID(THIS.LISTINDEX)
IF TYPE("goProgram.aToolBar[lnItem,1]")="O" AND ISNULL(goprogram.atoolbar[lnItem,1])
oobject = CREATEOBJECT(goprogram.atoolbar[lnItem,3])
goprogram.atoolbar[lnItem,1] = oobject
goprogram.atoolbar[lnItem,4] = .T.
goprogram.atoolbar[lnItem,5] = 1
ELSE
oobject = goprogram.atoolbar[lnItem,1]
ENDIF
oobject.SHOW()
oobject.REFRESH()
FOR j = 1 TO _SCREEN.FORMCOUNT
IF TYPE("_screen.Forms[j].cToolBarClass") = "C"
IF UPPER(_SCREEN.FORMS[j].ctoolbarclass) == UPPER(oobject.CLASS)
IF TYPE("_screen.Forms[j].oToolBar")=="O"
_SCREEN.FORMS[j].otoolbar = oobject
ENDIF
_SCREEN.FORMS[j].lshowtoolbar = .T.
ENDIF
ENDIF
NEXT
| Name | Initial value |
|---|---|
| Caption | "User List" |
| DoCreate | .T. |
| lmultiinstance | .F. |
| Name | Initial value | Comment |
|---|---|---|
| ninitheight | .f. | |
| ninitwidth | .f. | |
| nlastfile | 4 |
DODEFAULT()
this.nlastfile=vfxusr.lastfile+4
LOCAL lchanged
lchanged = DODEFAULT()
IF !lchanged
IF TYPE("thisForm.ActiveControl")="O"
IF LOWER(THISFORM.ACTIVECONTROL.NAME) = "txtpassword"
RETURN .T.
ENDIF
ENDIF
ENDIF
REPLACE lastfile WITH this.nlastfile-4 IN vfxusr
gu_lastfile=this.nlastfile-4
IF EMPTY(vfxusr.USER)
=MESSAGEBOX(THISFORM.pgfpageframe.page1.lbluser.CAPTION+": "+msg_bad_input,16)
RETURN .F.
ENDIF
IF m.gu_userlevel = 1 AND !(ALLTRIM(UPPER(m.gu_user))==ALLTRIM(UPPER(vfxusr.USER)))
DODEFAULT()
ELSE
WAIT WINDOW msg_cant_delete
ENDIF
IF ALLTRIM(UPPER(vfxusr.USER)) == "ADMIN" OR RECCOUNT() = 1
RETURN .F.
ENDIF
DODEFAULT()
gu_userlevel = MAX(1,gu_userlevel)
this.nlastfile=4
REPLACE userlevel WITH gu_userlevel, firstview WITH 1, lastfile WITH 0 IN vfxusr
IF ALLTRIM(UPPER(m.gu_user)) == ALLTRIM(UPPER(vfxusr.USER)) OR m.gu_userlevel = 1
DODEFAULT()
ELSE
WAIT WINDOW msg_cant_edit
THISFORM.onundo()
ENDIF
THISFORM.cntspeedbar.REFRESH()
LPARAMETERS tcarg
THISFORM.ninitwidth = THISFORM.WIDTH
THISFORM.ninitheight = THISFORM.HEIGHT
WITH THISFORM.pgfpageframe.page1.txtpassword
IF !EMPTY(.CONTROLSOURCE)
.COMMENT = .CONTROLSOURCE
ENDIF
ENDWITH
IF VARTYPE(GU_UserLevel)="U"
PUBLIC gu_userlevel
gu_userlevel = 1
ENDIF
IF VARTYPE(GU_User)="U"
PUBLIC gu_user
gu_user = "ADMIN"
ENDIF
LOCAL lcfilterexpr
THIS.lcandelete = m.gu_userlevel = 1
THIS.lcaninsert = m.gu_userlevel = 1
IF !THISFORM.lworkonview
THIS.cfilterexpr = "USERLEVEL >= GU_USERLEVEL"
ENDIF
IF DODEFAULT(tcarg)
IF !SEEK(UPPER(ALLTRIM(m.gu_user)),"vfxusr","user")
LOCATE
ENDIF
this.onrecordmove()
ELSE
RETURN .F.
ENDIF
**__VFX_WIZARD_HEADER - 08/07/96 04:34:07 PM
thisForm.Caption = CAP_FRMUSERLIST
WITH thisform.pgfpageframe.page1
.Caption = CAP_EDIT
.lbluser.Caption = CAP_LBLUSERNAME
.lblusername.Caption = CAP_LBLNAME
.lblfirstview.Caption = CAP_LBLSHOWFORMSFIRSTIN
.cmdinitres.Caption = CAP_CMDCLEARRESOURCE
.opgfirstview.option1.Caption = CAP_EDITMODE
.opgfirstview.option2.Caption = CAP_LISTMODE
.lblpassword.Caption = CAP_LBLPASSWORD
.lbluserlevel.Caption = CAP_LBLUSERLEVEL
.lbluseraccess.Caption = CAP_LBLUSERACCESS
.lbllastfile.Caption = CAP_LBLLASTFILE
ENDWITH
thisform.pgfpageframe.page2.Caption = CAP_LIST
return .T.
**__VFX_WIZARD_FOOTER
***********************************************************
DODEFAULT()
LOCAL lcpassword
lcpassword = ALLTRIM(PASSWORD)
IF ALLTRIM(UPPER(m.gu_user)) == ALLTRIM(UPPER(vfxusr.USER))
lnmaxfield = FCOUNT()
FOR lnindex = 1 TO lnmaxfield
lcfield = FIELD(lnindex)
lcpublicname = "gu_" + lcfield
PUBLIC (lcpublicname)
&lcpublicname = EVALUATE(lcfield)
IF LOWER(lcpublicname)=="gu_lastfile"
gu_lastfile=gu_lastfile+4
goprogram.nlastfilecount=gu_lastfile
DIMENSION goprogram.alastform[MAX(1,goprogram.nlastfilecount),2]
goprogram.viewlastfilemenu()
ENDIF
NEXT
gu_password = lcpassword
ENDIF
THIS.refreshall()
| Baseclass | Class | Object name |
|---|---|---|
| container | cspeedbar | cuserdialog.CNTSPEEDBAR |
| zzz | zzz | cuserdialog.lblMsgEmpty |
| cuserdialog.pgfPageFrame |
| Name | Initial value |
|---|---|
| HelpContextID | 218 |
| TabIndex | 3 |
| Name | Initial value |
|---|---|
| TabIndex | 1 |
| Name | Initial value |
|---|---|
| Comment | " |
| ErasePage | .T. |
| PageCount | 2 |
| TabIndex | 2 |
| Baseclass | Class | Object name |
|---|---|---|
| zzz | zzz | cuserdialog.pgfPageFrame.Page1 |
| cuserdialog.pgfPageFrame.Page2 |
| Name | Initial value |
|---|---|
| Caption | "Edit" |
| Name | Initial value |
|---|---|
| Caption | "\<Clear Resource" |
| HelpContextID | 220 |
| TabIndex | 17 |
DODEFAULT()
THIS.ENABLED = (ALLTRIM(UPPER(m.gu_user)) == ALLTRIM(UPPER(vfxusr.USER)) OR m.gu_userlevel = 1)
IF MESSAGEBOX(msg_clear_resource,4+32,_SCREEN.CAPTION) != 6
RETURN .F.
ENDIF
IF ADIR(ladummy,goprogram.cvfxdir+"vfxres.dbf")#1
IF ADIR(ladummy,goprogram.cdatadir+"\vfxres.dbf")#1
* Table not found. Create new table.
THIS.createtable(goprogram.cvfxdir+"vfxres")
ENDIF
ENDIF
USE vfxres ALIAS RESOURCE IN 0 ORDER TAG USER
DELETE FOR UPPER(USER) == UPPER(vfxusr.USER) IN RESOURCE
USE IN RESOURCE
SELECT vfxusr
BLANK FIELD lastsel
LOCAL lnitem
IF TYPE("goProgram")="O"
goprogram.viewlastfilemenu()
ENDIF
FOR lnitem = 1 TO _SCREEN.FORMCOUNT
IF TYPE("_screen.Forms[lnItem].oResizeControl")="O"
_SCREEN.FORMS[lnItem].oresizecontrol.onoriginalsize()
ENDIF
NEXT
THISFORM.lsaveposition = .F.
| Name | Initial value |
|---|---|
| Caption | "Show Forms first in" |
| TabIndex | 11 |
| Name | Initial value |
|---|---|
| Caption | "Formsize Factor" |
| TabIndex | 13 |
| Name | Initial value |
|---|---|
| Caption | "Number of Last File Entries" |
| TabIndex | 15 |
| Name | Initial value |
|---|---|
| Caption | "Password" |
| TabIndex | 3 |
| Name | Initial value |
|---|---|
| Caption | "Username" |
| TabIndex | 1 |
| Name | Initial value |
|---|---|
| Caption | "User Access" |
| TabIndex | 9 |
| Name | Initial value |
|---|---|
| Caption | "User Level" |
| TabIndex | 5 |
| Name | Initial value |
|---|---|
| Caption | "Name" |
| TabIndex | 7 |
| Name | Initial value |
|---|---|
| Comment | "" |
| HelpContextID | 221 |
| SpecialEffect | 0 |
| TabIndex | 12 |
| Baseclass | Class | Object name |
|---|---|---|
| zzz | zzz | cuserdialog.pgfPageFrame.Page1.opgFirstView.Option1 |
| cuserdialog.pgfPageFrame.Page1.opgFirstView.Option2 |
| Name | Initial value |
|---|---|
| Caption | "\<Edit Mode" |
| Value | 1 |
| Name | Initial value |
|---|---|
| Caption | "\<List Mode" |
| Value | 0 |
| Name | Initial value |
|---|---|
| HelpContextID | 226 |
| Increment | 0.10 |
| KeyboardHighValue | 9 |
| KeyboardLowValue | 0 |
| SpinnerHighValue | 9.00 |
| SpinnerLowValue | 0.00 |
| TabIndex | 14 |
| Name | Initial value |
|---|---|
| HelpContextID | 227 |
| Increment | 1.00 |
| KeyboardHighValue | 9 |
| KeyboardLowValue | 0 |
| SpinnerHighValue | 9.00 |
| SpinnerLowValue | 0.00 |
| TabIndex | 16 |
| Name | Initial value |
|---|---|
| Format | "99" |
| HelpContextID | 223 |
| KeyboardHighValue | 99 |
| KeyboardLowValue | 1 |
| SpinnerHighValue | 99.00 |
| SpinnerLowValue | 1.00 |
| TabIndex | 6 |
DODEFAULT()
#DEFINE id_tagentry "/spnUserLevelAsked/"
IF THIS.VALUE > OLDVAL("USERLEVEL") AND ! (id_tagentry $ THIS.TAG)
IF MESSAGEBOX(msg_usr_level_down,mb_yesno+mb_iconexclamation+mb_defbutton2,msg_attention) = idyes
THIS.TAG = THIS.TAG + id_tagentry
ELSE
THIS.VALUE = gu_userlevel
THIS.REFRESH()
ENDIF
ENDIF
#UNDEF id_tagentry
IF THIS.VALUE < gu_userlevel
=MESSAGEBOX(msg_usr_level_change,mb_ok+mb_iconexclamation+mb_defbutton1,msg_attention)
THIS.VALUE = gu_userlevel
THIS.REFRESH()
RETURN .F.
ENDIF
| Name | Initial value |
|---|---|
| Format | "!K" |
| HelpContextID | 222 |
| PasswordChar | "*" |
| TabIndex | 4 |
* No OLE drag & drop allowed!
DODEFAULT()
THIS.VALUE = EVAL(THIS.COMMENT)
THIS.VALUE = xcrypt(ALLTRIM(THIS.VALUE))
THIS.VALUE = xcrypt(ALLTRIM(THIS.VALUE))
IF THISFORM.nformstatus != 0
REPLACE (THIS.COMMENT) WITH THIS.VALUE
ENDIF
| Name | Initial value |
|---|---|
| Format | "!K" |
| HelpContextID | 219 |
| PasswordChar | "" |
| TabIndex | 2 |
| Name | Initial value |
|---|---|
| Format | "!K" |
| HelpContextID | 225 |
| PasswordChar | "" |
| TabIndex | 10 |
| Name | Initial value |
|---|---|
| Format | "K" |
| HelpContextID | 224 |
| PasswordChar | "" |
| TabIndex | 8 |
| Name | Initial value |
|---|---|
| Caption | "List" |
| Baseclass | Class | Object name |
|---|---|---|
| grid | cgrid | cuserdialog.pgfPageFrame.Page2.grdGrid |
| Name | Initial value |
|---|---|
| HelpContextID | 228 |
| Name | Initial value |
|---|---|
| DoCreate | .T. |
LPARAMETERS tlarg1
THISFORM.cntbuttonbar.REFRESH()
RETURN DODEFAULT(tlarg1)
| Baseclass | Class | Object name |
|---|---|---|
| container | cnavigator | cuserdialogbar.cntButtonBar |
| zzz | zzz | cuserdialogbar.CNTSPEEDBAR |
| cuserdialogbar.lblMsgEmpty | ||
| cuserdialogbar.pgfPageFrame |
| Name | Initial value |
|---|---|
| HelpContextID | 142 |
| Name | Initial value |
|---|---|
| ErasePage | .T. |
| Baseclass | Class | Object name |
|---|---|---|
| zzz | zzz | cuserdialogbar.pgfPageFrame.Page1 |
| cuserdialogbar.pgfPageFrame.Page2 |
| Baseclass | Class | Object name |
|---|---|---|
| zzz | zzz | cuserdialogbar.pgfPageFrame.Page1.opgFirstView.Option1 |
| cuserdialogbar.pgfPageFrame.Page1.opgFirstView.Option2 |
| Name | Initial value |
|---|---|
| Value | 1 |
| Name | Initial value |
|---|---|
| Value | 0 |
| Baseclass | Class | Object name |
|---|---|---|
| zzz | zzz | cuserdialogbar.pgfPageFrame.Page2.grdGrid |
| Name | Initial value |
|---|---|
| Caption | "Wizard" |
| DoCreate | .T. |
IF VARTYPE(goProgram)="O"
IF !DBUSED(goprogram.cmaindatabase)
OPEN DATABASE (goprogram.cdatadir+"\"+goprogram.cmaindatabase) SHARED
ENDIF
SET DATABASE TO (goprogram.cdatadir+"\"+goprogram.cmaindatabase)
ELSE
LOCAL lcdatabase, ladata[1]
=ADIR(ladata,"data\*.dbc","A")
IF !EMPTY(ladata)
lcdatabase = STRTRAN(LOWER(ladata[1,1]),".dbc","")
OPEN DATA ("data\"+lcdatabase) SHARED
SET DATA TO ("data\"+lcdatabase)
ELSE
lcdatabase = GETFILE('DBC')
IF EMPTY(lcdatabase)
RETURN .F.
ENDIF
OPEN DATA (lcdatabase) SHARED
lcdatabase = LEFT(lcdatabase,RAT(".",lcdatabase)-1)
lcdatabase = SUBSTR(lcdatabase,RAT("\",lcdatabase)+1)
SET DATA TO (lcdatabase)
ENDIF
ENDIF
DODEFAULT()
| Baseclass | Class | Object name |
|---|---|---|
| commandbutton | ccommandbutton | cwizard.cmdBack |
| cwizard.cmdCancel | ||
| cwizard.cmdFinish | ||
| cwizard.cmdHelp | ||
| cwizard.cmdNext | ||
| pageframe | cpageframe | cwizard.pgfPageFrame |
| Name | Initial value |
|---|---|
| Caption | "< \<Back" |
| HelpContextID | 145 |
| TabIndex | 5 |
THIS.ENABLED = THIS.PARENT.pgfpageframe.ACTIVEPAGE > 1
LPARAMETERS tnnextpage
IF EMPTY(tnnextpage)
THIS.PARENT.pgfpageframe.ACTIVEPAGE = THIS.PARENT.pgfpageframe.ACTIVEPAGE - 1
ELSE
THIS.PARENT.pgfpageframe.ACTIVEPAGE = tnnextpage
ENDIF
THIS.PARENT.pgfpageframe.PAGES(THIS.PARENT.pgfpageframe.ACTIVEPAGE).REFRESH()
THIS.PARENT.cmdnext.REFRESH()
THIS.PARENT.cmdfinish.REFRESH()
THIS.REFRESH()
| Name | Initial value |
|---|---|
| Caption | "Cancel" |
| HelpContextID | 144 |
| TabIndex | 4 |
THISFORM.RELEASE()
| Name | Initial value |
|---|---|
| Caption | "\<Finish" |
| HelpContextID | 147 |
| TabIndex | 6 |
IF THISFORM.finish()
THISFORM.RELEASE()
ELSE
THISFORM.REFRESH()
ENDIF
THIS.ENABLED = THIS.PARENT.pgfpageframe.ACTIVEPAGE = THIS.PARENT.pgfpageframe.PAGECOUNT
| Name | Initial value |
|---|---|
| Caption | "\<Help" |
| HelpContextID | 143 |
| TabIndex | 3 |
| Name | Initial value |
|---|---|
| Caption | "\<Next >" |
| Default | .T. |
| HelpContextID | 146 |
| TabIndex | 2 |
THIS.ENABLED = THIS.PARENT.pgfpageframe.ACTIVEPAGE < THIS.PARENT.pgfpageframe.PAGECOUNT
LPARAMETERS tnnextpage
IF EMPTY(tnnextpage)
THIS.PARENT.pgfpageframe.ACTIVEPAGE = THIS.PARENT.pgfpageframe.ACTIVEPAGE + 1
ELSE
THIS.PARENT.pgfpageframe.ACTIVEPAGE = tnnextpage
ENDIF
THIS.PARENT.pgfpageframe.PAGES(THIS.PARENT.pgfpageframe.ACTIVEPAGE).REFRESH()
THIS.PARENT.cmdback.REFRESH()
THIS.PARENT.cmdfinish.REFRESH()
THIS.REFRESH()
| Name | Initial value |
|---|---|
| ErasePage | .T. |
| PageCount | 2 |
| TabIndex | 1 |
THIS.TABS = .F.
| Baseclass | Class | Object name |
|---|---|---|
| zzz | zzz | cwizard.pgfPageFrame.Page1 |
| cwizard.pgfPageFrame.Page2 |
| Name | Initial value |
|---|---|
| Caption | "Page2" |