Visual Fox pro

=:VISUAL FOX-PRO:=6.0

FoxPro is very powerful Database Management System. Its integrate development Environment allows programmer’s language. It is both an interpreter and true compiler. As interpreted language, it translates each command into computer instructions, as it is executes the translation time, most possibly during loops.

A compiler improves performance by translating command to machine instructions just once. It replaces commands such as PRINT or LIST with blocks of machine code. This compiled programs run faster than interpreted codes.

FoxPro supports arithmetic functions such as addition, subtraction, multiplication, and division. It also provides many special mathematical and financial functions.
The main screen combines a menu bar across the top line with a command prompt environment based on the command window. FoxPro opens the command window at the beginning of each session. Commands entered into it execute immediately.

WHAT IS A FOXPRO DATABASE?
It is a collection of related and relevant information. It could be check register, accounting ledger, payroll, client list or inventory. Or it could be any of thousands of applications in business, education, engineering, and the professions, the sciences and other fields.In general, a database consists of number of RECORDS .In FoxPro, a record may consist a number of items such as employee code number, employees name, address, date of joining, salary, designation etc. A number of such items in FoxPro’s record are known as FIELDS. Number of fields make up a single record of single person, and number of such record made up an entire DATABASE.
Eg: Employee RegistryField 1Field 2Field 3Field 4Field 5Field 6CodeNameAddressDate of JoiningSalaryDesignationR001RamanA/3 Andheri01-01-196712,500AccountantGoo5Gauri154/ Andheri03-06-19886,000Personal SecretarySet commands: FoxPro environment functions.

Set talk on/off : Determines whether or FoxPro display command result.
Set Bell on/off : Turns the computer bell on or off and set the bell attributes.Set status on/off : Set the status bar on or off.Set safety on/off : Specifies the format for date expresses DD-MM-YY
https://googleads.g.doubleclick.net/pagead/ads?client=ca-pub-6976045795247337&output=html&h=600&adk=267210714&adf=2637360377&w=120&lmt=1617336881&ad_type=text&format=120x600_as&color_bg=FFFFFF&color_border=CE9CCF&color_link=310063&color_text=310063&color_url=310063&url=file%3A%2F%2F%2FE%3A%2Fwebel%2Fvf.html&ea=0&flash=0&wgl=1&dt=1617336880986&bpp=121&bdt=1106&idt=202&shv=r20110420&cbv=r20110427&ptt=5&saldr=sa&abxe=1&correlator=661211682857&frm=20&pv=2&ga_vid=1882977502.1617336881&ga_sid=1617336881&ga_hid=1639617550&ga_fc=0&u_tz=330&u_his=1&u_java=0&u_h=768&u_w=1366&u_ah=728&u_aw=1366&u_cd=24&u_nplug=3&u_nmime=4&adx=819&ady=192&biw=1017&bih=620&scr_x=0&scr_y=0&eid=42530671%2C44740079%2C44739387&oid=3&pvsid=2696018438519781&pem=817&wsm=1&rx=0&eae=2&fc=640&brdim=210%2C17%2C210%2C17%2C1366%2C0%2C1050%2C708%2C1034%2C620&vis=1&rsz=d%7C%7Ce%7Cpn&abl=XS&pfx=0&alvm=r20210331&fu=8192&bc=31&ifi=1&uci=a!1&fsb=1&dtd=268
 https://googleads.g.doubleclick.net/pagead/ads?client=ca-pub-6976045795247337&output=html&h=90&twa=1&adk=2529824703&adf=2916873779&w=385&fwrn=4&fwrnh=100&lmt=1617336881&ad_type=text&format=385×90&color_bg=FFFFFF&color_border=FFFFFF&color_link=310063&color_text=310063&color_url=310063&url=file%3A%2F%2F%2FE%3A%2Fwebel%2Fvf.html&ea=0&flash=0&fwr=0&rh=90&rw=385&wgl=1&dt=1617336881417&bpp=22&bdt=1538&idt=24&shv=r20110420&cbv=r20110427&ptt=5&saldr=sa&abxe=1&prev_fmts=120x600_as&correlator=661211682857&frm=20&pv=1&ga_vid=1882977502.1617336881&ga_sid=1617336881&ga_hid=1639617550&ga_fc=0&u_tz=330&u_his=1&u_java=0&u_h=768&u_w=1366&u_ah=728&u_aw=1366&u_cd=24&u_nplug=3&u_nmime=4&adx=130&ady=2268&biw=1017&bih=620&scr_x=0&scr_y=0&eid=42530671%2C44740079%2C44739387&oid=3&pvsid=2696018438519781&pem=817&wsm=1&rx=0&eae=2&fc=640&brdim=210%2C17%2C210%2C17%2C1366%2C0%2C1050%2C708%2C1034%2C620&vis=1&rsz=d%7C%7Cebr%7Cp&abl=XS&pfx=0&alvm=r20210331&fu=8192&bc=31&ifi=2&uci=a!2&btvi=1&fsb=1&dtd=39 

