CPConvert(), CPCurrent(), CPDBF(), IDXCollate(), Set Collate, Set("Collate"), Set NoCPTrans
This slew of functions allows Visual FoxPro to manipulate variables, tables and indexes in a multiple-code-page environment.| Usage | cResult = CPConvert( cFromCP, cToCP, cText ) |
| Parameter | Value | Meaning |
| cFromCP | Integer | Original code page from which cText is to be translated. |
| cToCP | Integer | Destination code page for result. |
| cText | Character or memo | Text to be translated. |
| cResult | Character | Text after translation. |
| Example | WAIT WINDOW CPCONVERT(437,1252,"Jos"+CHR(130)) |
| Usage | nCodePage = CPCurrent( nWhichOne ) |
| Parameter | Value | Meaning |
| nWhichOne | Omitted or 1 | In Windows, the Windows code page; in other FoxPro platforms, the operating system's code page. |
| 2 | In Windows, the underlying (MS-DOS) code page. In the other platforms, this should return the same as 1. | |
| nCodePage | Numeric | Number of the code page requested. |
| Example | ? CPCURRENT(2) && what's the MS-DOS code page? |
| Usage | nCodePage = CPDBF( [ cAlias | nWorkArea ] ) |
| Parameter | Value | Meaning |
| cAlias | Character | Alias of the table whose code page is to be returned. |
| Omitted | If nWorkArea is also omitted, use the table in the current work area. | |
| nWorkArea | Integer | Work area number of the table whose code page is to be returned. |
| Omitted | If cAlias is also omitted, use the table in the current work area. | |
| nCodePage | Numeric | Number of the code page requested. |
| Example | * The Wizard table should be flagged for US Windows codepage DO CPZERO WITH HOME()+"\Wizards\Wizard.DBF",1252 USE Wizard.DBF IN 0 ALIAS DaWiz ? CPDBF("DaWiz") && should return 1252 |
| Usage | cCollation = IDXCollate( [cCDXName, ] nIndexNumber [, cAlias | nWorkArea ] ) |
| Parameter | Value | Meaning |
| cCDXName | Character | The name of the compound index file to examine. If no file is specified, IDXCollate() works on currently open indexes. |
| nIndexNumber | Integer | As is typical of index functions, this refers to a number assigned to each open stand-alone index, in the order they were opened, then the tags of the structural index, then any other compound indexes open, with each tag enumerated in the order created. |
| cAlias | Character | Alias of the table whose index collation is to be returned. |
| Omitted | If nWorkArea is also omitted, use the table in the current work area. | |
| nWorkArea | Integer | Work area number of the table whose index collation is to be returned. |
| Omitted | If cAlias is also omitted, use the table in the current work area. | |
| cCollation | Empty string | The number of the index specified exceeds the number of open indexes, or the work area number specified has no open file. |
| Character | The collation sequence which applies to this index. |
| Example | USE HOME() + "\Wizards\BuilderD.DBF" ? IDXCOLLATE(1) && returns "MACHINE" |
| Usage | SET COLLATE TO cSequence cSequence = SET( "COLLATE" ) |
| Parameter | Value | Meaning |
| cSequence | Character | Specifies the sequence in which items should be sorted. |
|
| All collation sequences except Machine use 2 bytes per key so the maximum size of a key expression is only 120 bytes, not 240 as Help states. |
| Example | SET COLLATE TO "GENERAL" |
| Usage | SET NOCPTRANS to cFieldList cFieldList = SET( "NOCPTRANS" ) |
| See Also | GetCP(), Index, Set CPCompile, Set CPDialog |
View Updates
Copyright © 2002 by Tamar E. Granor, Ted Roche, Doug Hennig, and Della Martin. All Rights Reserved.