Regular Expressions in VFP

based on some research i did in december 2005 and currently refreshed due to a vital discussion in on of microsoft’s news groups at news:// (german) about the future of visual foxpro, i decided to finalize and deploy my com proxy for .net. as you might guess the name of this component is its main purpose. it is a dynamic-link library that provides features of the .net framework classes via com to any legacy programming language like visual foxpro. contrary to current sedna ctp this component has the same interface for regular expressions as the vbscript object has. so, this way it is a lot easier to switch between different implementations.
setup and installation
the component comes in two flavors – for .net framework 1.1 and 2.0. the setup routine installs both in separate folders and registers both in windows. but no fear, the progid is the same for both, so it’s again very handy for a vfp developer. last registration of the component is the active one. i’d like to mention that the registration uses the /codebase switch of regasm tool and therefore creates no entries in to the global assembly cache (gac) on the machine. the current version of the setup is available at my german blog at the url
just get the file and follow the installation instructions.
usage in visual foxpro
so, while the components are com-based dynamic-link libraries usage in visual foxpro is done with its createobject() function. the returned object reference is an instance of .net’s regex class.
regex = createobject(“prolib.regex”)
? regex.ismatch(“abc”,”\w”)
you can use any option and functionality of system.text.regularexpressions.regex in visual foxpro now. further information and details on this namespace are provided in the msdn
sincerely, joki
Posted in Uncategorized | 1 Reply

New InfoPath template for blogging

today, i finally switched my infopath template from simpleblogger to csblogger. now i’m again able to write my postings to the foxite weblog offline in infopath and submit the content anytime later. editing articles and reading comments is possible as well. personally, i’d like this kind of front-end to web sites. the infopath template is more comfortable than the web client, and therefore i’m able to write my entries in chunks even while not connected to the internet.
so, if you’re interested in csblogger take a look at the url
the latest version 1.1 works fine with the community server here at foxite.
sincerely, joki

VFPConversion – VFP and/or .NET?

after the community gettogether at cebit fair i’d like to talk a little bit about vfpconversion. vfpconversion? never heard of? well, fine. vfpconversion is a corporation of several companies that share high experiences in visual foxpro as well as .net programming skills. there are a lot of well-known developers onboard.
there are several training events all over the globe – okay mainly u.s.a. and europe – that explain the principals of the .net framework as well as programming concepts in c# and vb to vfp developers. i think the whole stuff is more than worth to attend because it’s a vey good chance to talk to .net developers as well as vfp developers and share experiences.
personally, i work with vfp since version 6.0 service pack 5 back in early 1999, and since 2003 with c# and the classes of the .net framework. currently, my language of choice is still foxpro but with every new version of c# it’s getting closer to my requirements. and therefore even more attractive than vfp. but thats mainly a matter of the huge class library and possibilities the framework itself provides.
talking about sedna ctp, i’m actually disappointed. especially while playing around with the com proxies. hell, it’s quite easy to program a com class in .net and to provide those functionalities to vfp. but the regex sample is quite annoying. i already wrote a similar com proxy in late 2005 with the same interface as the vbscript.regexp com server. this way, you don’t need to change any line of code but the createobject() statement to get a reference to the com object. okay, it’s just a ctp but it’s really disappointing. hopefully, future releases of sedna might bring a lot more useful functionality.
sincerely, joki

AfpWiki Core Engine available


just published the core engine of afpwiki. the code is reuseable for own purposes – whether it is web development or desktop development…

message from news://

hello afp coderz,

i’d like to share my code fragments of the afpwiki core engine with you
all. attached to this message you’ll receive a zip archive with a sample
and procedure file to run afpwiki comparable solutions.

it’s a standalone sample and will be a sample of future releases of afp.
just drop it into a web folder and call afpwiki.afp in your browser. this
sample requires html plugin for active foxpro pages.

if you’re going to integrate the code in your existing afp applications
you have to do these steps:

– include the procedure file into your afp application ([xxx.afpa.code]
or [xxx.afp.code]):
*!<[include: “afpwiki.code”]>

