I retrive some info from Google Maps to validate and geocoding an Address, but Progress ( 10.1B03 ) have problems to translate the unicode UTF-8 characters. This is an example ( without any error controls to simplify ) you can test this in the Editor.
The rigth anwer must be 3580 Jose(with a tilde ´ in the e ) Antonio .......
Thanks for any help on this.
/*****************************************/
DEFINE VARIABLE hParser AS HANDLE NO-UNDO.
define variable hhandler as handle no-undo.
define variable clee as char no-undo.
define variable pdirec as char no-undo.
CREATE SAX-READER hParser.
hParser:HANDLER = this-procedure.
hParser:SET-INPUT-SOURCE ("FILE", "http://maps.google.com/maps/geo?q=3580+cabrera+buenos+aires+argentina&output=xml&key=abcdefg").
hParser:SAX-PARSE() NO-ERROR.
DELETE OBJECT hParser.
PROCEDURE StartElement:
DEFINE INPUT PARAMETER namespaceURI AS CHARACTER.
DEFINE INPUT PARAMETER localName AS CHARACTER.
DEFINE INPUT PARAMETER qname AS CHARACTER.
DEFINE INPUT PARAMETER attributes AS HANDLE.
clee = localName.
END.
PROCEDURE Characters:
DEFINE INPUT PARAMETER charDataA AS MEMPTR NO-UNDO.
DEFINE INPUT PARAMETER numChars AS INTEGER NO-UNDO.
define var charData as memptr no-undo.
case clee:
when "address" THEN
pdirec = pdirec + GET-STRING( charDataA, 1, GET-SIZE(charDataA)).
END.
END PROCEDURE.
PROCEDURE EndElement:
DEFINE INPUT PARAMETER pcNamespaceURI AS CHARACTER NO-UNDO.
DEFINE INPUT PARAMETER pcLocalName AS CHARACTER NO-UNDO.
DEFINE INPUT PARAMETER pcQName AS CHARACTER NO-UNDO.
case clee:
when "address" THEN
message pdirec view-as alert-box information.
eND.
clee="".
END PROCEDURE.
/***************************************************/
The rigth anwer must be 3580 Jose(with a tilde ´ in the e ) Antonio .......
Thanks for any help on this.
/*****************************************/
DEFINE VARIABLE hParser AS HANDLE NO-UNDO.
define variable hhandler as handle no-undo.
define variable clee as char no-undo.
define variable pdirec as char no-undo.
CREATE SAX-READER hParser.
hParser:HANDLER = this-procedure.
hParser:SET-INPUT-SOURCE ("FILE", "http://maps.google.com/maps/geo?q=3580+cabrera+buenos+aires+argentina&output=xml&key=abcdefg").
hParser:SAX-PARSE() NO-ERROR.
DELETE OBJECT hParser.
PROCEDURE StartElement:
DEFINE INPUT PARAMETER namespaceURI AS CHARACTER.
DEFINE INPUT PARAMETER localName AS CHARACTER.
DEFINE INPUT PARAMETER qname AS CHARACTER.
DEFINE INPUT PARAMETER attributes AS HANDLE.
clee = localName.
END.
PROCEDURE Characters:
DEFINE INPUT PARAMETER charDataA AS MEMPTR NO-UNDO.
DEFINE INPUT PARAMETER numChars AS INTEGER NO-UNDO.
define var charData as memptr no-undo.
case clee:
when "address" THEN
pdirec = pdirec + GET-STRING( charDataA, 1, GET-SIZE(charDataA)).
END.
END PROCEDURE.
PROCEDURE EndElement:
DEFINE INPUT PARAMETER pcNamespaceURI AS CHARACTER NO-UNDO.
DEFINE INPUT PARAMETER pcLocalName AS CHARACTER NO-UNDO.
DEFINE INPUT PARAMETER pcQName AS CHARACTER NO-UNDO.
case clee:
when "address" THEN
message pdirec view-as alert-box information.
eND.
clee="".
END PROCEDURE.
/***************************************************/