Initial: flux text FoxBin2Prg (git urmareste .??2 in-arbore, binarele VFP git-ignored)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
2026-07-16 11:37:36 +03:00
commit 34aed0c4d7
236 changed files with 145556 additions and 0 deletions

65
Clase/Vechi/SOLUTION.vc2 Normal file
View File

@@ -0,0 +1,65 @@
*--------------------------------------------------------------------------------------------------------------------------------------------------------
* (EN) AUTOGENERATED - ATTENTION!! - NOT INTENDED FOR EXECUTION!! USE ONLY FOR MERGING CHANGES AND STORING WITH SCM TOOLS!!
*--------------------------------------------------------------------------------------------------------------------------------------------------------
*< FOXBIN2PRG: Version="1.21" SourceFile="solution.vcx" CPID="1252" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries)
*
*
DEFINE CLASS cmdclose AS commandbutton && Close button
*< CLASSDATA: Baseclass="commandbutton" Timestamp="" Scale="Pixels" Uniqueid="" />
*<PropValue>
Cancel = .T.
Caption = "Close"
FontBold = .F.
FontName = "MS Sans Serif"
FontSize = 8
Height = 23
Name = "cmdclose"
Width = 72
*</PropValue>
PROCEDURE Click
IF TYPE("THISFORM.Parent") = "O"
THISFORMSET.Release
ELSE
THISFORM.Release
ENDIF
ENDPROC
PROCEDURE Error
LPARAMETERS nError, cMethod, nLine
LOCAL lnChoice
#DEFINE CR CHR(13)
DO CASE
CASE nError = 1545 && Uncommitted changes
*------------------------------------
#DEFINE MSG1_LOC "Do you want to save your changes?"
#DEFINE MSG2_LOC "Uncommitted Changes"
lnChoice = MESSAGEBOX(MSG1_LOC, 4+48+0, MSG2_LOC)
DO CASE
CASE lnChoice = 6 && yes
=TABLEUPDATE(.T., .T.)
CASE lnChoice = 7 && no
=TABLEREVERT(.T.)
ENDCASE
OTHERWISE && Unanticipated error
*--------------------------------------
#DEFINE NUM_LOC "Error Number: "
#DEFINE PROG_LOC "Program: "
#DEFINE CAP_LOC "ERROR"
lcMsg = NUM_LOC + ALLTRIM(STR(nError)) + CR + CR + ;
MESSAGE()+ CR + CR + PROG_LOC + PROGRAM(1)
lnChoice = MESSAGEBOX(lcMsg, 2+48+512, CAP_LOC)
DO CASE
CASE lnChoice = 3 &&Abort
CANCEL
CASE lnChoice = 4 &&Retry
RETRY
CASE lnChoice = 5 &&Ignore
RETURN
ENDCASE
ENDCASE
ENDPROC
ENDDEFINE

990
Clase/Vechi/appwiz.vc2 Normal file
View File

