¿Existen alguna función o la forma de copiar un registro (fila) activo de un browse sin usar CTRL+C para despues pegarlo con CTRL+V o Paste por ejemplo en el Outlook, solo me interesan los datos de ese registro?
¿Existen alguna función o la forma de copiar un registro (fila) activo de un browse sin usar CTRL+C para despues pegarlo con CTRL+V o Paste por ejemplo en el Outlook, solo me interesan los datos de ese registro?
Garbi,
supongo que copiando al clipboard te puede servir, el tema es que si lo que tenes es un registro de un array o dbf o recordset deberas armar lo que queres copiar.
Salu2.
¿Pero como lo copio al clipboard? es un registro de un dbf.
En su momento necesite algo similar y lo hice copiando los valores del registro a una variable para cada campo, tambien podes hacerlo en un array y luego lo pegas, el copiar y pegar es una funcion propia mia simulando el portapapel.
El ejemplo mio en particular fue para copiar o cortar un turno dado y pegarlo en un horario diferente y tambien en un dia diferente.
Espero haber ayudado.
Saludos
Marcelo
Si, dentro de la misma aplicación lo tengo hecho así, pero yo quiero copiar el registro al portapapeles de Windows para poder pegarlo en el word o outlook.
¿Como lo copio al portapapeles de windows ?
Se me ocurrio que lo podes hacer en varios pasos en forma oculta al usuario, primero grabas el registro en un memo, luego seleccionas el memo, y lo copias al portapapel con oMemo:copy(), y luego lo pegas donde te haga falta con oHoja:past().
No lo probe pero de acuerdo a los samples creo que es posible.
Buscate en los samples la funcion Copy() y past().
Espero haber ayudado.
Saludos
Marcelo
Lo repaso y os comento.
Gracias Marcelo.
cLinea := QDatos() // aqui obtienes en una cadena todo lo que el registro contiene
Function QDatos()
local cText, nCol, uField, cField
cText := ""
FOR nCol := 1 TO FCount()
cfield := fieldname(nCol)
uField := &Cfield
cType := ValType( uField )
IF cType == "D"
cText += If( Empty( uField ), "00/00/0000", dtos( uField ) ) + " "
ELSEIF cType == "N"
cText += AllTrim( Str( uField ) ) + " "
ELSEIF cType == "L"
cText += If( uField, "T", "F" ) + " "
ELSEIF cType == "M"
cText += AllTrim( uField ) + " "
ENDIF
NEXT nCol
Return(cText)