Welcome to vfp.cz

This page is devoted to the visual FoxPro language and libraries created for it.
Everyone can use this tools without any limitation. No many, no warranty. Use at your own risk.

List of projects

name comments download
cstruct Using win-api structures as object. Just Copy&Paste structure from api documentation and then use it as object.

m.lpRect=cstruct()
text to m.lpRect.definition noshow
    typedef struct _RECT {
     LONG left;
     LONG top;
     LONG right;
     LONG bottom;
    } RECT, *PRECT;
endtext
with m.lpRect.members
    .top=0
    .left=100
    .right=200
    .bottom=300
endwith

* call api and then reload structure
=WinApiCall( m.lpRect.pointer )
m.lpRect.reload

with m.lpRect.members
    ? [top=], .top, [bottom=], .bottom, [left=], .left, [right=], .right
endwith
cstruct.zip
 

Socket libraries based on socket version 1.

name comments download
socket Windows Socket implementation. Pure vfp code and dll declare's (ws2_32.dll).
Support blocking/nonblocking socket operations. Object type.
Standalone socket.prg file.
socket.zip
fcgi FastCGI implementation. Pure vfp code, use socket.prg.
FastCGI is communication protocol between web server and application. No COM, no ActiveX. Just listen on port and return reply. Link to FastCGI home page.

When request from web server come, this call is invoked: do (myProgram) with oRequest
Very easy development. Just modify/compile your file and press "Reload" button in your browser.
One fcgi.prg file, need socket.prg.

fcgi_demo.zip
see readme.txt for details.
bl
Remote Procedure Call
More info...
Business logic object. Enables run methods locally or on remote machine. Pure VFP code, use socket.prg.
Example of use:

define class myProgram as businessLogic of businessLogic.prg
    
  function cursor_orders()
    if this.isClient
      return this.doRPC()
    endif
    
    return this.sql("select * from orders")
    
enddefine

May run completelly asynchronous. In this case, .doRPC returns imediatelly and application must wait for .onReply or .onConnectionLost events.

bl_demo.zip
intercomm UDP broadcast communication. Pure VFP code, use socket.prg.
Example of use:

m.ic=intercomm()
m.ic.doSendMessage("Hello World!")

When message received, the .onRecv event is invoked. Look at the source for details.

intercomm.zip
MK 2011