– call the function wikinize:
m.lcvalue = wikinize(m.lcvalue)

the core engine is just the break down core engine of afpwiki. it has no
storage or versioning capabilities as afpwiki provides.

i would be very nice if you send in any questions and improvements on the
code. either send replies to this thread, or drop me a mail at /

disclaimer: the code is provided “as-is” and you are using it at your own
risk. 😉

kind regards, joki

Listed at FoxBlogs (TagCloud)

just like to mention, that ita software provides an ompl list of blogs about visual foxpro and related stuff. i like this kind of compressed information. i already was very confident with the list of bloggers at the foxwiki –
but using ompl is very cool!
thanks to rick borup for providing this useful service.
sincerely, joki
Posted in Uncategorized | 1 Reply

Long time ago&

…in a country far far far away.
i guess this may be the words for a fairy tale. but this blog article isn’t to be one of those. well, long time ago since i blogged my last article on this site. meanwhile i did a lot of project stuff for some customers and now again, it’s vacation time. probably the best time to write a new blog entry.
alright, let’s what’s changed since last time. actually i wrote some nice entries to my german blog at and like to summarize the last three months a little bit.
starting with the german vfp developer’s conference – – should be a smooth way to sum up all this stuff. yup, again i had the chance to speak at the conference and i held four sessions. those were about useful and free tools to enhance daily work with visual foxpro (d-geiz), regular expressions – my favorite one (d-regx), using subversion as source code version control system (d-svn) and last but not least about interoperability between visual foxpro and linux related technologies (d-linu). just check out the session descriptions for details or even better the ut coverage at and – especially the picture gallery. 😉
it was a lot of fun during these days and i appreciate next year’s event. additionally i’ll head to praha again. maybe we’ll meet each other.
fine, talking about german foxpro user group (dfpug) i’d like to mention that we just had our last meeting of the regional user group at speyer – the city here in germany with the famous dome. yeah, it was a quite funny event because we had some nice goodies from o’reilly, microsoft and others as give-aways. plans for 2006 are already made and i bet that this will be one of the best opportunities to get in touch with die-hard foxpro coders in our region. 😉 one of the monthly attendees uses fox since foxbase 1.02b (iirc) – that’s way impressive.
and here we are at the present moment. currently i did a lot of enhancements in html plugin for active foxpro pages and afpwiki itself. i hope to release both products during next week. html plugin is primarily a plug-in for active foxpro pages. but that’s only half the truth. the plug-in itself is build as a component and offers stand-alone functionality for vfp developers and through com as well for other programming languages. in vfp you just create an object like so:
set procedure to “html.plugin.dll” additive
html = createobject(“chtml”)
if you have to use com instead, then this works just fine:
html = createobject(“afpplugin.html”)
it was quite funny to get this component working in .net framework and i’m still working on this topic, but at the moment i got it to create my own namespace (tree) based on this single dll. after you added a reference to the com server, you’ll have an new namespace tree instead of just one plain entry: prolib.afp3.plugin.html and due to com interoperability in .net the instance name of the class is simple htmlclass.
i wrote a sample solution that’s able to convert an rss feed to a .net dataset through the html plugin. well, not too hard to implement in pure .net but the fact is, that the plug-in provides the same functionality to vfp developers.
and… html plugin is a core part of afpwiki – a wiki engine on top of active foxpro pages. actually the html plugin does all the stuff related to regular expressions. it’s really nice to see that just one line of code parses all hyperlinks of the entire document and converts them into clickable links with ‘title’ attribute and protocol indicator. there is still a lot of work to do inside of afpwiki, like backup and restore of the database, online upgrade mechanism as well as an abstraction layer to user authentication and management, but this will be implemented during a couple of weeks. you might check out to see the system in action.
ah, before i forget to mention… html plugin and afpwiki are both available for free (as in beer *g*). so, if anyone of you is interested in a wiki solution… just drop me a note.
that’s all for 2005… i wish you a happy new year and hope to see you all in 2006 again.
sincerely, joki