VARIABLE TYPES:-

Character type Date type Numeric type Logical type
Store space (35) time.
Store {99/99/99} birthdate
Store 0 to Salary,
Store .1. pass fail (‘.Y.’, ‘.N.’) OR (‘.T.’, ‘.F.’)

DATE FUCTIONS:-

 
?DATE () : Return the current system date. ?TIME () : Return the current system time.

?Day (date()) : Return the numerical day of the month or the given date expression. Example:

Store {03/10/75) birthDate . The birthday along with other command.

?Month (date()): Return the numeric month for the given date.

?Year (date()) : Returns the numeric year of the given date.

?Dow (date()): Return the numeric day of the week for given

date. ?Cdow (date()): Return the character day of the week for given date.

?Dtoc 0 : will convert Date type variable to character type. We cannot find day, month of variable which is of character type.

?CtoD (): Converts a character expression or variable to a date related function to Cow, month on when a character expression is converted to date expression. Eg. Store CtoD to vdate.

DATABASE FUCTION :-


Create : Creates a new database file create Employees.dbf.

Use Emplyoees.Dbf: Use command opened the database file and it’s associated in.

Close all: – Closes all open databases, index file etc.

Append – use for adding records in a database. First open database with USE command then appends records in it.

Modify structure: – Allows adding new or deleting of in database field. Display structure: – Display the structure of database. Rename <filel> to<file2>: Renames the name of <filel>to<file2> Edit – Allows the user to edit or modify record.

Replace: – Replace command replaces the field with mentioned text or values.

Syntax:- Replace all bonus with 7500 for Designation “officer “
You can also use. And. . or. clause for applying two or more condition for query record.

LIST AND DISPLAY FUCTION:-


(a) List: – Display the entire record list.

(b) List all: – Same as list command.

(c) List off: – Will list the records without displaying the record numbers.

(d) List for name=”s” Example. List for salary>2500 .and. salary<4750

(e) List Code, Surname, Firstname, Salary, Doj for Doj>={01/04/1998}
(f) List to printer

(g) You can use. And., Or. Clauses with list for applying two or more conditions. (h) List next next 3

I) Display: used for displaying a record.

II) Display all: Displays all the records but screen at a time. List commands does the same function but the records simply scroll upward on the screen if all the records do not fit on the screen.

Ill) Display Memory: – Display the current contents of memory variables and arrays.

MOVING TO RECORDS:-


Go/Goto<recordno>: Positions the record pointer on the specified record number in dbf. Eg.:

Goto 16
Go top: Position the record pointer on the first record of the database. Go bottom: Position the record pointer on the last record of the database.

Skip: Positions the record pointer on the next record from the present record. Try Skip+5 and also Skip -3 while status is on. A database should be used or open, and observe which record becomes your present record.

BROWSING THE RECORDS:=


Browse:
Browse for NAME=”s”

Browse fields NAME, SALARY, DESIGNATION
Browse nomodify, nodelete, noappend: Browse the records but you can not modify them or

delete them or add more records to your database.

DELETING RECORDS:=


Delete: delete the record on which your record pointer is positioned.

Delete for: Used for deleting records which match the conditions specified, e.g. Delete for dateofjoin>{01/01/1969}

Recall: – Unmarks the records, which is marked for deletion. Only unmark the record if the record pointer is positioned on the deleted record.

Pack: Permanently removes the record marked for deletion. Once records are packed they cannot be Recalled.

Zap: The use of this single command permanently deletes all the records of the entire database.

Deleted (): this command along with list command will display only records, which are marked for deleted.

Syntax: list for deleted().

SPECIAL FUCTIONS:=


Note: A database has to be opened for working with the following commands.

? Fcount ()- Returns the number of fields in an open database.

