Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations Mike Lewis on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

Remove CDX reference from table

Databases and tables

Remove CDX reference from table

by  rob444  Posted    (Edited  )
Sometimes it is easy to remove cdx references from tables by program.


* nocdxref()
* this function deletes the cdxref from any dbf.
* usage: lresult = nocdxref('C:\TABLES\MYTABLE.DBF')
*
function nocdxref
parameters rdfile
private filehandle, cdxbyte
rdfile = alltrim(rdfile)

if len(rdfile)=0
return .f.
endif
filehandle=FOPEN(rdfile,12) && Open the file

if filehandle < 0
wait(rdfile+' NOT FOUND or IN USE')
return .f.
endif

=FSEEK(filehandle, 28,0) && Move pointer before 29th byte
cdxbyte = asc(fgets(filehandle,1)) && read byte 29
if cdxbyte % 2 = 1 && test if it has a cdx
cdxbyte = cdxbyte - 1 && if so change it
=FSEEK(filehandle, -1,1) && Move pointer before 29th byte again
=FWRITE(filehandle, chr(cdxbyte), 1) && write changed byte to dbfheader
endif
=FCLOSE(filehandle)
return .t.
Register to rate this FAQ  : BAD 1 2 3 4 5 6 7 8 9 10 GOOD
Please Note: 1 is Bad, 10 is Good :-)

Part and Inventory Search

Back
Top