Filed Under (Visual FoxPro) by WildFire on 24-03-2004
Foxpro download for the day: STRUCT.zip | If there’s an error in the link, just go to foxite.com, log-in (create an account if you need to… it’s worth it if you’re serious about learning Visual Foxpro), go to the download section and use the filter feature with any of these settings: DownloadID: 3 or Keyword: Struct.
This class library file written by Christof Lange and Mark Wilden, comes with an informative source code, a good documentation on WinAPI and ActiveX related stuff and sugar pies. The screen resolution changer module included in that download, is what I was studying last night.
Filed Under (Visual FoxPro) by WildFire on 21-03-2004
This was one of the book I have on my hands when I was still starting to use Visual Foxpro: QUE’s Special Edition Using Visual FoxPro 6.
The final punch to that quest is delivered this afternoon. The disabling of task switching and locking of other tasks is finally compatible with Windows 2000/XP. Converting an API-related algorithm using Delphi’s source code as the basis is not too easy considering that you have to declare which DLL exactly are you using and the paremeters needed. Unlike Delphi, you also have to declare each WinAPI procedures used inside a DLL. I’m using WinLock.dll by the way to accomplish things which also calls LoadLibrary, GetProcAddress, EnableWindow and FindWindow. The first two procedures are inside KERNEL32.dll while the latter two… inside USER.dll. The locking part was accomplished after a number of compiles and reboots while it took me quite some time to figure out how to unload and deactive that lock. Luckily, Avatar came to the rescue and pointed out that procedures in DLLs are often case sensitive.
declare UnLockKeys in WINLOCK.dll integer FHook, ;
string cUnLockKeys
Generates this error:
Cannot find entry points UnLockKeys in the DLL
It should be UnlockKeys. However…
=UnLockKeys(GetProcAddress( FHook, ‘UnlockKeys’), 0)
… does not generate the mentioned error. Quite weird if you ask me (Probably related to why some programmers/developers are labeled as weird sometimes). I’m creating a separate HTML for this and the whole locking/disabling process.
Yesterday when faced with the task to find a process to lock the computer when a certain time limit expires, my approach was to insert a reboot WinAPI code in a modal form that literally reboots the computer when the password expires. Research time was quick and limited… thus the ‘semi-lame’ approach in solving the problem.
A day after, with Avatar’s key help (he really _is_ existing and not just a figment of my imagination) and of course support.microsoft.com, DelphiFAQ (Yup Delphi rocks!), Google, Foxite, Tek-Tips, a new LogiTech mouse and two cans of coke… I can now [a] disable the ALT+F4 key by macro substituting with the ON KEY LABEL, [b] hide the task bar, [c] disable the task window (in Windows ME/9x), [d] disable alt+ctrl+del (still in Windows ME/9x not that bulletproof in Windows 2000 i think), [e] hide the Windows Start button and [f] shutdown Internet Explorer. How’s that for a cruel start?
Remind me to post the snippets later… and someone should really help me convince Avatar to start his own techno/work-blog.
The client visit was a little tiring since every time I visit that place I have to check the programs installed in 10 different computers located in 6 different offices/sections. But it was fruitful nonetheless. More on that one later and the thoughts that was buffered in my mind while I was sitting on that slow moving bus.
I did promised myself to have an early sleep (I deserve one!) after this visit… 01:30AM is indeed early.
Kevin McNeash, chief architect and developer of that Mere Mortals Framework, was interviewed on .NET Rocks!
Sometimes I wish i can download a snippet somewhere, or perhaps create an algorithm that could prevent power interruption or block outs on the computer that uses my database programs. Just imagine all other equipments knocked out already and there’s one computer ‘alive’ because NTSLAntipowerinterruption.exe version 1.071225 is running in the background. In that way i can also prevent database corruption in some of my clients that don’t have any UPS installed yet. Besides whoever gave you that notion that UPS are ‘uninterruptable’ knows nothing. Try smashing a 7000 pound metorite on it.
FoxMasters and their CodeInspector.
Filed Under (Visual FoxPro) by WildFire on 16-03-2004
I printed these sample chapters from that 1001 Things You Always Wanted to Know About Visual FoxPro book last night. And judging from the skimming i’ve done, this book is a good one.
The zip file contains two chapters, chapters 5 (32 pages) and 13 (36 pages). Chapter 5 deals on combos and lists. To name a few items, it contains basic information about combos and lists, its binding process, adding items and filtering. Chapter 13 on the other hand, includes topics on the Visual Foxpro debugger, datasessions, event sequence, setfocus, modal forms, properties, a little about arrays and a lot more.
Filed Under (Visual FoxPro) by WildFire on 15-03-2004
A handful of Foxpro-related downloads at GLR Software.
Comments Off on workBLOGS . GLRSoftware
Finally I found some time to experiment on FoxTray. To give you a brief overview, this .ocx (or ActiveX control if you like it being called that way) allows you to place the icon of your lovely FoxPro application on the system tray along with a five popup item menu you can tinker with. This .ocx is created using Visual Basic (UGH… turns off the VB-lambastin’-mode) so it requires that MSVBVM60.dll file which is a VB support file. I have VB6 installed already on this computer so I don’t have problems regarding that part. The problem lies on that cryptic readme.txt that comes along with the FoxTray.zip file.
Instincts (and previous encounters with these OCX aliens) taught me to REGSVR32 FoxTray.ocx (which by the way won’t work if FoxTray.ocx is not located on drive C: – you can opt to transfer REGSVR32.exe which is located on C:\Windows\System to where your FoxTray.ocx is located) before anything else. (Of course after unzipping the .zip file)
Now after adding that FoxTrayCtl.cFoxTray ActiveX control inside the Tools.Options.Control tab, clicking the FormControlsToolBar.ViewClasses and dragging the OLE to the form, i arrived at the farthest point where instincts can cuddle me.
Good thing that cryptic readme.txt files have five links. Ironically, I ignored the first link in that list which contains the most relevant information about this control. I chose to open these links instead:
… which are informative but are not helpful to what i was planning to do, that is to use the application i’m testing on with this ocx file. That was when Google.com comes in… pointing me to a link related to the first URL on that readme text file.
It is a link from that News2News.com/VFP website which holds tons of Win32 API related reference materials (Yup i’ve blogged that before).
After transferring the code found in that page to a different TestFoxTray.prg and slicing them afterwards to include them into the dragged-and-dropped OLE control, the cute thing is now running and is ready for further customization, usage and abuse in connection with that IUMS project of mine.
Filed Under (Visual FoxPro) by WildFire on 12-03-2004
It is quite ironic that after spending hours fortifying one of my alternative webmail account against spam, i discovered that it attaches in the bottom part of the e-mail being sent the number one word i am trying to block.
Microsoft releases this whitepaper: Creating Tablet PC Applications with Microsoft Visual FoxPro.
Filed Under (Visual FoxPro) by WildFire on 11-03-2004
There are issues being raised with regards to using Visual Foxpro under Windows XP Service Pack 2. Check the link for more information regarding this matter. Ark… it’s around 4AM already. I need to dream.
I’m pushing my Internet Usage Monitoring System (IUMS) project into another level. I’m even giving it a codename. What used to be a simple stand-alone logger that tracks the usage and payments of students who use the internet cafe/laboratory in a certain school, will be upgraded to something that ‘partially’ follows the client/server principle. There will be a server application that tracks all the laboratory computers connected to the ‘net. This is where users are added, logged out, monitored, chopped and castrated. This is more or less 90% complete already but i still have to re-research the GRID part so that it would show different attributes (.forecolor/.backcolor/.fontstyle/.fontbold) for different user status (blue for active, red for timed-out, black for logged-out… something like that) at a given time. I’ve read somewhere that you can do it on individual columns but i still have to recheck if it can be done with individual rows.
Logic will find a way.
The client part is the tricky part. Sometimes i wish this was the old DOS days where you can invoke TSRs and don’t mind much if the user hits Alt-Ctrl-Delete, presses Alt-Tab or calls on the gods of destruction, just to show the tasks running in the memory. We’ll just hope that Miss BSOD would prefer to be at home in her couch watching smurf reruns.
Probably i’ll be using that FoxTray tool, which i still have to tinker further and modify if needed.
A modal message form that asks for random generated ACCESS NUMBER and PASSWORD will suppose to halt the user in case his one hour limit expires. The ACCESS NUMBER and the Encrypted(PASSWORD) will be stored on a database, automatically generated after an hour of usage… along with a STATUS field (Password Used/Active/Etc). I’m still thinking if the student’s ID NUMBER will be needed. Of course a time warning would probably be included just ten minutes before that one hour limit expires.
In my newsprint, which serves as a plotting device for various program conceptualization and planning, I have already formulated the RANDOM GENERATOR and ENCRYPTION algorithms… along with a TASK-TO-DO list for the month of March, which judging from that long list… would be quite a busy month for me.
Filed Under (Visual FoxPro) by WildFire on 10-03-2004
Filed Under (Visual FoxPro) by WildFire on 09-03-2004
Guess what… Ken Levy’s blogging too. A short bio is included in that section.
Filed Under (Visual FoxPro) by WildFire on 08-03-2004
Foxpro-warp: Craig Bernston and his FoxBlog.
Filed Under (Visual FoxPro) by WildFire on 07-03-2004
Searching Microsoft’s Knowledge Base is a good start to find solutions to certain problems. But if you’re just looking for random VFP topics, you can view some KnowledgeBase articles by Garrett Fitzgerald and Mike Stewart.
Filed Under (Visual FoxPro) by WildFire on 07-03-2004
Filed Under (Visual FoxPro) by WildFire on 06-03-2004
You might be interested in downloading this FoxTalk Sample Issue which contains the following articles: Get more productive with VFP, Part 4 (Richard Schummer) � Ahoy! Anchoring Made Easy (Doug Hennig) � Playing with GUI in Visual Foxpro 8: The Expander Control (Predrag Bosnic) � Using Delegation to Change Your Application’s Architecture (Mike Helland) � The Kit Box: VFP 8.0 Intelli-non-Sense! (Andy Kramek and Marcia Akins)
And another interesting read: Building a Tool to Secure Messages by Alex Feldstein. More information about FoxTalk can be found at Pinnacle: Solutions for Developers.