? Recsize Q-Display the size of the records.

? RecnoQ- Displays the current record number.

? Reccount()-Counts the number of records in a database file.

? Count- can be used for counting records, which match a criteria. E.g. Count for Salary>4500

? Int (<expN>)- Returns a Integer portion of a numeric expression. ? Len (<expN>) – Returns the number of characters in a character expression.

?Abs(<expN>)-Retum the absolute value of the specified numeric expression. ? Right (Vname2): Returns the specified number of rightmost characters from a character string.

? Left (<expN>)- Return a specified numeric of character expression starting with the leftmost character.

? Replicate (“*”, 35) -Returns a character string that contains a specified character expression repeated a specified number of times.

?CurDir()- Returns the currents MS-DOS directory.

?Dikspace()- Returns the number of bytes available on the default disk drive. Lower () Returns a specified character expression in lower case letters.

? Upper (): – Returns the specified character expression in upper case letters.

TRIM FUCTIONS:=


“xname=Abraham Lincoln”
Ltrim():-Returns the specified character expression with leading baink removed. ?Itrim(xname) will remove blank from name.

RtrimQ:- Return the specified character expression with trailing blank remove

?rtrim(xname): will remove blank from name.

SubstrQ:- Return a specified number o character from the given expression or mem field.

Zname=”Anthony”
?Substr(zname,l,3) will display only ‘ant’

?substr(zname,5,2) will display from character and 2 more characters of the variable Only ‘on’ will be displayed.

ARRANGING RECORDS AND VIEWING THEM IN ASCENDING (A-Z) (0-5) OR DESCENDING (Z-A) ORDRER.

RECORDS ENTERED IN THE DATABASE NEED NOT BE IN ORDERED form. But while
printing displaying reports, we need to show them in a ordered form so as to give meaning to the

reports. Sometimes reports may be needed on alphabetically listing of the Salesman name or on
the Data wise bill entries.

From one data to another may be required for reporting and extracting information from them.
Hence it is of utmost importance that records entered should be arranged so as it arrive to

decision-making. FoxPro provides two simple and most efficient ways to arrange the record
entered and not only to view them in that form but also to query them so as to quickly search to

the user mentioned criteria.
These two methods are 1) SORT 2) INDEX.

A) SORT:= is a mentioned in which the user mentions the field on which he wants the performs the sort and the output is generated and stored in a different target database file contain the sorted output on the fields mentioned in the sort command. You have to open the target database file to view the sorted records. /D is use to sort in a descending order, otherwise it will sort in ascending order.]

Syntax:
Use <filename>
Sort on <field> /D to xfile -/D is used for Sorting in a descending order.
Use xfile
Browse
To sort on more than one field:
Use SALES DBF
Sort on STATE, CITY to STATE
Use STCT.dbf
Browse

a) INDEX:= Index command arrange the record in ascending or descending order but the fundamental different between sort and index is that, with Index command a number of the database which are indexed in Ascending or Descending order. In the sample given below, in the friends’ database the field has three names, which are not in alphabetical order. If we index it and store it in the index file name.idx only the record numbers will exist but arranged in such a way that the corresponding names are in alphabetical order.

Hence we have to associate out source database (Friends.dbf) with the index file (name.idx) to view the records of the source database in the ordered form. When some more records are added in the source database the index file will have to be build up again can be surd to search records matching particular criteria when the database very huge (e.g. more than 60,000 to 70,000) records. The index file being smaller in size takes less space.

OTHER COMMAND:=


Clear all: Clear all the memory variables and activate Windows, menus, popup etc from the memory.
Clear : Clear the screen or Active window.
Quit: To exit from FoxPro. Be sure to close all open database and other files before quitting. Run or ! (Exclamation marks) – is used or running a MS-DOS command without quitting it. IV) FILE DELETING COMMANDS
Delete File <Filename>: Deletes a file from the disk. Erase <File name>: Erases the file from the disk.

REPORT AND LABEL:=


REPORT: This command produces reports using report layouts that have been designed earlier. If CONSOL has not been SET OFF, the report is displayed on the screen. They can also be sent to the printer or a text file.

Before this command is used, the report form must have been created a saved in a file. The command CREATE REPORT lets you design these report form using the report Layout Window. The default extension for these files FRX.

LABEL: This command produces mailing labels for the database file that is open in the currently selected work area if CONSOLE has not been SET OFF, the label at displayed on the screen. They can also be sent to the printer or to a text file.

