Hola compañeros:
Tengo una rutina que busca datos en el portapapeles, quiero crear una ventana en la que ir mostrando los datos que busco y opcionalmente al final con un botón de aceptar, supongo que tengo que usar el comando GUI, pero estoy un poco perdido.
--
Saludos.
Crear una ventana y enviar resultados
Moderator: Flipeador
Re: Crear una ventana y enviar resultados
Hola!
No entiendo bíen lo que quieres hacer, en el título indicas que quieres enviar resultados, pero no mencionas eso en el tema (¿de que?, ¿a [...]?).
¿que clase de datos?.
con un boton de aceptar, ¿que haga que?.
deja un script como ejemplo de lo que quieres hacer (no necesariamente que trabaje)...
Saludos!
No entiendo bíen lo que quieres hacer, en el título indicas que quieres enviar resultados, pero no mencionas eso en el tema (¿de que?, ¿a [...]?).
¿que clase de datos?.
con un boton de aceptar, ¿que haga que?.
deja un script como ejemplo de lo que quieres hacer (no necesariamente que trabaje)...
Saludos!
Re: Crear una ventana y enviar resultados
Siento no haberme expresado bien Flipeador, te dejo parte de la rutina:
Esto es un ejemplo, la rutina busca muchos más datos, mientras los busca quiero que el SendInput vaya mostrando el resultado en una ventana, cuando termine de buscar todo en la ventana muestre un botón de Aceptar para cerrarla.
Un ejemplo del portapeles:
--
Saludos
Code: Select all
pNomCli := "" ; Nombre del Cliente
vTCSC := clipboard ; Copia el contenido de la consola
pNomCli := BuscaTexto("Nombre cliente", vTCSC, 2)
BuscaTexto(wQue, wDonde, wCual) {
wResultado := ""
wCR := "`r"
StringLen, wLong, wQue ; Obtiene la longitud de lo buscado
wLong++ ; Le suma 1
wPos := 0
wPosI := 0
StringGetPos, wPos, wDonde, %wQue%, L%wCual% ; Busca
If (wPos != -1) ; Si la encuentra
{
wPosI := wPos + wLong ; Suma a la posición la longitud de lo buscado
StringGetPos, wPos, wDonde, %wCR%,, wPosI ; Busca el salto de línea posterior
If (wPos != -1) ; Si lo encuentra, que debería
{
StringMid, wResultado, wDonde, wPosI, wPos - wPosI ; Obtiene el resultado
wResultado := Trim(wResultado) ; Quita espacios en blanco y tabulaciones
}
}
SendInput %wQue% %wResultado%{enter}
Sleep 250
return wResultado
}
Un ejemplo del portapeles:
Supongo que una opción sería abrir un bloc de notas en blanco, modificar su posición en pantalla y tamaño, ponerlo en primer plano y enviarlo el resultado, pero creo que se puede hacer con GUI.Identificación del cliente AGK578340
Nombre cliente Perico de los palotes
Dirección cliente la de su casa
--
Saludos
Re: Crear una ventana y enviar resultados
No entiendo bién como deben obtenerse los datos (que parte exactamente del texto), pero aquí tienes un ejemplo:
usas GuiControl para obtener y establecer el texto, o tambien puedes usar ControlGetText, ControlSetText, ControlSend...
Slds.
Code: Select all
;Contenido de la consola
vTCSC := "
(LTrim
Identificación del cliente AGK578340
Nombre cliente Perico de los palotes
Dirección cliente la de su casa
)"
Gui, +AlwaysOnTop +HWND_G +LastFound
Gui, Add, Edit, x10 y10 w610 h215 vMiEdit
Gui, Add, Button, x505 y230 w115 h25 gAceptar vMiButton, Aceptar
Gui, Show, w628 h260
WinWait, ahk_id %_G%
WinActivate
WinWaitActive
GuiControl, Disable, MiButton
Loop, Parse, % vTCSC, `n, `r
{
GuiControlGet, MiEdit
GuiControl,, MiEdit, % Trim(Trim(MiEdit, A_Space A_Tab "`n`r") "`n" A_LoopField "`n", A_Space A_Tab "`n`r")
Sleep 750
} GuiControl, Enable, MiButton
return
GuiEscape:
GuiClose:
Aceptar:
ExitApp
return
Slds.
Who is online
Users browsing this forum: No registered users and 23 guests