@@ -0,0 +1,990 @@
*--------------------------------------------------------------------------------------------------------------------------------------------------------
* (EN) AUTOGENERATED - ATTENTION!! - NOT INTENDED FOR EXECUTION!! USE ONLY FOR MERGING CHANGES AND STORING WITH SCM TOOLS!!
*--------------------------------------------------------------------------------------------------------------------------------------------------------
*< FOXBIN2PRG: Version="1.21" SourceFile="appwiz.vcx" CPID="1252" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries)
*
*
*< LIBCOMMENT: Application Wizard framework class library. />
*
DEFINE CLASS wzaboutdialog AS form && About form class used as an About dialog in the framework for the Application Wizard.
*< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" />
*-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder
*< OBJECTDATA: ObjPath="Shape1" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="Shape2" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="Label2" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="Label3" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="CMDTERMIN1" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="Label1" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="Image1" UniqueID="" Timestamp="" />
*<PropValue>
AlwaysOnTop = .T.
AutoCenter = .T.
BorderStyle = 3
Caption = ""
Closable = .F.
ControlBox = .F.
DoCreate = .T.
FontSize = 8
Height = 151
KeyPreview = .T.
MaxButton = .F.
MinButton = .F.
Movable = .F.
Name = "wzaboutdialog"
Width = 353
WindowType = 1
*</PropValue>
ADD OBJECT 'CMDTERMIN1' AS cmdtermin WITH ;
Left = 243, ;
Name = "CMDTERMIN1", ;
Top = 101
*< END OBJECT: ClassLib="..\..\contab\clase\ferestrebaza.vcx" BaseClass="commandbutton" />
ADD OBJECT 'Image1' AS image WITH ;
BackStyle = 0, ;
Height = 60, ;
Left = 24, ;
Name = "Image1", ;
Picture = ..\..\contab\grafice\mfix.ico, ;
Stretch = 2, ;
Top = 24, ;
Width = 60
*< END OBJECT: BaseClass="image" />
ADD OBJECT 'Label1' AS label WITH ;
AutoSize = .T., ;
Caption = "Programul MFix2000", ;
FontBold = .F., ;
FontName = "Arial Black", ;
FontSize = 10, ;
Height = 20, ;
Left = 97, ;
Name = "Label1", ;
Top = 31, ;
Width = 150, ;
ZOrderSet = 5
*< END OBJECT: BaseClass="label" />
ADD OBJECT 'Label2' AS label WITH ;
AutoSize = .T., ;
Caption = "este produs de firma", ;
FontBold = .F., ;
FontName = "Arial", ;
FontSize = 10, ;
Height = 18, ;
Left = 97, ;
Name = "Label2", ;
Top = 67, ;
Width = 120, ;
ZOrderSet = 6
*< END OBJECT: BaseClass="label" />
ADD OBJECT 'Label3' AS label WITH ;
AutoSize = .T., ;
Caption = "ROMFAST S.R.L.", ;
FontBold = .F., ;
FontName = "Arial", ;
FontSize = 10, ;
Height = 18, ;
Left = 222, ;
Name = "Label3", ;
Top = 67, ;
Width = 106, ;
ZOrderSet = 7
*< END OBJECT: BaseClass="label" />
ADD OBJECT 'Shape1' AS shape WITH ;
Height = 130, ;
Left = 8, ;
Name = "Shape1", ;
SpecialEffect = 0, ;
Top = 9, ;
Width = 333, ;
ZOrderSet = 0
*< END OBJECT: BaseClass="shape" />
ADD OBJECT 'Shape2' AS shape WITH ;
Height = 2, ;
Left = 97, ;
Name = "Shape2", ;
SpecialEffect = 0, ;
Top = 55, ;
Width = 227, ;
ZOrderSet = 1
*< END OBJECT: BaseClass="shape" />
PROCEDURE KeyPress
LPARAMETERS nKeyCode, nShiftAltCtrl
IF nKeyCode=23 OR nKeyCode=27
this.Release
ENDIF
ENDPROC
ENDDEFINE
DEFINE CLASS wzapplication AS container && Application class used as a framework for the Application Wizard.
*< CLASSDATA: Baseclass="container" Timestamp="" Scale="Pixels" Uniqueid="" />
*<DefinedPropArrayMethod>
*m: beforereadevents && Method executed before READ EVENTS is executed when ReadEvents is called.
*m: clearevents && Clears any pending read events.
*m: doform && Executes an SCX form.
*m: dolabel && Executes an LBX label
*m: domenu && Executes an MPR menu.
*m: doprogram && Executes a PRG, APP, or EXE program.
*m: doreport && Executes an FRX report.
*m: filenotfoundmsgbox && Displays a File Not Found messagebox.
*m: getcaption && Returns the caption of the application.
*m: geticon && Returns the icon of the application.
*m: onshutdown && Occurs when the user attempts to exit Visual FoxPro.
*m: readevents && Starts read events mode.
*m: refreshformscollection && Refresh forms collection arrays and counters.
*m: release && Releases the application from memory.
*m: releaseform && Release specifc or active form from memory.
*m: releaseforms && Release all application forms from memory.
*m: resetformscollection && Reset arrays and counters of forms collection.
*m: restoreenvironment && Restores environment settings.
*m: saveenvironment && Saves environment settings.
*m: setcaption && Sets the caption of the application.
*m: seticon && Sets the icon of the application.
*m: show && Displays the application.
*p: ccaption && Caption of the application object.
*p: cicon && Icon of the application object.
*p: clastcaption && Last caption setting of _screen before application object was intantiated.
*p: clasticon && Last icon setting of _screen before application object was intantiated.
*p: cstartupform && Form (SCX) which is executed when the application object is shown.
*p: cstartupmenu && Menu (MPR) which is executed when the application object is shown.
*p: lcascadeforms && Specifies whether forms are cascaded if multiple instances of the same form are opened in the same top and left positions of the desktop.
*p: lreadevents && Enable READ EVENTS within ReadEvents method.
*p: nformcount && Forms collection count for application object.
*p: npixeloffset && Number of pixels which offset multiple instances of the same form.
*a: aformnames[1,0] && Form name collection for application object.
*a: aforms[1,0] && Forms collection for application object.
*</DefinedPropArrayMethod>
PROTECTED ccaption,cicon,clastcaption,clasticon,Destroy,Init
*<PropValue>
BackColor = 0,0,255
ccaption =
cicon =
clastcaption =
clasticon =
cstartupform =
cstartupmenu =
Height = 34
lcascadeforms = .T.
lreadevents = .T.
Name = "wzapplication"
nformcount = 0
npixeloffset = 22
Visible = .F.
Width = 108
*</PropValue>
PROTECTED PROCEDURE beforereadevents && Method executed before READ EVENTS is executed when ReadEvents is called.
ENDPROC
PROCEDURE clearevents && Clears any pending read events.
CLEAR EVENTS
ENDPROC
PROTECTED PROCEDURE Destroy
CLEAR EVENTS
this.RestoreEnvironment
ENDPROC
PROCEDURE doform && Executes an SCX form.
LPARAMETERS tcFileName,tcClass,tlNoMultipleInstances,tlNoShow
LOCAL lcFileName,lcClass,oForm,oForm2,lcName,lnCount,lnTop,lnLeft
LOCAL lcFormName,lnFormCount
_SCREEN.VISIBLE=.T.
lcFileName=ALLTRIM(tcFileName)
IF EMPTY(lcFileName)
RETURN .F.
ENDIF
lcClass=IIF(TYPE("tcClass")=="C",LOWER(ALLTRIM(tcClass)),"")
lcFileName=LOWER(FULLPATH(lcFileName))
IF NOT "."$lcFileName
lcFileName=lcFileName+IIF(EMPTY(lcClass),".scx",".vcx")
ENDIF
IF NOT FILE(lcFileName)
this.FileNotFoundMsgBox(lcFileName)
RETURN .F.
ENDIF
lcFormName=IIF(EMPTY(lcClass),lcFileName,lcFileName+","+lcClass)
IF tlNoMultipleInstances
FOR lnCount = 1 TO this.nFormCount
IF this.aFormNames[lnCount]==lcFormName AND ;
TYPE("this.aForms[lnCount]")=="O" AND ;
NOT ISNULL(this.aForms[lnCount])
this.aForms[lnCount].Show
RETURN .F.
ENDIF
ENDFOR
ENDIF
this.RefreshFormsCollection
this.nFormCount=this.nFormCount+1
DIMENSION this.aForms[this.nFormCount],this.aFormNames[this.nFormCount]
this.aFormNames[this.nFormCount]=lcFormName
IF NOT EMPTY(lcClass)
SET CLASSLIB TO (lcFileName) ADDITIVE
this.aForms[this.nFormCount]=CREATEOBJECT(lcClass)
IF NOT tlNoShow AND TYPE("this.aForms[this.nFormCount]")=="O" AND ;
NOT ISNULL(this.aForms[this.nFormCount])
this.aForms[this.nFormCount].Show
ENDIF
ELSE
DO FORM (lcFileName) NAME this.aForms[this.nFormCount] LINKED NOSHOW
ENDIF
lnFormCount=this.nFormCount
this.RefreshFormsCollection
IF this.lCascadeForms AND this.nFormCount>=lnFormCount
oForm=this.aForms[this.nFormCount]
lnTop=oForm.Top
lnLeft=oForm.Left
lcName=oForm.Name
IF WEXIST(lcName) AND oForm.WindowState#2
FOR lnCount = 1 TO (this.nFormCount-1)
oForm2=this.aForms[lnCount]
IF TYPE("oForm2")#"O" OR ISNULL(oForm2)
LOOP
ENDIF
IF lcName==oForm2.Name AND WLROW(lcName)=WLROW(oForm2.Name) AND ;
WLCOL(lcName)=WLCOL(oForm2.Name)
lnTop=lnTop+this.nPixelOffset
lnLeft=lnLeft+this.nPixelOffset
ENDIF
ENDFOR
IF oForm.Top#lnTop
oForm.Top=lnTop
ENDIF
IF oForm.Left#lnLeft
oForm.Left=lnLeft
ENDIF
ENDIF
ENDIF
IF NOT tlNoShow
this.aForms[this.nFormCount].Show
ENDIF
ENDPROC
PROCEDURE dolabel && Executes an LBX label
LPARAMETERS tcFileName,tlPrint
LOCAL lcFileName
lcFileName=ALLTRIM(tcFileName)
IF EMPTY(lcFileName)
RETURN .F.
ENDIF
lcFileName=LOWER(FULLPATH(lcFileName))
IF NOT "."$lcFileName
lcFileName=lcFileName+".lbx"
ENDIF
IF NOT FILE(lcFileName)
this.FileNotFoundMsgBox(lcFileName)
RETURN .F.
ENDIF
IF tlPrint
LABEL FORM (lcFileName) TO PRINTER PROMPT
ELSE
LABEL FORM (lcFileName) PREVIEW
ENDIF
ENDPROC
PROCEDURE domenu && Executes an MPR menu.
LPARAMETERS tcFileName
LOCAL lcFileName
lcFileName=ALLTRIM(tcFileName)
IF EMPTY(lcFileName)
RETURN .F.
ENDIF
lcFileName=LOWER(FULLPATH(lcFileName))
IF NOT "."$lcFileName
lcFileName=lcFileName+".mpr"
ENDIF
*IF NOT FILE(lcFileName)
* this.FileNotFoundMsgBox(lcFileName)
* RETURN .F.
*ENDIF
*DO (lcFileName)
do mfix2000.mpr
ENDPROC
PROCEDURE doprogram && Executes a PRG, APP, or EXE program.
LPARAMETERS tcFileName
LOCAL lcFileName
lcFileName=ALLTRIM(tcFileName)
IF EMPTY(lcFileName)
RETURN .F.
ENDIF
lcFileName=LOWER(FULLPATH(lcFileName))
IF NOT "."$lcFileName
lcFileName=lcFileName+".prg"
ENDIF
IF NOT FILE(lcFileName)
this.FileNotFoundMsgBox(lcFileName)
RETURN .F.
ENDIF
DO (lcFileName)
ENDPROC
PROCEDURE doreport && Executes an FRX report.
LPARAMETERS tcFileName,tlPrint
LOCAL lcFileName
lcFileName=ALLTRIM(tcFileName)
IF EMPTY(lcFileName)
RETURN .F.
ENDIF
lcFileName=LOWER(FULLPATH(lcFileName))
IF NOT "."$lcFileName
lcFileName=lcFileName+".frx"
ENDIF
IF NOT FILE(lcFileName)
this.FileNotFoundMsgBox(lcFileName)
RETURN .F.
ENDIF
IF tlPrint
REPORT FORM (lcFileName) TO PRINTER PROMPT
ELSE
REPORT FORM (lcFileName) PREVIEW
ENDIF
ENDPROC
PROCEDURE filenotfoundmsgbox && Displays a File Not Found messagebox.
LPARAMETERS tcFileName
RETURN MESSAGEBOX([File "]+tcFileName+[" not found.],16,_screen.Caption)
ENDPROC
PROCEDURE getcaption && Returns the caption of the application.
RETURN this.cCaption
ENDPROC
PROCEDURE geticon && Returns the icon of the application.
RETURN this.cIcon
ENDPROC
PROTECTED PROCEDURE Init
this.SaveEnvironment
this.ResetFormsCollection
ENDPROC
PROCEDURE onshutdown && Occurs when the user attempts to exit Visual FoxPro.
*IF MESSAGEBOX("Sunteti sigur ca doriti sa iesiti din program?",36,_screen.Caption)=6
* QUIT
*ENDIF
IF glQuit
QUIT
ENDIF
OA=CREATEOBJ('SIGUR')
OA.SHOW(1)
IF BUTON=1
QUIT
ELSE
DO ce_windows IN pmenu.prg
PUBLIC op_imob
op_imob=CREA('p_imob')
DO alegeprogram
DO FORM START00
OSTART=CREATEOBJ('START00')
PRIMADATA=.F.
op_imob.SHOW
ENDIF
ENDPROC
PROCEDURE readevents && Starts read events mode.
this.BeforeReadEvents
IF this.lReadEvents
READ EVENTS
ENDIF
ENDPROC
PROCEDURE refreshformscollection && Refresh forms collection arrays and counters.
LOCAL lnCount,lnCount2
lnCount=1
DO WHILE lnCount<=this.nFormCount
IF TYPE("this.aForms[lnCount]")=="O" AND NOT ISNULL(this.aForms[lnCount])
lnCount=lnCount+1
LOOP
ENDIF
FOR lnCount2 = lnCount TO (this.nFormCount-1)
this.aForms[lnCount2]=this.aForms[lnCount2+1]
this.aForms[lnCount2+1]=.NULL.
this.aFormNames[lnCount2]=this.aFormNames[lnCount2+1]
this.aFormNames[lnCount2+1]=""
ENDFOR
this.nFormCount=this.nFormCount-1
IF this.nFormCount=0
EXIT
ENDIF
DIMENSION this.aForms[this.nFormCount],this.aFormNames[this.nFormCount]
ENDDO
IF this.nFormCount=0
this.ResetFormsCollection
ENDIF
ENDPROC
PROCEDURE release && Releases the application from memory.
IF NOT this.ReleaseForms()
RETURN .F.
ENDIF
this.ClearEvents
RELEASE this
ENDPROC
PROCEDURE releaseform && Release specifc or active form from memory.
LPARAMETERS toForm
IF PARAMETERS()=0
IF TYPE("_screen.ActiveForm")#"O" OR ISNULL(_screen.ActiveForm)
RETURN .F.
ENDIF
_screen.ActiveForm.Release
ELSE
IF TYPE("toForm")#"O" OR ISNULL(toForm)
RETURN .F.
ENDIF
toForm.Release
ENDIF
this.RefreshFormsCollection
ENDPROC
PROCEDURE releaseforms && Release all application forms from memory.
LOCAL lnFormCount
this.RefreshFormsCollection
DO WHILE this.nFormCount>0
lnFormCount=this.nFormCount
IF NOT this.ReleaseForm(this.aForms[lnFormCount]) OR this.nFormCount=lnFormCount
RETURN .F.
ENDIF
ENDDO
ENDPROC
PROTECTED PROCEDURE resetformscollection && Reset arrays and counters of forms collection.
this.nFormCount=0
DIMENSION this.aForms[1],this.aFormNames[1]
this.aForms=.NULL.
this.aFormNames=""
ENDPROC
PROTECTED PROCEDURE restoreenvironment && Restores environment settings.
IF NOT EMPTY(this.cLastCaption) AND NOT _screen.Caption==this.cLastCaption
_screen.Caption=this.cLastCaption
ENDIF
IF NOT EMPTY(this.cLastIcon) AND NOT _screen.Icon==this.cLastIcon
_screen.Icon=this.cLastIcon
ENDIF
ENDPROC
PROTECTED PROCEDURE saveenvironment && Saves environment settings.
this.cLastCaption=_screen.Caption
this.cLastIcon=_screen.Icon
ENDPROC
PROCEDURE setcaption && Sets the caption of the application.
LPARAMETERS tcCaption
IF TYPE("tcCaption")#"C"
RETURN .F.
ENDIF
this.cCaption=tcCaption
_screen.Caption=tcCaption
ENDPROC
PROCEDURE seticon && Sets the icon of the application.
LPARAMETERS tcIcon
IF TYPE("tcIcon")#"C"
RETURN .F.
ENDIF
this.cIcon=tcIcon
_screen.Icon=tcIcon
ENDPROC
PROCEDURE show && Displays the application.
LPARAMETERS nStyle
this.DoMenu(this.cStartupMenu)
this.DoForm(this.cStartupForm)
this.ReadEvents
ENDPROC
ENDDEFINE
DEFINE CLASS wzquickstartform AS form && Quick start form class used as a start up form in the framework for the Application Wizard.
*< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" />
*-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder
*< OBJECTDATA: ObjPath="Image2" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="Image4" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="Image6" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="Image7" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="Image1" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="Image3" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="Image5" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="Image8" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="Image9" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="Image12" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="Image13" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="Image16" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="Image17" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="Image20" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="Image21" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="Image24" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="Image25" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="Image26" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="Image27" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="Image28" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="Image29" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="lblForms" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="lstForms" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="cmdRun" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="cmdClose" UniqueID="" Timestamp="" />
*<DefinedPropArrayMethod>
*p: nfilecount && Number of files in the form file list.
*a: acommands[1,0] && Array of commands executed for each item in the forms list.
*</DefinedPropArrayMethod>
*<PropValue>
AutoCenter = .T.
BackColor = 192,192,192
BorderStyle = 2
Caption = "Quick Start"
DataSession = 2
DoCreate = .T.
FontSize = 8
Height = 576
KeyPreview = .T.
Name = "wzquickstartform"
nfilecount = 0
Width = 795
WindowState = 2
WindowType = 1
*</PropValue>
ADD OBJECT 'cmdClose' AS commandbutton WITH ;
Caption = "\<Close", ;
Default = .T., ;
FontSize = 8, ;
Height = 27, ;
Left = 285, ;
Name = "cmdClose", ;
TabIndex = 4, ;
Top = 211, ;
Width = 84
*< END OBJECT: BaseClass="commandbutton" />
ADD OBJECT 'cmdRun' AS commandbutton WITH ;
Caption = "\<Run", ;
Enabled = .F., ;
FontSize = 8, ;
Height = 27, ;
Left = 285, ;
Name = "cmdRun", ;
TabIndex = 3, ;
Top = 181, ;
Width = 84
*< END OBJECT: BaseClass="commandbutton" />
ADD OBJECT 'Image1' AS image WITH ;
BackStyle = 0, ;
Height = 58, ;
Left = 347, ;
Name = "Image1", ;
Picture = foxqstrt.bmp, ;
Top = 224, ;
Width = 52
*< END OBJECT: BaseClass="image" />
ADD OBJECT 'Image12' AS image WITH ;
BackStyle = 0, ;
Height = 58, ;
Left = 226, ;
Name = "Image12", ;
Picture = foxqstrt.bmp, ;
Top = -28, ;
Width = 52
*< END OBJECT: BaseClass="image" />
ADD OBJECT 'Image13' AS image WITH ;
BackStyle = 0, ;
Height = 58, ;
Left = 224, ;
Name = "Image13", ;
Picture = foxqstrt.bmp, ;
Top = 224, ;
Width = 52
*< END OBJECT: BaseClass="image" />
ADD OBJECT 'Image16' AS image WITH ;
BackStyle = 0, ;
Height = 58, ;
Left = 164, ;
Name = "Image16", ;
Picture = foxqstrt.bmp, ;
Top = 9, ;
Width = 52
*< END OBJECT: BaseClass="image" />
ADD OBJECT 'Image17' AS image WITH ;
BackStyle = 0, ;
Height = 58, ;
Left = 164, ;
Name = "Image17", ;
Picture = foxqstrt.bmp, ;
Top = 261, ;
Width = 52
*< END OBJECT: BaseClass="image" />
ADD OBJECT 'Image2' AS image WITH ;
BackStyle = 0, ;
Height = 58, ;
Left = 347, ;
Name = "Image2", ;
Picture = foxqstrt.bmp, ;
Top = 56, ;
Width = 52
*< END OBJECT: BaseClass="image" />
ADD OBJECT 'Image20' AS image WITH ;
BackStyle = 0, ;
Height = 58, ;
Left = 102, ;
Name = "Image20", ;
Picture = foxqstrt.bmp, ;
Top = -28, ;
Width = 52
*< END OBJECT: BaseClass="image" />
ADD OBJECT 'Image21' AS image WITH ;
BackStyle = 0, ;
Height = 58, ;
Left = 102, ;
Name = "Image21", ;
Picture = foxqstrt.bmp, ;
Top = 224, ;
Width = 52
*< END OBJECT: BaseClass="image" />
ADD OBJECT 'Image24' AS image WITH ;
BackStyle = 0, ;
Height = 58, ;
Left = 38, ;
Name = "Image24", ;
Picture = foxqstrt.bmp, ;
Top = 8, ;
Width = 52
*< END OBJECT: BaseClass="image" />
ADD OBJECT 'Image25' AS image WITH ;
BackStyle = 0, ;
Height = 58, ;
Left = 38, ;
Name = "Image25", ;
Picture = foxqstrt.bmp, ;
Top = 260, ;
Width = 52
*< END OBJECT: BaseClass="image" />
ADD OBJECT 'Image26' AS image WITH ;
BackStyle = 0, ;
Height = 58, ;
Left = -23, ;
Name = "Image26", ;
Picture = foxqstrt.bmp, ;
Top = 56, ;
Width = 52
*< END OBJECT: BaseClass="image" />
ADD OBJECT 'Image27' AS image WITH ;
BackStyle = 0, ;
Height = 58, ;
Left = -23, ;
Name = "Image27", ;
Picture = foxqstrt.bmp, ;
Top = 140, ;
Width = 52
*< END OBJECT: BaseClass="image" />
ADD OBJECT 'Image28' AS image WITH ;
BackStyle = 0, ;
Height = 58, ;
Left = -23, ;
Name = "Image28", ;
Picture = foxqstrt.bmp, ;
Top = -28, ;
Width = 52
*< END OBJECT: BaseClass="image" />
ADD OBJECT 'Image29' AS image WITH ;
BackStyle = 0, ;
Height = 58, ;
Left = -23, ;
Name = "Image29", ;
Picture = foxqstrt.bmp, ;
Top = 224, ;
Width = 52
*< END OBJECT: BaseClass="image" />
ADD OBJECT 'Image3' AS image WITH ;
BackStyle = 0, ;
Height = 58, ;
Left = 288, ;
Name = "Image3", ;
Picture = foxqstrt.bmp, ;
Top = 98, ;
Width = 52
*< END OBJECT: BaseClass="image" />
ADD OBJECT 'Image4' AS image WITH ;
BackStyle = 0, ;
Height = 58, ;
Left = 347, ;
Name = "Image4", ;
Picture = foxqstrt.bmp, ;
Top = 140, ;
Width = 52
*< END OBJECT: BaseClass="image" />
ADD OBJECT 'Image5' AS image WITH ;
BackStyle = 0, ;
Height = 58, ;
Left = 288, ;
Name = "Image5", ;
Picture = foxqstrt.bmp, ;
Top = 182, ;
Width = 52
*< END OBJECT: BaseClass="image" />
ADD OBJECT 'Image6' AS image WITH ;
BackStyle = 0, ;
Height = 58, ;
Left = 257, ;
Name = "Image6", ;
Picture = foxqstrt.bmp, ;
Top = 304, ;
Width = 52
*< END OBJECT: BaseClass="image" />
ADD OBJECT 'Image7' AS image WITH ;
BackStyle = 0, ;
Height = 58, ;
Left = 347, ;
Name = "Image7", ;
Picture = foxqstrt.bmp, ;
Top = -28, ;
Width = 52
*< END OBJECT: BaseClass="image" />
ADD OBJECT 'Image8' AS image WITH ;
BackStyle = 0, ;
Height = 58, ;
Left = 288, ;
Name = "Image8", ;
Picture = foxqstrt.bmp, ;
Top = 14, ;
Width = 52
*< END OBJECT: BaseClass="image" />
ADD OBJECT 'Image9' AS image WITH ;
BackStyle = 0, ;
Height = 58, ;
Left = 288, ;
Name = "Image9", ;
Picture = foxqstrt.bmp, ;
Top = 266, ;
Width = 52
*< END OBJECT: BaseClass="image" />
ADD OBJECT 'lblForms' AS label WITH ;
BackColor = 192,192,192, ;
Caption = "\<Select a form to run.", ;
FontSize = 8, ;
Height = 17, ;
Left = 10, ;
Name = "lblForms", ;
TabIndex = 1, ;
Top = 10, ;
Width = 111
*< END OBJECT: BaseClass="label" />
ADD OBJECT 'lstForms' AS listbox WITH ;
FontSize = 8, ;
Height = 215, ;
IntegralHeight = .T., ;
Left = 10, ;
Name = "lstForms", ;
TabIndex = 2, ;
Top = 25, ;
Width = 266
*< END OBJECT: BaseClass="listbox" />
PROCEDURE Activate
ACTIVATE SCREEN
SET MESSAGE TO
ENDPROC
PROCEDURE Deactivate
ACTIVATE SCREEN
SET MESSAGE TO
ENDPROC
PROCEDURE KeyPress
LPARAMETERS nKeyCode, nShiftAltCtrl
IF nKeyCode=23 OR nKeyCode=27
this.Release
ENDIF
ENDPROC
PROCEDURE Load
SET TALK OFF
SET ESCAPE OFF
SET COLLATE TO 'MACHINE'
SET COMPATIBLE OFF
SET CONFIRM ON
SET DECIMALS TO 9
SET EXACT OFF
SET EXCLUSIVE OFF
SET MEMOWIDTH TO 1024
SET MULTILOCKS ON
SET POINT TO '.'
SET SAFETY OFF
SET UDFPARMS TO VALUE
ENDPROC
PROCEDURE cmdClose.Click
thisform.Release
ENDPROC
PROCEDURE cmdRun.Click
LOCAL lnListIndex,lcCommand
lnListIndex=this.parent.lstForms.ListIndex
IF lnListIndex<1
RETURN
ENDIF
lcCommand=thisform.aCommands[lnListIndex]
IF EMPTY(lcCommand)
RETURN
ENDIF
thisform.Hide
&lcCommand
thisform.Release
ENDPROC
PROCEDURE cmdRun.Refresh
LOCAL llEnabled
llEnabled=(this.parent.lstForms.ListIndex>0)
IF this.Enabled#llEnabled
this.Enabled=llEnabled
ENDIF
ENDPROC
PROCEDURE lstForms.DblClick
this.parent.cmdRun.Click
ENDPROC
PROCEDURE lstForms.Init
LOCAL lcMenuFile,lcPrompt,lcCommand,lnAtPos
IF TYPE("goApp")#"O" OR ISNULL(goApp)
RETURn
ENDIF
lcMenuFile=goApp.cStartupMenu
IF EMPTY(lcMenuFile)
RETURN
ENDIF
lcMenuFile=LOWER(FULLPATH(lcMenuFile))
lnAtPos=AT(".",lcMenuFile)
IF lnAtPos=0
lcMenuFile=lcMenuFile+".mnx"
ELSE
lcMenuFile=ALLTRIM(LEFT(lcMenuFile,lnAtPos-1))+".mnx"
ENDIF
IF NOT FILE(lcMenuFile)
RETURN
ENDIF
SELECT 0
USE (lcMenuFile) AGAIN SHARED ALIAS _menu
IF NOT USED("_menu")
RETURN
ENDIF
thisform.nFileCount=0
DIMENSION thisform.aCommands[1]
SCAN ALL FOR LOWER(ALLTRIM(LevelName))=="forms" AND VAL(ItemNum)>0
lcPrompt=ALLTRIM(MLINE(Prompt,1))
lcCommand=ALLTRIM(MLINE(Command,1))
IF EMPTY(lcPrompt) OR EMPTY(lcCommand) OR LOWER(ALLTRIM(lcPrompt))=="launcher" OR ;
LOWER(ALLTRIM(lcPrompt))=="\<quick start"
LOOP
ENDIF
this.AddItem(lcPrompt)
thisform.nFileCount=thisform.nFileCount+1
DIMENSION thisform.aCommands[thisform.nFileCount]
thisform.aCommands[thisform.nFileCount]=lcCommand
ENDSCAN
USE IN _menu
IF this.ListCount>0
this.ListIndex=1
ENDIF
this.parent.cmdRun.Refresh
ENDPROC
PROCEDURE lstForms.InteractiveChange
this.parent.cmdRun.Refresh
ENDPROC
PROCEDURE lstForms.MouseUp
LPARAMETERS nButton, nShift, nXCoord, nYCoord
this.InteractiveChange
ENDPROC
ENDDEFINE

