Hola, Alexis.
>buenos dias a todo, tengo un pequeño problema con un combo yo en el init del formulario le envio los siguientes valores
>
>IF APRINTERS(gaPrinters) > 0
> x = ALEN(gaPrinters)
> FOR i = 1 TO x
> thisform.combo1.additem(gaPrinters(i))
> thisform.list1.additem(gaPrinters(i))
> next
>ELSE
> WAIT WINDOW 'No Existen Impresoras Instaladas'
>ENDIF
>
>esto funciona bien pero el problema es que cuando se muestran los datos en el list o el combo cuando existe una impresora de red por ejemplo
>
>\\pc01\panasonic en el combo y el list me mustra esto:
>\pc01\panasonic y no entiendo a ver si me dan una luz..
Es que el backslash tiene un significado especial para ingresar secuencias de escape en los lit/comboboxes.
Modifica tu código así:
IF APRINTERS(gaPrinters) > 0
x = ALEN(gaPrinters)
local lcPrinter as string
FOR i = 1 TO x
lcPrinter = strTran( gaPrinters(i), "\", "\\" )
thisform.combo1.additem(lcPrinter)
thisform.list1.additem(lcPrinter)
next
ELSE
WAIT WINDOW 'No Existen Impresoras Instaladas'
ENDIF
StrTran reemplazará cada barra invertida por dos, y de esta forma se verá correctamente en el combo. Si luego debes tomar este valor, ten en cuenta que debes revertir este efecto. También echa un vistazo a la función GetPrinter(), que despliega el diálogo standard de selección de impresora en Windows.
Saludos,