Search This Blog

Showing posts with label vfp code. Show all posts
Showing posts with label vfp code. Show all posts

Activity Log in FoxPro

This is my first sample form of Activity Log in FoxPro. My current project which is a General ledger required me to have Activity Log. It is easy to make a log but requires me to update the table from different form and command such as login, logout, add, edit, delete and post. But will be handy of traceability purpose.

Changing Signatory Code

Most of the program I made out of FoxPro required signatory. This signatory can be achieve upon login into the system.

SELECT Signatory
LOCATE FOR signnum = 1
IF FOUND()
REPLACE SignName WITH THISFORM.Text1.Value
REPLACE SignPostion WITH THISFORM.Text2.Value
ENDIF
LOCATE FOR signnum = 2
IF FOUND()
REPLACE SignName WITH THISFORM.Text3.Value
REPLACE SignPostion WITH THISFORM.Text4.Value
ENDIF
LOCATE FOR signnum = 3
IF FOUND()
REPLACE SignName WITH THISFORM.Text5.Value
REPLACE SignPostion WITH THISFORM.Text6.Value
ENDIF
=MESSAGEBOX("Signatories successfully save.")

Determining First Character

If you wwould like to determine the first character or first three characters etc of your textbox, you can use below foxpro codes:

THISFORM.Text1.VALUE = LEFT(TRANS(THISFORM.Text2.Value),1)

Day Month Year Code

THISFORM.TEXT1.VALUE = DAY(DATE())
THISFORM.TEXT2.VALUE = CMONTH(DATE())
THISFORM.TEXT3.VALUE = YEAR(DATE())

Main Program

SET CLASSLIB TO C:\GenLed\Classlib\frame
SET CLASSLIB TO C:\GenLed\Classlib\basectrl ADDITIVE
SET CLASSLIB TO C:\GenLed\Classlib\DeBrief
_screen.picture = "C:\GenLed\Images\background.bmp"

SET CENTURY ON
SET CENTURY TO 19 ROLLOVER 60
SET EXCLUSIVE OFF

RUN NumToWords

DO FORM "C:\GenLed\Forms\Login"

ON SHUTDOWN QUIT
MainApp = CREATEOBJECT("DEBRIEF", "FMLFC GENLED - Accounting Systematic Tool")
MainApp.ReadEvents()

SET CLASSLIB TO
RETURN

Public

Recently I learned how to use PUBLIC in getting info or data from another form to another form. And it was very usable for me since my program has a login and branch name requirements.

On Login Form
PUBLIC pBranchName
pBranchName = ALLTRIM(THISFORM.Combo1.Value)

On Branch Setting Form
PUBLIC pBranchName
THISFORM.Label18.Caption = pBranchName

On Journal Entry Form
PUBLIC pBranchName
LOCATE FOR ALLTRIM(BranchName) = ALLTRIM(THISFORM.Combo1.Value)
pBranchName = ALLTRIM(BranchName)
= MESSAGEBOX("You select "+ALLTRIM(pBranchName)+" Office?", "Confirmation")
THISFORM.Release()

Opening a PDF File

You can open a PDF file in VFP b using below codes. Just specify the location of your PDF file on cFileName

DECLARE INTEGER ShellExecute IN shell32.dll ;
INTEGER hndWin, ;
STRING cAction, ;
STRING cFileName, ;
STRING cParams, ;
STRING cDir, ;
INTEGER nShowWin
cFileName = "c:\GenLed\Images\CC.pdf"
cAction = "open"
ShellExecute(0,cAction,cFileName,"","",1)

Edit Save Code


Most of the time neophyte VFP Programmers know how to add, edit and save data on the table. But how can we improve the form design? This is a sample I usually used, to ask or confirm if the User want to edit dat. A confirmation message box will appear with a 'Yes' or 'No'. From that the User can choose which will be the next function.

lAnswer = MESSAGEBOX("Save and update Counter Dispatch?", 4, "Confirmation")
IF lAnswer = 6
SELECT sviewbranch
LOCATE FOR IdNum = THISFORM.Text12.Value
IF FOUND()
REPLACE beginbal WITH THISFORM.TEXT1.Value
REPLACE branchname WITH THISFORM.TEXT2.Value
REPLACE branchaddress WITH THISFORM.TEXT3.Value
REPLACE branchdesc WITH THISFORM.TEXT4.Value
REPLACE debit WITH THISFORM.TEXT5.Value
REPLACE credit WITH THISFORM.TEXT6.Value
REPLACE netchange WITH THISFORM.TEXT7.Value
REPLACE ending WITH THISFORM.TEXT8.Value
REPLACE branchdescnum WITH THISFORM.TEXT9.Value
THISFORM.REFRESH
ENDIF

Retrieve Code


If you want to have an easy way to retrieve data and have it appear in a text box or combo box just by clicking a single data from that row, there is a simple remedy for that. Just follow the following code and paste it on click.

THISFORM.Text1.VALUE = sviewbranch.beginbal
THISFORM.Text2.VALUE = sviewbranch.branchname
THISFORM.Text3.VALUE = sviewbranch.branchaddress
THISFORM.Text4.VALUE = sviewbranch.branchdesc
THISFORM.Text5.VALUE = sviewbranch.debit
THISFORM.Text6.VALUE = sviewbranch.credit
THISFORM.Text7.VALUE = sviewbranch.netchange
THISFORM.Text8.VALUE = sviewbranch.ending
THISFORM.Text9.VALUE = sviewbranch.branchdescnum