2601
Clase/Vechi/caut.vc2 Normal file

File diff suppressed because it is too large Load Diff

1321
Clase/Vechi/cautmf.vc2 Normal file

File diff suppressed because one or more lines are too long

1358
Clase/Vechi/cont2000-2.vc2 Normal file

File diff suppressed because it is too large Load Diff

1722
Clase/Vechi/cont2000-3.vc2 Normal file

File diff suppressed because it is too large Load Diff

1562
Clase/Vechi/ferestrebaza.vc2 Normal file

File diff suppressed because it is too large Load Diff

5104
Clase/Vechi/imob_2005.vc2 Normal file

File diff suppressed because it is too large Load Diff

17476
Clase/Vechi/mfix2000.vc2 Normal file

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,807 @@
*--------------------------------------------------------------------------------------------------------------------------------------------------------
* (EN) AUTOGENERATED - ATTENTION!! - NOT INTENDED FOR EXECUTION!! USE ONLY FOR MERGING CHANGES AND STORING WITH SCM TOOLS!!
*--------------------------------------------------------------------------------------------------------------------------------------------------------
*< FOXBIN2PRG: Version="1.21" SourceFile="oimobilizari.vcx" CPID="1252" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries)
*
*
DEFINE CLASS capplication AS wzapplication OF "..\..\roacont\clase\appwiz.vcx" && Application class.
*< CLASSDATA: Baseclass="container" Timestamp="" Scale="Pixels" Uniqueid="" />
*<PropValue>
clastcaption = Microsoft Visual FoxPro
clasticon =
Name = "capplication"
nformcount = 0
*</PropValue>
PROCEDURE doform
LPARAMETERS tcFileName,tcClass,tlNoMultipleInstances,tlNoShow
LOCAL lcFileName,lcClass,oForm,oForm2,lcName,lnCount,lnTop,lnLeft
LOCAL lcFormName,lnFormCount
_screen.visible=.t.
lcFileName=UPPER(ALLTRIM(tcFileName))
IF EMPTY(lcFileName)
RETURN .F.
ENDIF
lcClass=IIF(TYPE("tcClass")=="C",LOWER(ALLTRIM(tcClass)),"")
lcFileName=LOWER(FULLPATH(lcFileName))
IF NOT "."$lcFileName
lcFileName=lcFileName+IIF(EMPTY(lcClass),".scx",".vcx")
ENDIF
IF NOT FILE(lcFileName)
this.FileNotFoundMsgBox(lcFileName)
RETURN .F.
ENDIF
lcFormName=IIF(EMPTY(lcClass),lcFileName,lcFileName+","+lcClass)
IF tlNoMultipleInstances
FOR lnCount = 1 TO this.nFormCount
IF this.aFormNames[lnCount]==lcFormName AND ;
TYPE("this.aForms[lnCount]")=="O" AND ;
NOT ISNULL(this.aForms[lnCount])
this.aForms[lnCount].Show
RETURN .F.
ENDIF
ENDFOR
ENDIF
this.RefreshFormsCollection
this.nFormCount=this.nFormCount+1
DIMENSION this.aForms[this.nFormCount],this.aFormNames[this.nFormCount]
this.aFormNames[this.nFormCount]=lcFormName
IF NOT EMPTY(lcClass)
SET CLASSLIB TO (lcFileName) ADDITIVE
this.aForms[this.nFormCount]=CREATEOBJECT(lcClass)
IF NOT tlNoShow AND TYPE("this.aForms[this.nFormCount]")=="O" AND ;
NOT ISNULL(this.aForms[this.nFormCount])
this.aForms[this.nFormCount].Show
ENDIF
ELSE
DO FORM (lcFileName) NAME this.aForms[this.nFormCount] LINKED NOSHOW
ENDIF
lnFormCount=this.nFormCount
this.RefreshFormsCollection
IF this.lCascadeForms AND this.nFormCount>=lnFormCount
oForm=this.aForms[this.nFormCount]
lnTop=oForm.Top
lnLeft=oForm.Left
lcName=oForm.Name
IF WEXIST(lcName) AND oForm.WindowState#2
FOR lnCount = 1 TO (this.nFormCount-1)
oForm2=this.aForms[lnCount]
IF TYPE("oForm2")#"O" OR ISNULL(oForm2)
LOOP
ENDIF
IF lcName==oForm2.Name AND WLROW(lcName)=WLROW(oForm2.Name) AND ;
WLCOL(lcName)=WLCOL(oForm2.Name)
lnTop=lnTop+this.nPixelOffset
lnLeft=lnLeft+this.nPixelOffset
ENDIF
ENDFOR
IF oForm.Top#lnTop
oForm.Top=lnTop
ENDIF
IF oForm.Left#lnLeft
oForm.Left=lnLeft
ENDIF
ENDIF
ENDIF
*!* modificat 18.10.2004
*!* Marius
IF !(tlNoShow OR ('LOGIN'$UPPER(lcFileName) and glParametri))
this.aForms[this.nFormCount].Show
ENDIF
ENDPROC
ENDDEFINE
DEFINE CLASS frm_jurnal AS _frmbase OF "..\..\comun\clase\_frm_base.vcx"
*< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" />
*-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder
*< OBJECTDATA: ObjPath="But_listare1" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="grd_jurnal" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="grd_jurnal.Column1.Header1" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="grd_jurnal.Column1.Text1" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="grd_jurnal.Column2.Header1" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="grd_jurnal.Column2.Text1" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="grd_jurnal.Column3.Header1" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="grd_jurnal.Column3.Text1" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="grd_jurnal.Column4.Header1" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="grd_jurnal.Column4.Text1" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="grd_jurnal.Column5.Header1" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="grd_jurnal.Column5.Text1" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="grd_jurnal.Column6.Header1" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="grd_jurnal.Column6.Text1" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="grd_jurnal.Column7.Header1" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="grd_jurnal.Column7.Text1" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="grd_jurnal.Column8.Header1" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="grd_jurnal.Column8.Text1" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="grd_jurnal.Column9.Header1" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="grd_jurnal.Column9.Text1" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="grd_jurnal.Column10.Header1" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="grd_jurnal.Column10.Text1" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="grd_jurnal.Column11.Header1" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="grd_jurnal.Column11.Text1" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="grd_jurnal.Column12.Header1" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="grd_jurnal.Column12.Text1" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="grd_jurnal.Column13.Header1" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="grd_jurnal.Column13.Text1" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="grd_jurnal.Column14.Header1" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="grd_jurnal.Column14.Text1" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="grd_jurnal.Column15.Header1" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="grd_jurnal.Column15.Text1" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="grd_jurnal.Column16.Header1" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="grd_jurnal.Column16.Text1" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="grd_jurnal.Column17.Header1" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="grd_jurnal.Column17.Text1" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="grd_jurnal.Column18.Header1" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="grd_jurnal.Column18.Text1" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="grd_jurnal.Column19.Header1" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="grd_jurnal.Column19.Text1" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="grd_jurnal.Column20.Header1" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="grd_jurnal.Column20.Text1" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="grd_jurnal.Column21.Header1" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="grd_jurnal.Column21.Text1" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="grd_jurnal.Column22.Header1" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="grd_jurnal.Column22.Text1" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="grd_jurnal.Column23.Header1" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="grd_jurnal.Column23.Text1" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="grd_jurnal.Column24.Header1" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="grd_jurnal.Column24.Text1" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="grd_jurnal.Column25.Header1" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="grd_jurnal.Column25.Text1" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="grd_jurnal.Column26.Header1" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="grd_jurnal.Column26.Text1" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="grd_jurnal.Column27.Header1" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="grd_jurnal.Column27.Text1" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="grd_jurnal.Column28.Header1" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="grd_jurnal.Column28.Text1" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="grd_jurnal.Column29.Header1" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="grd_jurnal.Column29.Text1" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="grd_jurnal.Column30.Header1" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="grd_jurnal.Column30.Text1" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="grd_jurnal.Column31.Header1" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="grd_jurnal.Column31.Text1" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="_shape3" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="Ck_nract" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="ck_denumire" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="ck_valach" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="Ck_valinv" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="ck_scd" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="ck_nrinv" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="Ck_dataact" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="Ck_datapif" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="Ck_explicatia" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="ck_utilizator" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="ck_responsabil" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="ck_gestiune" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="Cmd_reset1" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="Cmd_cauta1" UniqueID="" Timestamp="" />
*<PropValue>
DoCreate = .T.
FontCharSet = 238
Height = 582
Name = "frm_jurnal"
Width = 793
_SHAPE1.Height = 29
_SHAPE1.Left = 0
_SHAPE1.Name = "_SHAPE1"
_SHAPE1.Top = 0
_SHAPE1.Width = 792
_SHAPE2.Height = 29
_SHAPE2.Left = 723
_SHAPE2.Name = "_SHAPE2"
_SHAPE2.Top = -1
_SHAPE2.Width = 74
LB_TITLU_ALB_B121.Caption = "JURNAL"
LB_TITLU_ALB_B121.FontBold = .T.
LB_TITLU_ALB_B121.FontCharSet = 238
LB_TITLU_ALB_B121.Name = "LB_TITLU_ALB_B121"
BUT_TERMIN1.Left = 762
BUT_TERMIN1.Name = "BUT_TERMIN1"
BUT_TERMIN1.Top = 0
*</PropValue>
ADD OBJECT '_shape3' AS _shape WITH ;
BackStyle = 0, ;
Height = 60, ;
Left = 12, ;
Name = "_shape3", ;
Top = 36, ;
Width = 768
*< END OBJECT: ClassLib="..\..\comun\clase\_baza.vcx" BaseClass="shape" />
ADD OBJECT 'But_listare1' AS but_listare WITH ;
Caption = "", ;
Left = 730, ;
Name = "But_listare1", ;
Top = 0
*< END OBJECT: ClassLib="..\..\comun\clase\cmd_butoane.vcx" BaseClass="commandbutton" />
ADD OBJECT 'Ck_dataact' AS ck_filtru_luna WITH ;
Alignment = 0, ;
Caption = "Data document", ;
FontCharSet = 238, ;
Left = 328, ;
Name = "Ck_dataact", ;
Top = 46
*< END OBJECT: ClassLib="..\..\comun\clase\caut.vcx" BaseClass="checkbox" />
ADD OBJECT 'Ck_datapif' AS ck_filtru_luna WITH ;
Alignment = 0, ;
Caption = "Data pif", ;
FontCharSet = 238, ;
Left = 328, ;
Name = "Ck_datapif", ;
Top = 69
*< END OBJECT: ClassLib="..\..\comun\clase\caut.vcx" BaseClass="checkbox" />
ADD OBJECT 'ck_denumire' AS ck_filtru_text WITH ;
Alignment = 0, ;
Caption = "Denumire", ;
FontCharSet = 238, ;
FontName = "Arial Narrow", ;
FontSize = 9, ;
Left = 36, ;
Name = "ck_denumire", ;
Top = 69
*< END OBJECT: ClassLib="..\..\comun\clase\caut.vcx" BaseClass="checkbox" />
ADD OBJECT 'Ck_explicatia' AS ck_filtru_text WITH ;
Alignment = 0, ;
Caption = "Explicatia", ;
FontCharSet = 238, ;
FontName = "Arial Narrow", ;
Left = 424, ;
Name = "Ck_explicatia", ;
Top = 46
*< END OBJECT: ClassLib="..\..\comun\clase\caut.vcx" BaseClass="checkbox" />
ADD OBJECT 'ck_gestiune' AS ck_filtru_text WITH ;
Alignment = 0, ;
Caption = "Gestiune", ;
FontCharSet = 238, ;
FontName = "Arial Narrow", ;
Left = 495, ;
Name = "ck_gestiune", ;
Top = 70
*< END OBJECT: ClassLib="..\..\comun\clase\caut.vcx" BaseClass="checkbox" />
ADD OBJECT 'Ck_nract' AS ck_filtru_numar WITH ;
Alignment = 0, ;
Caption = "Nr.document", ;
FontCharSet = 238, ;
FontName = "Arial Narrow", ;
FontSize = 9, ;
Left = 36, ;
Name = "Ck_nract", ;
Top = 46
*< END OBJECT: ClassLib="..\..\comun\clase\caut.vcx" BaseClass="checkbox" />
ADD OBJECT 'ck_nrinv' AS ck_filtru_numar WITH ;
Alignment = 0, ;
Caption = "Nr. inventar", ;
FontCharSet = 238, ;
FontName = "Arial Narrow", ;
Left = 241, ;
Name = "ck_nrinv", ;
Top = 70
*< END OBJECT: ClassLib="..\..\comun\clase\caut.vcx" BaseClass="checkbox" />
ADD OBJECT 'ck_responsabil' AS ck_filtru_text WITH ;
Alignment = 0, ;
Caption = "Responsabil", ;
FontCharSet = 238, ;
FontName = "Arial Narrow", ;
Left = 495, ;
Name = "ck_responsabil", ;
Top = 46
*< END OBJECT: ClassLib="..\..\comun\clase\caut.vcx" BaseClass="checkbox" />
ADD OBJECT 'ck_scd' AS ck_filtru_text WITH ;
Alignment = 0, ;
Caption = "Cont debitor", ;
FontCharSet = 238, ;
FontName = "Arial Narrow", ;
Left = 241, ;
Name = "ck_scd", ;
Top = 46
*< END OBJECT: ClassLib="..\..\comun\clase\caut.vcx" BaseClass="checkbox" />
ADD OBJECT 'ck_utilizator' AS ck_filtru_text WITH ;
Alignment = 0, ;
Caption = "Utilizator", ;
FontCharSet = 238, ;
FontName = "Arial Narrow", ;
Left = 424, ;
Name = "ck_utilizator", ;
Top = 70
*< END OBJECT: ClassLib="..\..\comun\clase\caut.vcx" BaseClass="checkbox" />
ADD OBJECT 'ck_valach' AS ck_filtru_numar WITH ;
Alignment = 0, ;
Caption = "Valoare de achizitie", ;
FontCharSet = 238, ;
FontName = "Arial Narrow", ;
Left = 122, ;
Name = "ck_valach", ;
Top = 46
*< END OBJECT: ClassLib="..\..\comun\clase\caut.vcx" BaseClass="checkbox" />
ADD OBJECT 'Ck_valinv' AS ck_filtru_numar WITH ;
Alignment = 0, ;
Caption = "Valoare de inventar", ;
FontCharSet = 238, ;
FontName = "Arial Narrow", ;
Left = 122, ;
Name = "Ck_valinv", ;
Top = 70
*< END OBJECT: ClassLib="..\..\comun\clase\caut.vcx" BaseClass="checkbox" />
ADD OBJECT 'Cmd_cauta1' AS cmd_cauta WITH ;
Left = 662, ;
Name = "Cmd_cauta1", ;
Top = 38
*< END OBJECT: ClassLib="..\..\comun\clase\cmd_butoane.vcx" BaseClass="commandbutton" />
ADD OBJECT 'Cmd_reset1' AS cmd_reset WITH ;
Left = 662, ;
Name = "Cmd_reset1", ;
Top = 66
*< END OBJECT: ClassLib="..\..\comun\clase\cmd_butoane.vcx" BaseClass="commandbutton" />
ADD OBJECT 'grd_jurnal' AS _grdbase WITH ;
ColumnCount = 31, ;
DeleteMark = .F., ;
Height = 468, ;
Left = 12, ;
Name = "grd_jurnal", ;
Top = 108, ;
Width = 768, ;
Column1.Name = "Column1", ;
Column2.Name = "Column2", ;
Column3.Name = "Column3", ;
Column4.Name = "Column4", ;
Column5.Name = "Column5", ;
Column6.Name = "Column6", ;
Column7.Name = "Column7", ;
Column8.Name = "Column8", ;
Column9.Name = "Column9", ;
Column10.Name = "Column10", ;
Column11.Name = "Column11", ;
Column12.Name = "Column12", ;
Column13.Name = "Column13", ;
Column14.Name = "Column14", ;
Column15.Name = "Column15", ;
Column16.Name = "Column16", ;
Column17.Name = "Column17", ;
Column18.Name = "Column18", ;
Column19.Name = "Column19", ;
Column20.Name = "Column20", ;
Column21.Name = "Column21", ;
Column22.Name = "Column22", ;
Column23.Name = "Column23", ;
Column24.Name = "Column24", ;
Column25.Name = "Column25", ;
Column26.Name = "Column26", ;
Column27.Name = "Column27", ;
Column28.Name = "Column28", ;
Column29.Name = "Column29", ;
Column30.Name = "Column30", ;
Column31.Name = "Column31"
*< END OBJECT: ClassLib="..\..\comun\clase\_grd_base.vcx" BaseClass="grid" />
ADD OBJECT 'grd_jurnal.Column1.Header1' AS header WITH ;
Alignment = 2, ;
Caption = "Nr.act", ;
FontCharSet = 238, ;
FontName = "Arial Narrow", ;
Name = "Header1"
*< END OBJECT: BaseClass="header" />
ADD OBJECT 'grd_jurnal.Column1.Text1' AS textbox WITH ;
BackColor = 255,255,255, ;
BorderStyle = 0, ;
ForeColor = 0,0,0, ;
Margin = 0, ;
Name = "Text1"
*< END OBJECT: BaseClass="textbox" />
ADD OBJECT 'grd_jurnal.Column10.Header1' AS header WITH ;
Caption = "Header1", ;
Name = "Header1"
*< END OBJECT: BaseClass="header" />
ADD OBJECT 'grd_jurnal.Column10.Text1' AS textbox WITH ;
BackColor = 255,255,255, ;
BorderStyle = 0, ;
ForeColor = 0,0,0, ;
Margin = 0, ;
Name = "Text1"
*< END OBJECT: BaseClass="textbox" />
ADD OBJECT 'grd_jurnal.Column11.Header1' AS header WITH ;
Caption = "Header1", ;
Name = "Header1"
*< END OBJECT: BaseClass="header" />
ADD OBJECT 'grd_jurnal.Column11.Text1' AS textbox WITH ;
BackColor = 255,255,255, ;
BorderStyle = 0, ;
ForeColor = 0,0,0, ;
Margin = 0, ;
Name = "Text1"
*< END OBJECT: BaseClass="textbox" />
ADD OBJECT 'grd_jurnal.Column12.Header1' AS header WITH ;
Caption = "Header1", ;
Name = "Header1"
*< END OBJECT: BaseClass="header" />
ADD OBJECT 'grd_jurnal.Column12.Text1' AS textbox WITH ;
BackColor = 255,255,255, ;
BorderStyle = 0, ;
ForeColor = 0,0,0, ;
Margin = 0, ;
Name = "Text1"
*< END OBJECT: BaseClass="textbox" />
ADD OBJECT 'grd_jurnal.Column13.Header1' AS header WITH ;
Caption = "Header1", ;
Name = "Header1"
*< END OBJECT: BaseClass="header" />
ADD OBJECT 'grd_jurnal.Column13.Text1' AS textbox WITH ;
BackColor = 255,255,255, ;
BorderStyle = 0, ;
ForeColor = 0,0,0, ;
Margin = 0, ;
Name = "Text1"
*< END OBJECT: BaseClass="textbox" />
ADD OBJECT 'grd_jurnal.Column14.Header1' AS header WITH ;
Caption = "Header1", ;
Name = "Header1"
*< END OBJECT: BaseClass="header" />
ADD OBJECT 'grd_jurnal.Column14.Text1' AS textbox WITH ;
BackColor = 255,255,255, ;
BorderStyle = 0, ;
ForeColor = 0,0,0, ;
Margin = 0, ;
Name = "Text1"
*< END OBJECT: BaseClass="textbox" />
ADD OBJECT 'grd_jurnal.Column15.Header1' AS header WITH ;
Caption = "Header1", ;
Name = "Header1"
*< END OBJECT: BaseClass="header" />
ADD OBJECT 'grd_jurnal.Column15.Text1' AS textbox WITH ;
BackColor = 255,255,255, ;
BorderStyle = 0, ;
ForeColor = 0,0,0, ;
Margin = 0, ;
Name = "Text1"
*< END OBJECT: BaseClass="textbox" />
ADD OBJECT 'grd_jurnal.Column16.Header1' AS header WITH ;
Caption = "Header1", ;
Name = "Header1"
*< END OBJECT: BaseClass="header" />
ADD OBJECT 'grd_jurnal.Column16.Text1' AS textbox WITH ;
BackColor = 255,255,255, ;
BorderStyle = 0, ;
ForeColor = 0,0,0, ;
Margin = 0, ;
Name = "Text1"
*< END OBJECT: BaseClass="textbox" />
ADD OBJECT 'grd_jurnal.Column17.Header1' AS header WITH ;
Caption = "Header1", ;
Name = "Header1"
*< END OBJECT: BaseClass="header" />
ADD OBJECT 'grd_jurnal.Column17.Text1' AS textbox WITH ;
BackColor = 255,255,255, ;
BorderStyle = 0, ;
ForeColor = 0,0,0, ;
Margin = 0, ;
Name = "Text1"
*< END OBJECT: BaseClass="textbox" />
ADD OBJECT 'grd_jurnal.Column18.Header1' AS header WITH ;
Caption = "Header1", ;
Name = "Header1"
*< END OBJECT: BaseClass="header" />
ADD OBJECT 'grd_jurnal.Column18.Text1' AS textbox WITH ;
BackColor = 255,255,255, ;
BorderStyle = 0, ;
ForeColor = 0,0,0, ;
Margin = 0, ;
Name = "Text1"
*< END OBJECT: BaseClass="textbox" />
ADD OBJECT 'grd_jurnal.Column19.Header1' AS header WITH ;
Caption = "Header1", ;
Name = "Header1"
*< END OBJECT: BaseClass="header" />
ADD OBJECT 'grd_jurnal.Column19.Text1' AS textbox WITH ;
BackColor = 255,255,255, ;
BorderStyle = 0, ;
ForeColor = 0,0,0, ;
Margin = 0, ;
Name = "Text1"
*< END OBJECT: BaseClass="textbox" />
ADD OBJECT 'grd_jurnal.Column2.Header1' AS header WITH ;
Alignment = 2, ;
Caption = "Data act", ;
FontCharSet = 238, ;
FontName = "Arial Narrow", ;
Name = "Header1"
*< END OBJECT: BaseClass="header" />
ADD OBJECT 'grd_jurnal.Column2.Text1' AS textbox WITH ;
BackColor = 255,255,255, ;
BorderStyle = 0, ;
ForeColor = 0,0,0, ;
Margin = 0, ;
Name = "Text1"
*< END OBJECT: BaseClass="textbox" />
ADD OBJECT 'grd_jurnal.Column20.Header1' AS header WITH ;
Caption = "Header1", ;
Name = "Header1"
*< END OBJECT: BaseClass="header" />
ADD OBJECT 'grd_jurnal.Column20.Text1' AS textbox WITH ;
BackColor = 255,255,255, ;
BorderStyle = 0, ;
ForeColor = 0,0,0, ;
Margin = 0, ;
Name = "Text1"
*< END OBJECT: BaseClass="textbox" />
ADD OBJECT 'grd_jurnal.Column21.Header1' AS header WITH ;
Caption = "Header1", ;
Name = "Header1"
*< END OBJECT: BaseClass="header" />
ADD OBJECT 'grd_jurnal.Column21.Text1' AS textbox WITH ;
BackColor = 255,255,255, ;
BorderStyle = 0, ;
ForeColor = 0,0,0, ;
Margin = 0, ;
Name = "Text1"
*< END OBJECT: BaseClass="textbox" />
ADD OBJECT 'grd_jurnal.Column22.Header1' AS header WITH ;
Caption = "Header1", ;
Name = "Header1"
*< END OBJECT: BaseClass="header" />
ADD OBJECT 'grd_jurnal.Column22.Text1' AS textbox WITH ;
BackColor = 255,255,255, ;
BorderStyle = 0, ;
ForeColor = 0,0,0, ;
Margin = 0, ;
Name = "Text1"
*< END OBJECT: BaseClass="textbox" />
ADD OBJECT 'grd_jurnal.Column23.Header1' AS header WITH ;
Caption = "Header1", ;
Name = "Header1"
*< END OBJECT: BaseClass="header" />
ADD OBJECT 'grd_jurnal.Column23.Text1' AS textbox WITH ;
BackColor = 255,255,255, ;
BorderStyle = 0, ;
ForeColor = 0,0,0, ;
Margin = 0, ;
Name = "Text1"
*< END OBJECT: BaseClass="textbox" />
ADD OBJECT 'grd_jurnal.Column24.Header1' AS header WITH ;
Caption = "Header1", ;
Name = "Header1"
*< END OBJECT: BaseClass="header" />
ADD OBJECT 'grd_jurnal.Column24.Text1' AS textbox WITH ;
BackColor = 255,255,255, ;
BorderStyle = 0, ;
ForeColor = 0,0,0, ;
Margin = 0, ;
Name = "Text1"
*< END OBJECT: BaseClass="textbox" />
ADD OBJECT 'grd_jurnal.Column25.Header1' AS header WITH ;
Caption = "Header1", ;
Name = "Header1"
*< END OBJECT: BaseClass="header" />
ADD OBJECT 'grd_jurnal.Column25.Text1' AS textbox WITH ;
BackColor = 255,255,255, ;
BorderStyle = 0, ;
ForeColor = 0,0,0, ;
Margin = 0, ;
Name = "Text1"
*< END OBJECT: BaseClass="textbox" />
ADD OBJECT 'grd_jurnal.Column26.Header1' AS header WITH ;
Caption = "Header1", ;
Name = "Header1"
*< END OBJECT: BaseClass="header" />
ADD OBJECT 'grd_jurnal.Column26.Text1' AS textbox WITH ;
BackColor = 255,255,255, ;
BorderStyle = 0, ;
ForeColor = 0,0,0, ;
Margin = 0, ;
Name = "Text1"
*< END OBJECT: BaseClass="textbox" />
ADD OBJECT 'grd_jurnal.Column27.Header1' AS header WITH ;
Caption = "Header1", ;
Name = "Header1"
*< END OBJECT: BaseClass="header" />
ADD OBJECT 'grd_jurnal.Column27.Text1' AS textbox WITH ;
BackColor = 255,255,255, ;
BorderStyle = 0, ;
ForeColor = 0,0,0, ;
Margin = 0, ;
Name = "Text1"
*< END OBJECT: BaseClass="textbox" />
ADD OBJECT 'grd_jurnal.Column28.Header1' AS header WITH ;
Caption = "Header1", ;
Name = "Header1"
*< END OBJECT: BaseClass="header" />
ADD OBJECT 'grd_jurnal.Column28.Text1' AS textbox WITH ;
BackColor = 255,255,255, ;
BorderStyle = 0, ;
ForeColor = 0,0,0, ;
Margin = 0, ;
Name = "Text1"
*< END OBJECT: BaseClass="textbox" />
ADD OBJECT 'grd_jurnal.Column29.Header1' AS header WITH ;
Caption = "Header1", ;
Name = "Header1"
*< END OBJECT: BaseClass="header" />
ADD OBJECT 'grd_jurnal.Column29.Text1' AS textbox WITH ;
BackColor = 255,255,255, ;
BorderStyle = 0, ;
ForeColor = 0,0,0, ;
Margin = 0, ;
Name = "Text1"
*< END OBJECT: BaseClass="textbox" />
ADD OBJECT 'grd_jurnal.Column3.Header1' AS header WITH ;
Caption = "Header1", ;
Name = "Header1"
*< END OBJECT: BaseClass="header" />
ADD OBJECT 'grd_jurnal.Column3.Text1' AS textbox WITH ;
BackColor = 255,255,255, ;
BorderStyle = 0, ;
ForeColor = 0,0,0, ;
Margin = 0, ;
Name = "Text1"
*< END OBJECT: BaseClass="textbox" />
ADD OBJECT 'grd_jurnal.Column30.Header1' AS header WITH ;
Caption = "Header1", ;
Name = "Header1"
*< END OBJECT: BaseClass="header" />
ADD OBJECT 'grd_jurnal.Column30.Text1' AS textbox WITH ;
BackColor = 255,255,255, ;
BorderStyle = 0, ;
ForeColor = 0,0,0, ;
Margin = 0, ;
Name = "Text1"
*< END OBJECT: BaseClass="textbox" />
ADD OBJECT 'grd_jurnal.Column31.Header1' AS header WITH ;
Caption = "Header1", ;
Name = "Header1"
*< END OBJECT: BaseClass="header" />
ADD OBJECT 'grd_jurnal.Column31.Text1' AS textbox WITH ;
BackColor = 255,255,255, ;
BorderStyle = 0, ;
ForeColor = 0,0,0, ;
Margin = 0, ;
Name = "Text1"
*< END OBJECT: BaseClass="textbox" />
ADD OBJECT 'grd_jurnal.Column4.Header1' AS header WITH ;
Caption = "Header1", ;
Name = "Header1"
*< END OBJECT: BaseClass="header" />
ADD OBJECT 'grd_jurnal.Column4.Text1' AS textbox WITH ;
BackColor = 255,255,255, ;
BorderStyle = 0, ;
ForeColor = 0,0,0, ;
Margin = 0, ;
Name = "Text1"
*< END OBJECT: BaseClass="textbox" />
ADD OBJECT 'grd_jurnal.Column5.Header1' AS header WITH ;
Caption = "Header1", ;
Name = "Header1"
*< END OBJECT: BaseClass="header" />
ADD OBJECT 'grd_jurnal.Column5.Text1' AS textbox WITH ;
BackColor = 255,255,255, ;
BorderStyle = 0, ;
ForeColor = 0,0,0, ;
Margin = 0, ;
Name = "Text1"
*< END OBJECT: BaseClass="textbox" />
ADD OBJECT 'grd_jurnal.Column6.Header1' AS header WITH ;
Caption = "Header1", ;
Name = "Header1"
*< END OBJECT: BaseClass="header" />
ADD OBJECT 'grd_jurnal.Column6.Text1' AS textbox WITH ;
BackColor = 255,255,255, ;
BorderStyle = 0, ;
ForeColor = 0,0,0, ;
Margin = 0, ;
Name = "Text1"
*< END OBJECT: BaseClass="textbox" />
ADD OBJECT 'grd_jurnal.Column7.Header1' AS header WITH ;
Caption = "Header1", ;
Name = "Header1"
*< END OBJECT: BaseClass="header" />
ADD OBJECT 'grd_jurnal.Column7.Text1' AS textbox WITH ;
BackColor = 255,255,255, ;
BorderStyle = 0, ;
ForeColor = 0,0,0, ;
Margin = 0, ;
Name = "Text1"
*< END OBJECT: BaseClass="textbox" />
ADD OBJECT 'grd_jurnal.Column8.Header1' AS header WITH ;
Caption = "Header1", ;
Name = "Header1"
*< END OBJECT: BaseClass="header" />
ADD OBJECT 'grd_jurnal.Column8.Text1' AS textbox WITH ;
BackColor = 255,255,255, ;
BorderStyle = 0, ;
ForeColor = 0,0,0, ;
Margin = 0, ;
Name = "Text1"
*< END OBJECT: BaseClass="textbox" />
ADD OBJECT 'grd_jurnal.Column9.Header1' AS header WITH ;
Caption = "Header1", ;
Name = "Header1"
*< END OBJECT: BaseClass="header" />
ADD OBJECT 'grd_jurnal.Column9.Text1' AS textbox WITH ;
BackColor = 255,255,255, ;
BorderStyle = 0, ;
ForeColor = 0,0,0, ;
Margin = 0, ;
Name = "Text1"
*< END OBJECT: BaseClass="textbox" />
ENDDEFINE

