PDA

Ver la Versión Completa : Delphi 2007 y UTF8


gluglu
18-02-2012, 21:07:46
Hola !

Estoy utilizando un TWebBrowser con un documento HTML. Necesito obtener los nombres de los ficheros de las imágenes contenidas en el doc HTML.

Para ello utilizo :
for i := 0 to WebBrowser1.OleObject.Document.Images.Length - 1 do begin
Aux_S1 := WebBrowser1.OleObject.Document.Images.Item(i).Src;
....


He intentado declarar Aux_S1 de todas las maneras posibles, como String, AnsiString, WideStrin, UTF8String ....

Pero el valor que siempre obtengo en Aux_S1 es (p.ej.) :

'file:///C:/Programacion/Mi%20Programa%202012/DocTemp/Mi%20Documento%20-%20Prueba.img0.jpg'

Cómo puedo convertir ese nombre en un String normal, con sus espacios u otros caracteres 'normales'.

Gracias por adelantado.

Casimiro Notevi
18-02-2012, 21:46:52
¿No tendrá algo que ver con esto (http://www.clubdelphi.com/foros/showthread.php?t=76891)?

gluglu
19-02-2012, 09:20:06
Hola Casimiro !

Por supuesto que probé toda clase de opciones ! Incluida la que yo mismo indiqué en un post anterior. Pero al tratarse de compnentes diferentes, parece haber soluciones diferentes.

gluglu
19-02-2012, 12:02:07
... ya me lo imaginaba ! :o

No era UTF8 .... era HTTP :

Solución :
Aux_S1 := HTTPDecode(WebBrowser1.OleObject.Document.Images.Item(i).Src);

... y me devuelve el String correcto en Aux_S1.

P.D. La función HTTPDecode está en la Unit HTTPApp.

Casimiro Notevi
19-02-2012, 12:05:41
Estas cosas tan "simples" son las que hacen perder más tiempo. El caso es que está casi todo inventado, pero es bastante difícil saberlo todo :confused:

Me alegro de que lo hayas solucionado :)


P.d.: por cierto, algunos trabajamos hasta los domingos :(