VariantStrToStr - cCharTranslate

Converts a Variant String to a string encoded as OEM, ANSI or UTF-8

Type: Function

Return Data Type: String

Parameters: Variant vValue Integer eCharType

ParameterDescription
vValueA Variant string
eCharTypeThe type of string encoding, which may be OEM (CP_OEMCP), ANSI (CP_ACP) or UTF-8 (CP_UTF8)


Return Value

The string is converted to UTF-16 Unicode and returned as a DataFlex string


Syntax
Function VariantStrToStr Variant vValue Integer eCharType Returns String

Call: Get VariantStrToStr vValue eCharType to StringVariable


Description

VariantStrToStr creates an OEM, ANSI or UTF8 DataFlex string from a Variant String (the internal encoding of a Variant string is always Unicode).

See discussion in the cCharTranslate class overview about the advantages and disadvantage of using the Variant String type.

Use Windows.pkg
Use cCharTranslate.pkg
 
Object oCharTranslate is a cCharTranslate
End_Object
 
Procedure TestVariantStr
    Address aUTF8Buffer
    Variant vVar vVar2
    String sVal

    Move "Test String-Ññóí" to vVar

    // Move Variant (utf-16) to DataFlex OEM string
    Get VariantStrToStr of oCharTranslate vVar CP_OEMCP to sVal
    
    // Move OEM string to variant (utf-16)
    Get VariantStrFromStr of oCharTranslate sVal CP_OEMCP to vVar2
    If (vVar<>vVar2) Begin
        Send Info_Box "Test Failed"
    End
    
End_Procedure

Send TestVariantStr

See Also

VariantStrFromBuffer | VariantStrToBuffer | VariantStrFromStr | VariantStrFromUTF16 | VariantStrToUTF16