924
Clase/Vechi/registry.vc2 Normal file
View File

@@ -0,0 +1,924 @@
*--------------------------------------------------------------------------------------------------------------------------------------------------------
* (EN) AUTOGENERATED - ATTENTION!! - NOT INTENDED FOR EXECUTION!! USE ONLY FOR MERGING CHANGES AND STORING WITH SCM TOOLS!!
*--------------------------------------------------------------------------------------------------------------------------------------------------------
*< FOXBIN2PRG: Version="1.21" SourceFile="registry.vcx" CPID="1252" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries)
*
*
DEFINE CLASS filereg AS registry OF "registry.vcx"
*< CLASSDATA: Baseclass="custom" Timestamp="" Scale="Pixels" Uniqueid="" />
#INCLUDE "registry.h"
*<DefinedPropArrayMethod>
*m: getapplication && Retrieves application key.
*m: getapppath && Checks and returns path of application associated with a particular extension (e.g., XLS, DOC).
*m: getlatestversion && Returns latest version for a specified application.
*</DefinedPropArrayMethod>
*<PropValue>
Name = "filereg"
*</PropValue>
PROCEDURE getapplication && Retrieves application key.
LPARAMETERS cExtnKey,cAppKey,lServer
LOCAL nErrNum,cOptName
cOptName = ""
* lServer - checking for OLE server.
IF TYPE("m.lServer") = "L" AND m.lServer
THIS.cAppPathKey = OLE_PATH_KEY
ELSE
THIS.cAppPathKey = APP_PATH_KEY
ENDIF
* Open extension app key
m.nErrNum = THIS.OpenKey(m.cExtnKey+THIS.cAppPathKey)
IF m.nErrNum # ERROR_SUCCESS
RETURN m.nErrNum
ENDIF
* Get application path
nErrNum = THIS.GetKeyValue(cOptName,@cAppKey)
* Close application path key
THIS.CloseKey()
RETURN m.nErrNum
ENDPROC
PROCEDURE getapppath && Checks and returns path of application associated with a particular extension (e.g., XLS, DOC).
* Checks and returns path of application
* associated with a particular extension (e.g., XLS, DOC).
LPARAMETER cExtension,cExtnKey,cAppKey,lServer
LOCAL nErrNum,cOptName
cOptName = ""
* Check Extension parameter
IF TYPE("m.cExtension") # "C" OR LEN(m.cExtension) > 3
RETURN ERROR_BADPARM
ENDIF
m.cExtension = "."+m.cExtension
* Open extension key
nErrNum = THIS.OpenKey(m.cExtension)
IF m.nErrNum # ERROR_SUCCESS
RETURN m.nErrNum
ENDIF
* Get key value for file extension
nErrNum = THIS.GetKeyValue(cOptName,@cExtnKey)
* Close extension key
THIS.CloseKey()
IF m.nErrNum # ERROR_SUCCESS
RETURN m.nErrNum
ENDIF
RETURN THIS.GetApplication(cExtnKey,@cAppKey,lServer)
ENDPROC
PROCEDURE getlatestversion && Returns latest version for a specified application.
LPARAMETER cClass,cExtnKey,cAppKey,lServer
LOCAL nErrNum,cOptName
cOptName = ""
* Open class key (e.g., Excel.Sheet)
nErrNum = THIS.OpenKey(m.cClass+CURVER_KEY)
IF m.nErrNum # ERROR_SUCCESS
RETURN m.nErrNum
ENDIF
* Get key value for file extension
nErrNum = THIS.GetKeyValue(cOptName,@cExtnKey)
* Close extension key
THIS.CloseKey()
IF m.nErrNum # ERROR_SUCCESS
RETURN m.nErrNum
ENDIF
RETURN THIS.GetApplication(cExtnKey,@cAppKey,lServer)
ENDPROC
ENDDEFINE
DEFINE CLASS foxreg AS registry OF "registry.vcx"
*< CLASSDATA: Baseclass="custom" Timestamp="" Scale="Pixels" Uniqueid="" />
#INCLUDE "registry.h"
*<DefinedPropArrayMethod>
*m: enumfoxoptions
*m: getfoxoption && Retrieves an option from FoxPro registry settings.
*m: setfoxoption && Sets an option from FoxPro registry settings.
*</DefinedPropArrayMethod>
*<PropValue>
Name = "foxreg"
*</PropValue>
PROCEDURE enumfoxoptions
LPARAMETER aFoxOpts
RETURN THIS.EnumOptions(@aFoxOpts,THIS.cVFPOptPath,THIS.nUserKey,.F.)
ENDPROC
PROCEDURE getfoxoption && Retrieves an option from FoxPro registry settings.
LPARAMETER cOptName,cOptVal
RETURN THIS.GetRegKey(cOptName,@cOptVal,THIS.cVFPOptPath,THIS.nUserKey)
ENDPROC
PROCEDURE setfoxoption && Sets an option from FoxPro registry settings.
LPARAMETER cOptName,cOptVal
RETURN THIS.SetRegKey(cOptName,cOptVal,THIS.cVFPOptPath,THIS.nUserKey)
ENDPROC
ENDDEFINE
DEFINE CLASS odbcreg AS registry OF "registry.vcx"
*< CLASSDATA: Baseclass="custom" Timestamp="" Scale="Pixels" Uniqueid="" />
#INCLUDE "registry.h"
*<DefinedPropArrayMethod>
*m: enumodbcdata && Enumerates through ODBC data sources.
*m: enumodbcdrvrs && Enumerates through ODBC drivers.
*m: getodbcdrvrs && Retrieves ODBC drivers.
*m: loadodbcfuncs && Loads ODBC registry functions.
*</DefinedPropArrayMethod>
*<PropValue>
Name = "odbcreg"
*</PropValue>
PROCEDURE enumodbcdata && Enumerates through ODBC data sources.
LPARAMETER aDrvrOpts,cDataSource
LOCAL cSourceKey
cSourceKey = ODBC_DATA_KEY+cDataSource
RETURN THIS.EnumOptions(@aDrvrOpts,m.cSourceKey,HKEY_CURRENT_USER,.F.)
ENDPROC
PROCEDURE enumodbcdrvrs && Enumerates through ODBC drivers.
LPARAMETER aDrvrOpts,cODBCDriver
LOCAL cSourceKey
cSourceKey = ODBC_DRVRS_KEY+m.cODBCDriver
RETURN THIS.EnumOptions(@aDrvrOpts,m.cSourceKey,HKEY_LOCAL_MACHINE,.F.)
ENDPROC
PROCEDURE getodbcdrvrs && Retrieves ODBC drivers.
LPARAMETERS aDrvrs,lDataSources
LOCAL nODBCEnv,nRetVal,dsn,dsndesc,mdsn,mdesc
lDataSources = IIF(TYPE("m.lDataSources")="L",m.lDataSources,.F.)
* Load API functions
nRetVal = THIS.LoadODBCFuncs()
IF m.nRetVal # ERROR_SUCCESS
RETURN m.nRetVal
ENDIF
* Get ODBC environment handle
nODBCEnv=VAL(SYS(3053))
* -- Possible error messages
* 527 "cannot load odbc library"
* 528 "odbc entry point missing"
* 182 "not enough memory"
IF INLIST(nODBCEnv,527,528,182)
* Failed
RETURN ERROR_ODBCFAIL
ENDIF
DIMENSION aDrvrs[1,IIF(m.lDataSources,2,1)]
aDrvrs[1] = ""
DO WHILE .T.
dsn=space(100)
dsndesc=space(100)
mdsn=0
mdesc=0
* Return drivers or data sources
IF m.lDataSources
nRetVal = SQLDataSources(m.nODBCEnv,SQL_FETCH_NEXT,@dsn,100,@mdsn,@dsndesc,255,@mdesc)
ELSE
nRetVal = SQLDrivers(m.nODBCEnv,SQL_FETCH_NEXT,@dsn,100,@mdsn,@dsndesc,100,@mdesc)
ENDIF
DO CASE
CASE m.nRetVal = SQL_NO_DATA
nRetVal = ERROR_SUCCESS
EXIT
CASE m.nRetVal # ERROR_SUCCESS AND m.nRetVal # 1
EXIT
OTHERWISE
IF !EMPTY(aDrvrs[1])
IF m.lDataSources
DIMENSION aDrvrs[ALEN(aDrvrs,1)+1,2]
ELSE
DIMENSION aDrvrs[ALEN(aDrvrs,1)+1,1]
ENDIF
ENDIF
dsn = ALLTRIM(m.dsn)
aDrvrs[ALEN(aDrvrs,1),1] = LEFT(m.dsn,LEN(m.dsn)-1)
IF m.lDataSources
dsndesc = ALLTRIM(m.dsndesc)
aDrvrs[ALEN(aDrvrs,1),2] = LEFT(m.dsndesc,LEN(m.dsndesc)-1)
ENDIF
ENDCASE
ENDDO
RETURN nRetVal
ENDPROC
PROCEDURE loadodbcfuncs && Loads ODBC registry functions.
IF THIS.lLoadedODBCs
RETURN ERROR_SUCCESS
ENDIF
* Check API file containing functions
IF EMPTY(THIS.cODBCDLLFile)
RETURN ERROR_NOODBCFILE
ENDIF
LOCAL henv,fDirection,szDriverDesc,cbDriverDescMax
LOCAL pcbDriverDesc,szDriverAttributes,cbDrvrAttrMax,pcbDrvrAttr
LOCAL szDSN,cbDSNMax,pcbDSN,szDescription,cbDescriptionMax,pcbDescription
DECLARE Short SQLDrivers IN (THIS.cODBCDLLFile) ;
Integer henv, Integer fDirection, ;
String @ szDriverDesc, Integer cbDriverDescMax, Integer pcbDriverDesc, ;
String @ szDriverAttributes, Integer cbDrvrAttrMax, Integer pcbDrvrAttr
IF THIS.lhaderror && error loading library
RETURN -1
ENDIF
DECLARE Short SQLDataSources IN (THIS.cODBCDLLFile) ;
Integer henv, Integer fDirection, ;
String @ szDSN, Integer cbDSNMax, Integer @ pcbDSN, ;
String @ szDescription, Integer cbDescriptionMax,Integer pcbDescription
THIS.lLoadedODBCs = .T.
RETURN ERROR_SUCCESS
ENDPROC
ENDDEFINE
DEFINE CLASS oldinireg AS registry OF "registry.vcx"
*< CLASSDATA: Baseclass="custom" Timestamp="" Scale="Pixels" Uniqueid="" />
#INCLUDE "registry.h"
*<DefinedPropArrayMethod>
*m: getinientry && Retrieves information from INI entry.
*m: getinisection && Retrieves information from INI section.
*m: loadinifuncs && Loads functions needed for reading INI files.
*m: writeinientry && Writes a specific INI entry.
*</DefinedPropArrayMethod>
*<PropValue>
Name = "oldinireg"
*</PropValue>
PROCEDURE getinientry && Retrieves information from INI entry.
LPARAMETER cValue,cSection,cEntry,cINIFile
* Get entry from INI file
LOCAL cBuffer,nBufSize,nErrNum,nTotParms
nTotParms = PCOUNT()
* Load API functions
nErrNum= THIS.LoadINIFuncs()
IF m.nErrNum # ERROR_SUCCESS
RETURN m.nErrNum
ENDIF
* Parameter checks here
IF m.nTotParms < 3
m.cEntry = 0
ENDIF
m.cBuffer=space(2000)
IF EMPTY(m.cINIFile)
* WIN.INI file
m.nBufSize = GetWinINI(m.cSection,m.cEntry,"",@cBuffer,LEN(m.cBuffer))
ELSE
* Private INI file
m.nBufSize = GetPrivateINI(m.cSection,m.cEntry,"",@cBuffer,LEN(m.cBuffer),m.cINIFile)
ENDIF
IF m.nBufSize = 0 &&could not find entry in INI file
RETURN ERROR_NOINIENTRY
ENDIF
m.cValue=LEFT(m.cBuffer,m.nBufSize)
** All is well
RETURN ERROR_SUCCESS
ENDPROC
PROCEDURE getinisection && Retrieves information from INI section.
LPARAMETERS aSections,cSection,cINIFile
LOCAL cINIValue, nTotEntries, i, nLastPos
cINIValue = ""
IF TYPE("m.cINIFile") # "C"
cINIFile = ""
ENDIF
IF THIS.GetINIEntry(@cINIValue,cSection,0,m.cINIFile) # ERROR_SUCCESS
RETURN ERROR_FAILINI
ENDIF
nTotEntries=OCCURS(CHR(0),m.cINIValue)
DIMENSION aSections[m.nTotEntries]
nLastPos = 1
FOR i = 1 TO m.nTotEntries
nTmpPos = AT(CHR(0),m.cINIValue,m.i)
aSections[m.i] = SUBSTR(m.cINIValue,m.nLastPos,m.nTmpPos-m.nLastPos)
nLastPos = m.nTmpPos+1
ENDFOR
RETURN ERROR_SUCCESS
ENDPROC
PROCEDURE loadinifuncs && Loads functions needed for reading INI files.
* Loads funtions needed for reading INI files
IF THIS.lLoadedINIs
RETURN ERROR_SUCCESS
ENDIF
DECLARE integer GetPrivateProfileString IN Win32API ;
AS GetPrivateINI string,string,string,string,integer,string
IF THIS.lhaderror && error loading library
RETURN -1
ENDIF
DECLARE integer GetProfileString IN Win32API ;
AS GetWinINI string,string,string,string,integer
DECLARE integer WriteProfileString IN Win32API ;
AS WriteWinINI string,string,string
DECLARE integer WritePrivateProfileString IN Win32API ;
AS WritePrivateINI string,string,string,string
THIS.lLoadedINIs = .T.
* Need error check here
RETURN ERROR_SUCCESS
ENDPROC
PROCEDURE writeinientry && Writes a specific INI entry.
LPARAMETER cValue,cSection,cEntry,cINIFile
* Get entry from INI file
LOCAL nErrNum
* Load API functions
nErrNum = THIS.LoadINIFuncs()
IF m.nErrNum # ERROR_SUCCESS
RETURN m.nErrNum
ENDIF
IF EMPTY(m.cINIFile)
* WIN.INI file
nErrNum = WriteWinINI(m.cSection,m.cEntry,m.cValue)
ELSE
* Private INI file
nErrNum = WritePrivateINI(m.cSection,m.cEntry,m.cValue,m.cINIFile)
ENDIF
** All is well
RETURN IIF(m.nErrNum=1,ERROR_SUCCESS,m.nErrNum)
ENDPROC
ENDDEFINE
DEFINE CLASS registry AS custom
*< CLASSDATA: Baseclass="custom" Timestamp="" Scale="Pixels" Uniqueid="" />
#INCLUDE "registry.h"
*<DefinedPropArrayMethod>
*m: closekey && Closes a registry key.
*m: deletekey && Deletes a registry key.
*m: deletekeyvalue && Deletes value from registry key.
*m: enumkeys && Enumerates through a registry key.
*m: enumkeyvalues && Enumerates through values of a registry key
*m: enumoptions && Enumerates through all entries for a key and populates array.
*m: getkeyvalue && Obtains a value from a registry key.
*m: getregkey && Gets a registry key setting.
*m: iskey && Checks to see if a key exists.
*m: loadregfuncs && Loads funtions needed for Registry.
*m: openkey && Opens a registry key.
*m: setkeyvalue && Sets a key value.
*m: setregkey && Sets a registry key setting.
*p: capppathkey && Application path registry key.
*p: cinidllfile && DLL file for INI functions.
*p: codbcdllfile && DLL file for ODBC functions.
*p: cregdllfile && DLL file for registry functions.
*p: cvfpoptpath && Registry path to VFP options settings.
*p: lcreatekey && Whether to create key if one does not already exist.
*p: ldisallowexpanded
*p: lhaderror && Whether an error occurred.
*p: lhasdllloaded
*p: lloadeddlls && Whether registry key functions loaded.
*p: lloadedinis && Whether INI functions loaded.
*p: lloadedodbcs && Whether ODBC functions loaded.
*p: ncurrentkey && Current registry key.
*p: ncurrentos && Current operating system code.
*p: nuserkey && User registry key.
*</DefinedPropArrayMethod>
*<PropValue>
capppathkey =
cinidllfile =
codbcdllfile =
cregdllfile =
cvfpoptpath =
Name = "registry"
ncurrentkey = 0
ncurrentos = 0
nuserkey = 0
*</PropValue>
PROCEDURE closekey && Closes a registry key.
* Closes a registry key
=RegCloseKey(THIS.nCurrentKey)
THIS.nCurrentKey =0
ENDPROC
PROCEDURE deletekey && Deletes a registry key.
* This routine deletes a Registry Key
LPARAMETER nUserKey,cKeyPath
LOCAL nErrNum
nErrNum = ERROR_SUCCESS
* Delete key
m.nErrNum = RegDeleteKey(m.nUserKey,m.cKeyPath)
RETURN m.nErrNum
ENDPROC
PROCEDURE deletekeyvalue && Deletes value from registry key.
LPARAMETER cOptName,cKeyPath,nUserKey
LOCAL cOption,nErrNum
cOption = cOptName
nErrNum = ERROR_SUCCESS
* Open key
m.nErrNum = THIS.OpenKey(m.cKeyPath,m.nUserKey)
IF m.nErrNum # ERROR_SUCCESS
RETURN m.nErrNum
ENDIF
* Delete the key value
m.nErrNum = RegDeleteValue(THIS.nCurrentKey,m.cOption)
* Close key
THIS.CloseKey() && close key
RETURN m.nErrNum
ENDPROC
PROCEDURE Destroy
IF !THIS.lHasDllLoaded
CLEAR DLLS RegOpenKey
CLEAR DLLS RegCreateKey
CLEAR DLLS RegDeleteKey
CLEAR DLLS RegDeleteValue
CLEAR DLLS RegCloseKey
CLEAR DLLS RegSetValueEx
CLEAR DLLS RegQueryValueEx
CLEAR DLLS RegEnumKey
CLEAR DLLS RegEnumKeyEx
CLEAR DLLS RegEnumValue
ENDIF
ENDPROC
PROCEDURE enumkeys && Enumerates through a registry key.
LPARAMETERS aKeyNames
LOCAL nKeyEntry,cNewKey,cbuf,nbuflen,cRetTime, nKeySize, nErrCode
nKeyEntry = 0
DIMENSION aKeyNames[1]
DO WHILE .T.
nKeySize = 0
cNewKey = SPACE(100)
nKeySize = LEN(m.cNewKey)
cbuf=space(100)
nbuflen=len(m.cbuf)
cRetTime=space(100)
m.nErrCode = RegEnumKeyEx(THIS.nCurrentKey,m.nKeyEntry,@cNewKey,@nKeySize,0,@cbuf,@nbuflen,@cRetTime)
DO CASE
CASE m.nErrCode = ERROR_EOF
EXIT
CASE m.nErrCode # ERROR_SUCCESS
EXIT
ENDCASE
cNewKey = ALLTRIM(m.cNewKey)
cNewKey = LEFT(m.cNewKey,LEN(m.cNewKey)-1)
IF !EMPTY(aKeyNames[1])
DIMENSION aKeyNames[ALEN(aKeyNames)+1]
ENDIF
aKeyNames[ALEN(aKeyNames)] = m.cNewKey
nKeyEntry = m.nKeyEntry + 1
ENDDO
IF m.nErrCode = ERROR_EOF AND m.nKeyEntry # 0
m.nErrCode = ERROR_SUCCESS
ENDIF
RETURN m.nErrCode
ENDPROC
PROCEDURE enumkeyvalues && Enumerates through values of a registry key
* Enumerates through values of a registry key
LPARAMETER aKeyValues
LOCAL lpszValue,lpcchValue,lpdwReserved
LOCAL lpdwType,lpbData,lpcbData
LOCAL nErrCode,nKeyEntry
STORE 0 TO nKeyEntry
IF TYPE("THIS.nCurrentKey")#'N' OR THIS.nCurrentKey = 0
RETURN ERROR_BADKEY
ENDIF
* Sorry, Win32s does not support this one!
IF THIS.nCurrentOS = OS_W32S
RETURN ERROR_BADPLAT
ENDIF
DO WHILE .T.
STORE 0 TO lpdwReserved,lpdwType,nErrCode
STORE SPACE(256) TO lpbData, lpszValue
STORE LEN(lpbData) TO m.lpcchValue
STORE LEN(lpszValue) TO m.lpcbData
nErrCode=RegEnumValue(THIS.nCurrentKey,m.nKeyEntry,@lpszValue,;
@lpcchValue,m.lpdwReserved,@lpdwType,@lpbData,@lpcbData)
DO CASE
CASE m.nErrCode = ERROR_EOF
EXIT
CASE m.nErrCode # ERROR_SUCCESS
EXIT
ENDCASE
nKeyEntry = m.nKeyEntry + 1
* Set array values
DIMENSION aKeyValues[m.nKeyEntry,2]
aKeyValues[m.nKeyEntry,1] = LEFT(m.lpszValue,m.lpcchValue)
DO CASE
CASE lpdwType = REG_SZ
aKeyValues[m.nKeyEntry,2] = LEFT(m.lpbData,m.lpcbData-1)
CASE lpdwType = REG_EXPAND_SZ AND !THIS.lDisAllowExpanded
aKeyValues[m.nKeyEntry,2] = LEFT(m.lpbData,m.lpcbData-1)
CASE lpdwType = REG_BINARY
* Don't support binary
aKeyValues[m.nKeyEntry,2] = REG_BINARY_LOC
CASE lpdwType = REG_DWORD
* You will need to use ASC() to check values here.
aKeyValues[m.nKeyEntry,2] = LEFT(m.lpbData,m.lpcbData-1)
OTHERWISE
aKeyValues[m.nKeyEntry,2] = REG_UNKNOWN_LOC
ENDCASE
ENDDO
IF m.nErrCode = ERROR_EOF AND m.nKeyEntry#0
m.nErrCode = ERROR_SUCCESS
ENDIF
RETURN m.nErrCode
ENDPROC
PROCEDURE enumoptions && Enumerates through all entries for a key and populates array.
* Enumerates through all entries for a key and populates array
LPARAMETER aRegOpts,cOptPath,nUserKey,lEnumKeys
LOCAL iPos,cOption,nErrNum
iPos = 0
cOption = ""
nErrNum = ERROR_SUCCESS
IF PCOUNT()<4 OR TYPE("m.lEnumKeys") # "L"
lEnumKeys = .F.
ENDIF
* Open key
m.nErrNum = THIS.OpenKey(m.cOptPath,m.nUserKey)
IF m.nErrNum # ERROR_SUCCESS
RETURN m.nErrNum
ENDIF
* Enumerate through keys
IF m.lEnumKeys
* Enumerate and get key names
nErrNum = THIS.EnumKeys(@aRegOpts)
ELSE
* Enumerate and get all key values
nErrNum = THIS.EnumKeyValues(@aRegOpts)
ENDIF
* Close key
THIS.CloseKey() &&close key
RETURN m.nErrNum
ENDPROC
PROCEDURE Error
LPARAMETERS nError, cMethod, nLine
THIS.lhaderror = .T.
=MESSAGEBOX(MESSAGE())
ENDPROC
PROCEDURE getkeyvalue && Obtains a value from a registry key.
* Obtains a value from a registry key
* Note: this routine only handles Data strings (REG_SZ)
LPARAMETER cValueName,cKeyValue
LOCAL lpdwReserved,lpdwType,lpbData,lpcbData,nErrCode
STORE 0 TO lpdwReserved,lpdwType
STORE SPACE(256) TO lpbData
STORE LEN(m.lpbData) TO m.lpcbData
DO CASE
CASE TYPE("THIS.nCurrentKey")#'N' OR THIS.nCurrentKey = 0
RETURN ERROR_BADKEY
CASE TYPE("m.cValueName") #"C"
RETURN ERROR_BADPARM
ENDCASE
m.nErrCode=RegQueryValueEx(THIS.nCurrentKey,m.cValueName,;
m.lpdwReserved,@lpdwType,@lpbData,@lpcbData)
* Check for error
IF m.nErrCode # ERROR_SUCCESS
RETURN m.nErrCode
ENDIF
* Make sure we have a data string data type
IF m.lpdwType # REG_SZ AND m.lpdwType # REG_EXPAND_SZ
RETURN ERROR_NONSTR_DATA
ENDIF
m.cKeyValue = LEFT(m.lpbData,m.lpcbData-1)
*!* RETURN ERROR_SUCCESS &&intoarce 0
RETURN m.cKeyValue
ENDPROC
PROCEDURE getregkey && Gets a registry key setting.
* This routine gets a registry key setting
* ex. THIS.GetRegKey("ResWidth",@cValue,;
* "Software\Microsoft\VisualFoxPro\4.0\Options",;
* HKEY_CURRENT_USER)
LPARAMETER cOptName,cOptVal,cKeyPath,nUserKey
LOCAL iPos,cOption,nErrNum
iPos = 0
cOption = ""
nErrNum = ERROR_SUCCESS
* Open registry key
m.nErrNum = THIS.OpenKey(m.cKeyPath,m.nUserKey)
IF m.nErrNum # ERROR_SUCCESS
RETURN m.nErrNum
ENDIF
* Get the key value
nErrNum = THIS.GetKeyValue(cOptName,@cOptVal)
* Close registry key
THIS.CloseKey() &&close key
RETURN m.nErrNum
ENDPROC
PROCEDURE Init
LOCAL laTmpDLLs,lnDlls
DIMENSION laTmpDLLs[1]
THIS.nUserKey = HKEY_CURRENT_USER
THIS.cVFPOptPath = VFP_OPTIONS_KEY1 + _VFP.VERSION + VFP_OPTIONS_KEY2
DO CASE
CASE _DOS OR _UNIX OR _MAC
RETURN .F.
CASE ATC("Windows 3",OS(1)) # 0
THIS.nCurrentOS = OS_W32S
CASE ATC("Windows NT",OS(1)) # 0
THIS.nCurrentOS = OS_NT
THIS.cRegDLLFile = DLL_ADVAPI_NT
THIS.cINIDLLFile = DLL_KERNEL_NT
THIS.cODBCDLLFile = DLL_ODBC_NT
OTHERWISE
* Windows 95
THIS.nCurrentOS = OS_WIN95
THIS.cRegDLLFile = DLL_ADVAPI_WIN95
THIS.cINIDLLFile = DLL_KERNEL_WIN95
THIS.cODBCDLLFile = DLL_ODBC_WIN95
ENDCASE
* Check if DLLs already loaded so we don't unload when done.
lnDlls = ADLLS(laTmpDLLs)
IF lnDlls > 0
IF ASCAN(laTmpDLLs,"RegOpenKey",-1,-1,-1,1)#0
THIS.lHasDllLoaded=.T.
ENDIF
ENDIF
ENDPROC
PROCEDURE iskey && Checks to see if a key exists.
* Checks to see if a key exists
LPARAMETER cKeyName,nRegKey
LOCAL nErrNum
* Open extension key
nErrNum = THIS.OpenKey(m.cKeyName,m.nRegKey)
IF m.nErrNum = ERROR_SUCCESS
* Close extension key
THIS.CloseKey()
ENDIF
RETURN m.nErrNum = ERROR_SUCCESS
ENDPROC
PROCEDURE loadregfuncs && Loads funtions needed for Registry.
* Loads funtions needed for Registry
LOCAL nHKey,cSubKey,nResult
LOCAL hKey,iValue,lpszValue,lpcchValue,lpdwType,lpbData,lpcbData
LOCAL lpcStr,lpszVal,nLen,lpdwReserved
LOCAL lpszValueName,dwReserved,fdwType
LOCAL iSubKey,lpszName,cchName
IF THIS.lLoadedDLLs
RETURN ERROR_SUCCESS
ENDIF
DECLARE Integer RegOpenKey IN Win32API ;
Integer nHKey, String @cSubKey, Integer @nResult
IF THIS.lhaderror && error loading library
RETURN -1
ENDIF
DECLARE Integer RegCreateKey IN Win32API ;
Integer nHKey, String @cSubKey, Integer @nResult
DECLARE Integer RegDeleteKey IN Win32API ;
Integer nHKey, String @cSubKey
DECLARE Integer RegDeleteValue IN Win32API ;
Integer nHKey, String cSubKey
DECLARE Integer RegCloseKey IN Win32API ;
Integer nHKey
DECLARE Integer RegSetValueEx IN Win32API ;
Integer hKey, String lpszValueName, Integer dwReserved,;
Integer fdwType, String lpbData, Integer cbData
DECLARE Integer RegQueryValueEx IN Win32API ;
Integer nHKey, String lpszValueName, Integer dwReserved,;
Integer @lpdwType, String @lpbData, Integer @lpcbData
DECLARE Integer RegEnumKey IN Win32API ;
Integer nHKey,Integer iSubKey, String @lpszName, Integer @cchName
DECLARE Integer RegEnumKeyEx IN Win32API ;
Integer nHKey,Integer iSubKey, String @lpszName, Integer @cchName,;
Integer dwReserved,String @lpszName, Integer @cchName,String @cchName
DECLARE Integer RegEnumValue IN Win32API ;
Integer hKey, Integer iValue, String @lpszValue, ;
Integer @lpcchValue, Integer lpdwReserved, Integer @lpdwType, ;
String @lpbData, Integer @lpcbData
THIS.lLoadedDLLs = .T.
* Need error check here
RETURN ERROR_SUCCESS
ENDPROC
PROCEDURE openkey && Opens a registry key.
* Opens a registry key
LPARAMETER cLookUpKey,nRegKey,lCreateKey
LOCAL nSubKey,nErrCode,nPCount,lSaveCreateKey
nSubKey = 0
nPCount = PCOUNT()
IF TYPE("m.nRegKey") # "N" OR EMPTY(m.nRegKey)
m.nRegKey = HKEY_CURRENT_USER
ENDIF
* Load API functions
nErrCode = THIS.LoadRegFuncs()
IF m.nErrCode # ERROR_SUCCESS
RETURN m.nErrCode
ENDIF
lSaveCreateKey = THIS.lCreateKey
IF m.nPCount>2 AND TYPE("m.lCreateKey") = "L"
THIS.lCreateKey = m.lCreateKey
ENDIF
IF THIS.lCreateKey
* Try to open or create registry key
nErrCode = RegCreateKey(m.nRegKey,m.cLookUpKey,@nSubKey)
ELSE
* Try to open registry key
nErrCode = RegOpenKey(m.nRegKey,m.cLookUpKey,@nSubKey)
ENDIF
THIS.lCreateKey = m.lSaveCreateKey
IF nErrCode # ERROR_SUCCESS
RETURN m.nErrCode
ENDIF
THIS.nCurrentKey = m.nSubKey
RETURN ERROR_SUCCESS
ENDPROC
PROCEDURE setkeyvalue && Sets a key value.
* This routine sets a key value
* Note: this routine only handles data strings (REG_SZ)
LPARAMETER cValueName,cValue
LOCAL nValueSize,nErrCode
DO CASE
CASE TYPE("THIS.nCurrentKey")#'N' OR THIS.nCurrentKey = 0
RETURN ERROR_BADKEY
CASE TYPE("m.cValueName") #"C" OR TYPE("m.cValue")#"C"
RETURN ERROR_BADPARM
*!* CASE EMPTY(m.cValueName)
*!* RETURN ERROR_BADPARM
ENDCASE
* Make sure we null terminate this guy
cValue = m.cValue+CHR(0)
nValueSize = LEN(m.cValue)
* Set the key value here
m.nErrCode = RegSetValueEx(THIS.nCurrentKey,m.cValueName,0,;
REG_SZ,m.cValue,m.nValueSize)
* Check for error
IF m.nErrCode # ERROR_SUCCESS
RETURN m.nErrCode
ENDIF
RETURN ERROR_SUCCESS
ENDPROC
PROCEDURE setregkey && Sets a registry key setting.
* This routine sets a registry key setting
* ex. THIS.SetRegKey("ResWidth","640",;
* "Software\Microsoft\VisualFoxPro\6.0\Options",;
* HKEY_CURRENT_USER)
LPARAMETER cOptName,cOptVal,cKeyPath,nUserKey,lCreateKey
LOCAL iPos,cOptKey,cOption,nErrNum
iPos = 0
cOption = ""
nErrNum = ERROR_SUCCESS
* Open registry key
m.nErrNum = THIS.OpenKey(m.cKeyPath,m.nUserKey,m.lCreateKey)
IF m.nErrNum # ERROR_SUCCESS
RETURN m.nErrNum
ENDIF
* Set Key value
nErrNum = THIS.SetKeyValue(m.cOptName,m.cOptVal)
* Close registry key
THIS.CloseKey() &&close key
RETURN m.nErrNum
ENDPROC
ENDDEFINE

