From: "Patrick O'Beirne" Subject: PC: XBASE SET CENTURY patch Concerns have been raised about Xbase code from disappeared turd-party developers where the source code is missing. One way is to get a decompiler such as Valkyrie for Clipper. For quick, automated, patches of numbers of .EXEs, here is a patch for Clipper code. If there is enough interest, dBase or Foxpro users might post their own patch. Look for the SET CENTURY byte sequence (hex): Summer'87: SET CENTURY OFF is C6 11 0 SET CENTURY ON is C7 11 0 Clipper 5.2: SET CENTURY .F. is 13 07 00 64 SET CENTURY .T. is 13 07 00 7A SET CENTURY OFF is 13 07 01 03 followed by "OFF" or "off" or similar. Change the "OFF" to "ON " and off you go. Of course, if the programmer did not explicitly SET CENTURY OFF like that, we'll have to find some other patch, or overwrite some redundant or less important SET commands like: SET MARG TO 0 SET DELI OFF SET SCOR OFF SET CENTURY ON will mean that date screen fields will extend by two characters, which may mess up the next prompt. But desperate circumstances may deserve desperate measures... As this world requires that people be warned about running with scissors, let me say that I do not advocate the above without complete backups and checking for multiple byte patterns. Those who meddle with spells without understanding the hex will be cursed terribly. Patrick. PS Amy .. just checking you were awake ;) Patrick O'Beirne B.Sc. M.A. MICS, Systems Consultant, Clipper Developer; Personal Software Process (PSP) Trainer; TickIT trained ISO 9000 Auditor. Compuserve: 100023,1304 WWW: http://www.sysmod.com/index.html Systems Modelling Ltd, Gorey, Co. Wexford, IRELAND. VAT NO. IE4625958Q ----------------------------------------------- From: "Fanberg, Victor" Subject: RE: XBASE SET CENTURY patch Date: Mon, 5 May 1997 09:49:10 -0400 Patrick, A better patch for those using a windowing technique and Clipper 5.2 might be to use Valkyrie, if source code is not available, and add something similar to SET EPOCH TO year(date())-50 This will set up a sliding window with a pivot year fifty years off the current year with no formatting changes. I believe this line of code will catch virtually everything except a hard coded '19' in reports. You probably would also want to make sure you are purging old data at some point. Usual disclaimer, Vic Fanberg SAIC