Blogs get 300 hits per hour: Visual FoxPro can count.
I wanted to get a picture into my blog, which isn’t run by my web site. It actually gets posted to 2 URLs: https://blogs.msdn.com/calvin_hsia or at https://weblogs.asp.net/calvin\_hsia
I can view and edit my entry in HTML, so I just added an IMG HTML tag pointing to an image on my web site.
Because my web site is actually a computer fully under my control, it counted the number of requests for the picture. It also noted the source of the request (the HTTP_REFERER) and does a SQL Insert to log the data into a Visual FoxPro database.
The web site just has a simple .ASP page with a simple script to invoke a VFP program called DISPATCH.PRG, passing the 3 IIS server objects Request, Response and Server.
This is the entire ASP script:
set session("ox") = server.CreateObject("t1.c1")
set ox = session("ox")
ox.mydocmd("set path to " + request.servervariables("APPL_PHYSICAL_PATH"))
response.write ox.myeval("Dispatch(p2,p3,p4)",request,response,server,0)
ox.MyDoCmd("clear program")
The t1.c1 object has only a couple lines of VFP code. This is the entire code:
DEFINE CLASS c1 as session olepublic
proc MyDoCmd(cCmd as string,p2 as Variant,p3 as Variant,p4 as Variant,p5 as Variant) helpstring 'Execute a command'
&cCmd
proc MyEval(cExpr as string,p2 as Variant,p3 as Variant,p4 as Variant,p5 as Variant) helpstring 'Evaluate an expression'
RETURN &cExpr
ENDDEFINE
The “&” is a macro expansion which means to interpret the value as an executable string. Thus the Dispatch cmd expands to:
RETURN Dispatch(request, response, server,0)
The Clear Program command allows me to change the server code without shutting it down.
The Dispatch program just returns an HTML string (or it can do a response.redirect)
FoxPro’s powerful text manipulation and local database engine combine to make serving web pages simple.
For more information, here’s a 1996 article I wrote on using VFP to serve up web pages and my 2001 article on Microsoft Visual FoxPro and Advanced COM
Comments
Anonymous
July 24, 2005
I strongly dislike dynamic pages and lots of typing so I use my own Visual Basic application to serve my singlepage website.
this is also rather secure; and with built-in logging.Anonymous
July 24, 2005
<a href="nu.com">lol</a?Anonymous
July 25, 2005
Here’s a way to manipulate photos from within some Microsoft products.
In the prior post, I wrote some...Anonymous
August 05, 2005
Sometimes I need to test something using VBScript. A user sends a code snippet and asks why it behaves...Anonymous
March 01, 2006
The comment has been removedAnonymous
April 07, 2006
I received a question from a reader:
&nbsp;
I decided to extend my VPF9SP1 application to support OLE...Anonymous
May 01, 2006
Sometimes it takes many steps to reproduce a problem. Perhaps you have to start an application, log in,...Anonymous
May 16, 2006
When I posted this Sample program to create multiple threads, I knew the inevitable follow-up question...Anonymous
October 24, 2006
A customer reported a difference in behavior when executing some code in the design time and in a COMAnonymous
May 16, 2007
It’s simple to create a VFP object that can be used within other applications. I show how useful it isAnonymous
May 21, 2007
The comment has been removedAnonymous
September 27, 2007
Somebody in the world is browsing the internet and hits your web site. How do you know? IIS providesAnonymous
September 27, 2007
Here I described how VFP generates executable code and runs it for early and late binding COM clientsAnonymous
October 08, 2007
In my prior post Use new XML Features of VB to generate dynamic scripts and text files , we generatedAnonymous
October 08, 2007
PingBack from http://www.itsatrap.info/generate-and-run-powershell-scripts-dynamically/Anonymous
February 25, 2008
The comment has been removed