6
Clase/Vechi/utile.vc2 Normal file
View File

@@ -0,0 +1,6 @@
*--------------------------------------------------------------------------------------------------------------------------------------------------------
* (EN) AUTOGENERATED - ATTENTION!! - NOT INTENDED FOR EXECUTION!! USE ONLY FOR MERGING CHANGES AND STORING WITH SCM TOOLS!!
*--------------------------------------------------------------------------------------------------------------------------------------------------------
*< FOXBIN2PRG: Version="1.21" SourceFile="utile.vcx" CPID="1252" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries)
*
*

83
Clase/Vechi/utility.vc2 Normal file
View File

@@ -0,0 +1,83 @@
*--------------------------------------------------------------------------------------------------------------------------------------------------------
* (EN) AUTOGENERATED - ATTENTION!! - NOT INTENDED FOR EXECUTION!! USE ONLY FOR MERGING CHANGES AND STORING WITH SCM TOOLS!!
*--------------------------------------------------------------------------------------------------------------------------------------------------------
*< FOXBIN2PRG: Version="1.21" SourceFile="utility.vcx" CPID="1252" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries)
*
*
DEFINE CLASS menulib AS container
*< CLASSDATA: Baseclass="container" Timestamp="" Scale="Pixels" Uniqueid="" />
*<DefinedPropArrayMethod>
*m: deactivatemenu
*m: showmenu
*</DefinedPropArrayMethod>
*<PropValue>
BackColor = 0,0,255
Height = 15
Name = "menulib"
Visible = .F.
Width = 50
*</PropValue>
PROCEDURE deactivatemenu
DEACTIVATE MENU _popShortcutMenu
ENDPROC
PROCEDURE Destroy
this.DeactivateMenu
ENDPROC
PROCEDURE showmenu
LPARAMETERS taMenu,tcOnSelection
LOCAL lcOnSelection,lnMenuCount,lnCount,llDoubleArray
LOCAL lcMenuItem,lcMenuSelection
EXTERNAL ARRAY taMenu
IF PARAMETERS()=0 OR TYPE("taMenu")#"C"
RETURN .F.
ENDIF
lnMenuCount=0
lnMenuCount=ALEN(taMenu,1)
IF lnMenuCount=0
RETURN .F.
ENDIF
llDoubleArray=(ALEN(taMenu,2)>0)
ACTIVATE SCREEN
DEACTIVATE POPUP _popShortcutMenu
DEFINE POPUP _popShortcutMenu ;
FROM MROW(),MCOL() ;
MARGIN ;
RELATIVE ;
SHORTCUT
FOR lnCount = 1 TO lnMenuCount
lcMenuItem=IIF(llDoubleArray,taMenu[lnCount,1],taMenu[lnCount])
DEFINE BAR lnCount OF _popShortcutMenu PROMPT (lcMenuItem)
ENDFOR
ON SELECTION POPUP _popShortcutMenu DEACTIVATE POPUP _popShortcutMenu
ACTIVATE POPUP _popShortcutMenu
RELEASE POPUP _popShortcutMenu
IF BAR()=0
RETURN .F.
ENDIF
IF llDoubleArray
lcMenuSelection=taMenu[BAR(),2]
IF NOT EMPTY(lcMenuSelection) AND TYPE("lcMenuSelection")=="C"
lcOnSelection=ALLTRIM(lcMenuSelection)
ENDIF
IF EMPTY(lcOnSelection)
lcOnSelection=ALLTRIM(IIF(EMPTY(tcOnSelection),"",tcOnSelection))
ENDIF
ELSE
lcOnSelection=ALLTRIM(IIF(EMPTY(tcOnSelection),"",tcOnSelection))
ENDIF
IF EMPTY(lcOnSelection)
RETURN .F.
ENDIF
&lcOnSelection
ENDPROC
ENDDEFINE