ahhh, finally i had some time to relax and calm down.
during the last week i spent a lot of time to read books of stephen king. at the moment i’m reading the 5th title of ‘the dark tower’ epos. it’s an amazing story. especially with all those peripheral touches to other books of king (ie. randall flagg from the last stand) and other authors.
additionally i inspected my music archive and spent some time on re-organisation and completion of music information. so, according to these tasks i didn’t hang around with my pc, and therefore some private projects like afpfaq, afpwiki and html plugin stoppped in development.
but, i try to start working on those during this week. actually i already did some changes and need to release new versions only. so, stay tuned.

Using Microsoft InfoPath as blog frontend

well, last night i found an very interesting source about how to use microsoft infopath in a useful way. actually i searched some information about tweaking the template of .text blog – like this is…
here’s the url – – i started and wow, this is tremendious. actually this entire posting is written in a infopath template instead of using the web-based frontend in a browser. cool, isn’t it?
so, if you already have .net framework 1.1 and microsoft infopath 2003 sp 1 (part of microsoft office 2003 xxx edition) installed on your system. try simpleblogger!
in the past i had some thoughts on infopath and what kind of applications it might be useable… according to the possibilities to visual foxpro. and, well simpleblogger is a fantastic and useful live sample. okay, one might code this in vfp as well. but, hey, there’s more than visual foxpro…
sure, this infopath template is not too complex but i it gives me a new kind of view about consuming web services or web applications in general. i’m going to analyse the whole template to get some ideas about the whole stuff and how infopath is actually working. one aspect of this template is that you can use it to blog offline and upload your entries later.
so, for now, i keep using infopath as a desktop frontend to the .text blog software here in the foxite community.

International blogging

so this is my first entry. joining the foxite community is hopefully a lot of fun and even more opportunity to learn more about visual foxpro and software engineering. so, maybe i should start with a short introduction to myself.

my name is jochen kirstätter – aka joki – and i’m living near kaiserslautern, germany, europe, earth.
i started developing software back in 1995. at that time i programmed dynamic web sites using html (ui), perl and later php (business logic) and mysql (database) – a natural three-tier environment. during spring 1999 i joined kheops gmbh, a small company in kaiserslautern and got in contact with visual foxpro 6 sp 5. wow, amazing! and at that moment i did a lot of mistakes but during my first attendance at 1999s devcon germany i got the final idea and returned to multi-tier development. puuh, vfp provides so much possibilities and i got lost in spaghetti code. but right after this conference i was delighted and got a way back to tier development. thanks for that.

in 2002 i got the chance to speak about active foxpro pages (vendor session) at the german devcon. omg, i was so nervous and… it was a bad experience after all. but hey, it was also a chance to improve my capabilities as speaker and one year later it was really fun. in 2003 i did the sessions for whil hentzen (he got ill…) about vfp/linux and i guess it was okay. so, still a year later, i had four sessions – two as regional director of the german foxpro user group and two about active foxpro pages – and yup, finally i got the idea.
i’m currently working on the sessions for this years conference later in november. at the moment i’m preparing three to four sessions. all about different aspects in vfp and development in general. cross fingers… 😉

meanwhile i’m regional directory of the german foxpro user group in speyer – the city with the dome…
we meet monthly and have a really good time talking about vfp, sql server and sometimes about .net framework. during 2003 microsoft germany contacted me to join their community program named clip. that was because of my faq website abou active foxpro pages and vfp in general. and so the whole community related stuff exploded to the maximum and it’s really a lot of fun. at the end of 2004 i was contacted by the european ineta communty – thanks to rainer becker who registered all dfpug usergroups. and since this year i’m as well active in sql pass community to chat about microsoft sql server – so, any technology i use at my daily work at kheops is compained by a community activity – maybe i’m addicted to this whole stuff… 😉 really dunno, but i have a lot of fun doing this.

additional to my daily job at kheops and prolib i develop small tools and other stuff – hopefully useful to anyone else than me. there are several – html plugin for active foxpro pages, vfp and com interface, afpwiki and active foxpro pages faq. i hope to write some lines about those during next months… so, wait and see.

okidoki, so this is my international hello to the vfp community.

have fun, joki