Before this command is used, the label form must have been crated and save in a file. The command CREATE LABEL lets you design these mailing label from using the label layout window. The default extension for this file is LBX.

Create a one .dbf file with the help of following field and solve the questions answer.

Field NameTypeWidth
NameCharacter20
DOJDate8
EngNumeric3
HindiNumeric3
marathinumeric3

Code samples:=

The Foxpro language contains commands quite similar to other programming languages such as Basic. Loops include do, if, while, for, else commands in a usage easily understood by anyone familiar with other programming languages. Commands take the form of “command” “endcommand”

Some basic syntax samples:

FOR i=1 to 10

   x = x + 6.5

ENDFOR

IF i=25

   i = i + 1

ELSE

   i = i + 3

ENDIF

x=1

DO WHILE x < 50

   x=  x + 1

ENDDO

The language also has extensive database manipulation and indexing commands. The “help” index of commands in VFP 9 has several hundred commands and functions described. The examples below show how to code the creation and indexing of tables, however VFP has table and database builder screens which create the tables and indexes without making you write code.

Hello World example:

MESSAGEBOX(“Hello World”)

Object

Output of the Hello World program.

loForm = CREATEOBJECT(“HiForm”)

loForm.Show(1)

DEFINE CLASS HiForm AS Form

  AutoCenter = .T.

  Caption = “Hello, World”

  ADD OBJECT lblHi as Label WITH ;

    Caption = “Hello, World!”

ENDDEFINE

loMine = CREATEOBJECT(“MyClass”)

? loMine.cProp1   && This will work. (Double-ampersand marks an end-of-line comment)

? loMine.cProp2   && Program Error: Property CPROP2 is not found.

? loMine.MyMethod1()  && This will work.

? loMine.MyMethod2()  && Program Error: Property MYMETHOD2 is not found.

DEFINE CLASS MyClass AS Custom

  cProp1 = “My Property”    && This is a public property

  HIDDEN cProp2     && This is a private (hidden) property

  PROCEDURE Init()    && Class constructor

    This.cProp2 = “This is a hidden property.”

  ENDPROC

  PROCEDURE MyMethod1()

    * This is a public method, calling a hidden method that returns

    * the value of a hidden property.

    RETURN This.MyMethod2()

  ENDPROC

  HIDDEN PROCEDURE MyMethod2()  && This is a private (hidden) method

    RETURN This.cProp2

  ENDPROC

ENDDEFINE

Data handling:=

Output of the Data handling program.

&& Create a table

CREATE TABLE randData (iData I)

&& Populate with random data using xBase and SQL DML commands

FOR i = 1 TO 50

    APPEND BLANK

    REPLACE iData WITH (RAND() * 100)

    INSERT INTO randData (iData) VALUES (RAND() * 100)

ENDFOR

&& Place a structural index on the data

INDEX ON iData TAG iData

CLOSE ALL

&& Display ordered data using xBase-style commands

USE randData

SET ORDER TO iData

GO TOP

LIST NEXT 10  && First 10

GO BOTTOM

SKIP -10

LIST REST     && Last 10

CLOSE ALL

&& Browse ordered data using SQL DML commands

SELECT * ;

  FROM randData ;

  ORDER BY iData DESCENDING

ODBC access using SQL passthrough:=

&& Connect to an ODBC data source

LOCAL nHnd

nHnd = SQLCONNECT (“ODBCDSN”, “user”, “pwd”)

&& Execute a SQL command

LOCAL nResult

nResult = SQLEXEC (nHnd, “USE master”)

IF nResult < 0

  MESSAGEBOX (“MASTER database does not exist!”)

  RETURN

ENDIF

&& Retrieve data from the remote server and stores it in

&& a local data cursor

nResult = SQLEXEC (nHnd, “SELECT * FROM authors”, “QAUTHORS”)

&& Update a record in a remote table using parameters

PRIVATE cAuthorID, cAuthorName

cAuthorID = “1001”

cAuthorName = “New name”

nResult = SQLEXEC (nHnd, “UPDATE authors SET auth_name = ?cAuthorName WHERE auth_id = ?cAuthorID”)

&& Close the connection

SQLDISCONNECT(nHnd)

=:END:=

Leave a Comment

Your email address will not be published. Required fields are marked *

Shopping Cart