como agregar una imagen
como agregar una imagen
hola de nuevo por aca, me gustaria saber si alguien puede ayudarme a poner una imagen de fono.
espero que me puedan ayudar.
espero que me puedan ayudar.
Re: como agregar una imagen
logre colocar una imagen de fondo asi
pero tengo muchos errores
ALGUIEN PUEDE AYUDAR ?? gracias
Código: Seleccionar todo
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
Global $gui, $guiPos, $pic, $picPos
Esto()
Func Esto()
Local $n, $msg
GUICreate("My ", 335, 330, -1, -1, $WS_SIZEBOX + $WS_SYSMENU)
GUISetState(@SW_SHOW)
GUICtrlCreateLabel("Topic", 8, 50)
$topic1 = GUICtrlCreateInput("Aca pones un Topic", 100, 50, 200)
$startbutton4 = GUICtrlCreateButton("Start", 140, 220, 60)
$stopbutton5 = GUICtrlCreateButton("Stop", 140,250,60)
GUISetBkColor(0xE0EBFF)
$n = GUICtrlCreatePic("AR.jpg", 0, 0, 335, 330)
GUISetState()
While 1
$msg = GUIGetMsg()
sleep(3000)
$send1 = GUICtrlRead($Topic1)
$sleep1 = GUICtrlRead($Topic1)
send("{#}addtopic ")
Send($send1)
send("{ENTER}")
If $msg = $GUI_EVENT_CLOSE Then ExitLoop
WEnd
sleep(5000)
GUIDelete()
EndFunc
ALGUIEN PUEDE AYUDAR ?? gracias
- Ximorro
- Profesional del Autoit
- Mensajes: 1500
- Registrado: 10 Jul 2009, 12:35
- Ubicación: Castellón, España
Re: como agregar una imagen
¿Por qué pones esto en el foro de chat?
Podrías decir qué errores te da, para ver qué dudas hay exactamente...
Unas sugerencias, a ver si te va mejor:
.- Quita el primer GUISetState(@SW_SHOW), pues aún no has acabado de crear el GUI, aún tienes que poner los controles.
.- Como la imagen va a ser el fondo, créala primero, así los controles que se crearán después se pondrán encima.
.- Para que no afecte a los demás controles y no les robe clicks deshabilítalo, después de crearlo pon GUICtrlSetState(-1, $GUI_DISABLE)
.- Quizás quede mejor poner transparentes las etiquetas, es cosa de probarlo: GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
.- Supongo que el GUISetBkColor(0xE0EBFF) es innecesario, si vas a tapar todo el GUI con la imagen.
.- La variable $sleep1 no se utiliza para nada.
.- Los botones tampoco se utilizan para nada, aunque supongo que es porque el código no está terminado...
.- Pon el Sleep de dentro del bucle del GUI mucho más pequeño, o será prácticamente imposible cerrarlo o apretar botones, si quieres enviar el mensaje cada 3 segs hazlo con la función AdlibRegister, o controla el tiempo con _Timer_Diff o mirando las macros de tiempo o como se te ocurra, pero el bucle no lo bloquees o el GUI no responderá.
.- Yo quitaría ese Sleep del final, si el formulario se cierra que se cierre en el momento, si no parece que no esté respondiendo.
Pues hala, ya puedes probar cosas
Podrías decir qué errores te da, para ver qué dudas hay exactamente...
Unas sugerencias, a ver si te va mejor:
.- Quita el primer GUISetState(@SW_SHOW), pues aún no has acabado de crear el GUI, aún tienes que poner los controles.
.- Como la imagen va a ser el fondo, créala primero, así los controles que se crearán después se pondrán encima.
.- Para que no afecte a los demás controles y no les robe clicks deshabilítalo, después de crearlo pon GUICtrlSetState(-1, $GUI_DISABLE)
.- Quizás quede mejor poner transparentes las etiquetas, es cosa de probarlo: GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
.- Supongo que el GUISetBkColor(0xE0EBFF) es innecesario, si vas a tapar todo el GUI con la imagen.
.- La variable $sleep1 no se utiliza para nada.
.- Los botones tampoco se utilizan para nada, aunque supongo que es porque el código no está terminado...
.- Pon el Sleep de dentro del bucle del GUI mucho más pequeño, o será prácticamente imposible cerrarlo o apretar botones, si quieres enviar el mensaje cada 3 segs hazlo con la función AdlibRegister, o controla el tiempo con _Timer_Diff o mirando las macros de tiempo o como se te ocurra, pero el bucle no lo bloquees o el GUI no responderá.
.- Yo quitaría ese Sleep del final, si el formulario se cierra que se cierre en el momento, si no parece que no esté respondiendo.
Pues hala, ya puedes probar cosas
"¿Y no será que en este mundo hay cada vez más gente y menos personas?". Mafalda (Quino)
Re: como agregar una imagen
Primero que nada pido disculpas, no sabia donde hacer mi pregunta
segundo gracias por responder y los consejos espero que me tengan paciencia
ya que soy nuevo en autoit y me gusta mucho y quiero aprender todo lo que
sea necesario .
vamos a ver si entendi tu consejo para que quede la imagen de fondo seria asi ?
Me gusta la idea de que quede transparente pero no entiendo bien como usar los GUI o los bucles
disculpa mi ignorancia.
No entiendo como crear los controles despues de la imagen me podrias poner un ejemplo?
gracias de nuevo por la ayuda y tu tiempo
segundo gracias por responder y los consejos espero que me tengan paciencia
ya que soy nuevo en autoit y me gusta mucho y quiero aprender todo lo que
sea necesario .
vamos a ver si entendi tu consejo para que quede la imagen de fondo seria asi ?
Código: Seleccionar todo
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
Global $gui, $guiPos, $pic, $picPos
Esto()
Func Esto()
Local $n, $msg
GUICreate("My ", 335, 330, -1, -1, $WS_SIZEBOX + $WS_SYSMENU)
$n = GUICtrlCreatePic("AR.jpg", 0, 0, 335, 330)
GUISetState()
While 1
$msg = GUIGetMsg()
If $msg = $GUI_EVENT_CLOSE Then ExitLoop
WEnd
GUICtrlSetState(-1, $GUI_DISABLE)
EndFunc
disculpa mi ignorancia.
No entiendo como crear los controles despues de la imagen me podrias poner un ejemplo?
gracias de nuevo por la ayuda y tu tiempo
Re: como agregar una imagen
jajaj no ay dramaa amigo.. para eso estamos para acosejarnos los unos a los otrosAndres_sc escribió:Primero que nada pido disculpas, no sabia donde hacer mi pregunta
segundo gracias por responder y los consejos espero que me tengan paciencia
ya que soy nuevo en autoit y me gusta mucho y quiero aprender todo lo que
sea necesario .
Amigo respecto a esta funcion, para hacerla transparente... GUICtrlSetState(-1, $GUI_DISABLE), en este caso (porke -1 esta indicando el control anterior) va inmediatamente despues del control PIC en este caso... por ejemplo
Código: Seleccionar todo
$n = GUICtrlCreatePic("AR.jpg", 0, 0, 335, 330)
GUICtrlSetState(-1, $GUI_DISABLE)
EndFunc
Como ves GuiCtrlSetState(-1, $GUI_DISABLE) esta diciendo k a -1 ($n = GUICtrlCreatePic) esta anterior.. a este de determinado estado..
pero tambien es mas valido.. usar esta forma
$n = GUICtrlCreatePic("AR.jpg", 0, 0, 335, 330)
GUICtrlSetState($n, $GUI_DISABLE)
como ves .. usamos el nombre de la variablee..
respecto al while.. o buclee..
si yo pongo algo despues del buclee obvio k sucedera despues de k salga de este..
veamos.. cada numero es una orden..
1
2
While X
3 <<<< Aca estara mientras no salga..
WEnd
4
Entonces todoo lo k tengas k hacer lo haces antes del bucle.. pero de todas fotmas dentro del bucle podes tambien cambiar datos.. ;) pero es una forma de referirnos a tu caso k pusiste GuiCtrlSetState despues del buclee..
Espero haberme explicado.. cualkier duda la comentas
Aunk no m Buskes, Seguro m enkontras!
Re: como agregar una imagen
Andres_sc escribió:No entiendo como crear los controles despues de la imagen me podrias poner un ejemplo?
Ahh me olvidava esto. a lo k se refiere Ximorro es esto.. la creacion de un gui se estructura mas o menos asi..
- Creacion del Gui. <<< GuiCreate() >>>
- Controles (plural.. aunk puede ser uno solo tmb) <<< GuiCtrlCreateXXX() >>>
- Dibujar o Mostrar el Gui. <<< GUISetState(@SW_SHOW) >>>
Digamos k todo lo referido al Gui Empieza por la creacion de este con GuiCreate.. luego todo lo referido a controles va luego de este.. pork no puedo crear un boton en el aire entonces si sigo la estructura tengo.. la ventana, los controles, (realizo todo lo referido a ellos, ya sea un boton, un checkbox lo tildo, etc) entocnes una ves k termine de hacer varios controles Immprimo o muestro el gui terminado con GUISetState(@SW_SHOW)..
Ej:
Código: Seleccionar todo
#include <GuiConstantsEx.au3>
GUICreate("xD", 322, 360, 192, 124) ; Creamos el GUi.. (permanece oculto)
$boton = GUICtrlCreateButton("Button1", 112, 312, 97, 33) ; Creamos un boton..
GUICtrlSetState($boton, $GUI_DISABLE) ; Le damos el estado de desactivado
GUICtrlCreateEdit("", 8, 8, 305, 289) ; Creamos un control edit...
GUICtrlSetData(-1, "Soy un Edit xD") ; Le establecemos cierta info xD
GUISetState(@SW_SHOW) ; Muestro la El GUI
While 1
If GUIGetMsg() = -3 Then Exit; Salimos
WEnd
Espero haberte aclarado alguna duda.. saludos
Aunk no m Buskes, Seguro m enkontras!
Re: como agregar una imagen
Muchas gracias por la ayuda gna08 .
vamos a ver que me sale me pongo ya a tratar de logralo.
una cosa mas me podrias dar un ejemplo de como agregar el boton y el label, el box sin ke lo tape la imagen?
y una cosita mas si yo pongo
vamos a ver que me sale me pongo ya a tratar de logralo.
una cosa mas me podrias dar un ejemplo de como agregar el boton y el label, el box sin ke lo tape la imagen?
y una cosita mas si yo pongo
cuando lo ago andar no sale nada, funciona pero yo kiero que se vea para poder usar el boton$n = GUICtrlCreatePic("AR.jpg", 0, 0, 335, 330)
GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
- Ximorro
- Profesional del Autoit
- Mensajes: 1500
- Registrado: 10 Jul 2009, 12:35
- Ubicación: Castellón, España
Re: como agregar una imagen
Hola, lo de crear controles encima de otros se hace según el orden en que los pongas, si creas primero la imagen GUICtrlCreatePic, y luego el botón GUICtrlCreateButton, el botón estará encima. El problema es que hay que deshabilitar la imagen, o captura el ratón y la cosa no va del todo bien.
Por cierto, GUICtrlSetState(-1, $GUI_DISABLE) hace que el control no responda a eventos (clicks de ratón, por ejemplo), no que se haga transparente la imagen, como habéis dicho por ahí. En algunos controles cambia el aspecto visual, incluso con etiquetas, con el Picture Control no cambia nada visual, pero facilita usar los controles que tiene encima.
Lo de $GUI_BKCOLOR_TRANSPARENT es sólo para etiquetas, hace transparente el fondo para que se vea sólo el texto sobre la imagen, si no se verá gris el trozo bajo el texto.
Como comenta gna08, primero se crea el formulario, luego los controles, y luego se muestra. La estructura para un formulario con imagen de fondo, un botón y una etiqueta trasparente sería este:
Por cierto, GUICtrlSetState(-1, $GUI_DISABLE) hace que el control no responda a eventos (clicks de ratón, por ejemplo), no que se haga transparente la imagen, como habéis dicho por ahí. En algunos controles cambia el aspecto visual, incluso con etiquetas, con el Picture Control no cambia nada visual, pero facilita usar los controles que tiene encima.
Lo de $GUI_BKCOLOR_TRANSPARENT es sólo para etiquetas, hace transparente el fondo para que se vea sólo el texto sobre la imagen, si no se verá gris el trozo bajo el texto.
Como comenta gna08, primero se crea el formulario, luego los controles, y luego se muestra. La estructura para un formulario con imagen de fondo, un botón y una etiqueta trasparente sería este:
Código: Seleccionar todo
GUICreate("My ",...)
$n = GUICtrlCreatePic("AR.jpg",...)
GUICtrlSetState(-1, $GUI_DISABLE)
GUICtrlCreateLabel("Topic", ...)
GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
$startbutton4 = GUICtrlCreateButton("Start", ...)
GUISetState(@SW_SHOW)
"¿Y no será que en este mundo hay cada vez más gente y menos personas?". Mafalda (Quino)
Re: como agregar una imagen
Gracias ahora si me quedo bien claro como utilizar el GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
ese era uno de mis problemas que salia gris .
ahora lo unico que me estaria faltando son dos cosas.
1: En que parte agrego la funcion de un boton start para que salga lo que pongo en GUICtrlCreateLabel ?
2: Como seria el codigo para un boton de stop ? para que ya no escriba lo que puse en el label
muchas gracias por la ayuda son unos GENIOS
ese era uno de mis problemas que salia gris .
ahora lo unico que me estaria faltando son dos cosas.
1: En que parte agrego la funcion de un boton start para que salga lo que pongo en GUICtrlCreateLabel ?
2: Como seria el codigo para un boton de stop ? para que ya no escriba lo que puse en el label
muchas gracias por la ayuda son unos GENIOS
Re: como agregar una imagen
ya logre colocar una imagen de fondo se pueden usar los botones y queda re bien.
ahora tengo un solo detalle. si lo compílo en esa misma carpeta cuando lo abro
se ve la imagen de fondo, Pero si lo cambio al escritorio por ejemplo la imagen
ya no sale
como lo tengo ke compilar para ke la imagen salga igual este en donde este
o por mas que este en otra pc
ayuda por fi !!
ahora tengo un solo detalle. si lo compílo en esa misma carpeta cuando lo abro
se ve la imagen de fondo, Pero si lo cambio al escritorio por ejemplo la imagen
ya no sale
como lo tengo ke compilar para ke la imagen salga igual este en donde este
o por mas que este en otra pc
ayuda por fi !!
Re: como agregar una imagen
A ver quie me puede ayudar, como ago para compilarlo y que la imagen quede dentro del compilado
asi puede ser usado en otra pc sin nesecidad de andar con la imagen al lado
aver si sale ayuda gracias gente
asi puede ser usado en otra pc sin nesecidad de andar con la imagen al lado
aver si sale ayuda gracias gente
Re: como agregar una imagen
revisa la funcion FILEINSTALL()Andres_sc escribió:A ver quie me puede ayudar, como ago para compilarlo y que la imagen quede dentro del compilado
asi puede ser usado en otra pc sin nesecidad de andar con la imagen al lado
aver si sale ayuda gracias gente
Aunk no m Buskes, Seguro m enkontras!
- Ximorro
- Profesional del Autoit
- Mensajes: 1500
- Registrado: 10 Jul 2009, 12:35
- Ubicación: Castellón, España
Re: como agregar una imagen
Efectivamente, la mejor manera será con FileInstall, mira la ayuda y si no te aclaras nos lo dices.
Hay un par de maneras más de hacerlo, una complicada y otra sencilla pero cutre. La complicada es añadir la imagen a los resources del EXE, con un programa tipo "Resource Hacker". Esto es bastante avanzado y no es tan fácil acceder a la imagen desde AutoIt. FileInstall te dará una funcionalidad similar y es más fácil de usar (acceder a la imagen desde el programa), así que si no sabes de qué hablo con eso de los resources mejor olvídalo.
La otra es poner la imagen siempre junto con el EXE, es una solución cutre pero funciona. Tampoco es tan terrible, hay programas que cuando se instalan ponen decenas de archivitos por todo el disco duro, tú sólo tienes dos
Hay un par de maneras más de hacerlo, una complicada y otra sencilla pero cutre. La complicada es añadir la imagen a los resources del EXE, con un programa tipo "Resource Hacker". Esto es bastante avanzado y no es tan fácil acceder a la imagen desde AutoIt. FileInstall te dará una funcionalidad similar y es más fácil de usar (acceder a la imagen desde el programa), así que si no sabes de qué hablo con eso de los resources mejor olvídalo.
La otra es poner la imagen siempre junto con el EXE, es una solución cutre pero funciona. Tampoco es tan terrible, hay programas que cuando se instalan ponen decenas de archivitos por todo el disco duro, tú sólo tienes dos
"¿Y no será que en este mundo hay cada vez más gente y menos personas?". Mafalda (Quino)
Re: como agregar una imagen
Muchas gracias por la ayuda y consejos y estuve probando como dijo
gna08 pero si no entendi mal es casi lo mismo que andar con el exe y la imagen no ?
y con respecto a lo que dico ximorro es lo que estaba tratando de hacer usar el
Resource Hacker para poder agregarle la imagen al exe.
Pero pense que avia una manera mas sencilla de agregar la imagen al exe
igual muchas gracias por la ayuda cada vez se aprende mas y cada dia estoy
mas conforme de AUTOIT .
SEGUIREMOS POR MAS !! saludos gente
gna08 pero si no entendi mal es casi lo mismo que andar con el exe y la imagen no ?
y con respecto a lo que dico ximorro es lo que estaba tratando de hacer usar el
Resource Hacker para poder agregarle la imagen al exe.
Pero pense que avia una manera mas sencilla de agregar la imagen al exe
igual muchas gracias por la ayuda cada vez se aprende mas y cada dia estoy
mas conforme de AUTOIT .
SEGUIREMOS POR MAS !! saludos gente
Re: como agregar una imagen
Nooo.. esdta bien usar FileInstall("origen", "Destino", 1)Andres_sc escribió:Muchas gracias por la ayuda y consejos y estuve probando como dijo
gna08 pero si no entendi mal es casi lo mismo que andar con el exe y la imagen no ?
y con respecto a lo que dico ximorro es lo que estaba tratando de hacer usar el
Resource Hacker para poder agregarle la imagen al exe.
Pero pense que avia una manera mas sencilla de agregar la imagen al exe
igual muchas gracias por la ayuda cada vez se aprende mas y cada dia estoy
mas conforme de AUTOIT .
SEGUIREMOS POR MAS !! saludos gente
Con eso llevas la imagen adentro del exe.. osea k si no tenes la imagen al lado asi funciona.. obvio k se desempaca en algun lado k tu kieras. despuess lo puedes borrar.. por ejmplo.. Extraigo la imagen en la carpeta de arhcivos temporales..
Desde alli abro la imagen.. luego si no la uso la borroo.. me explico??.. parak liarse con resource hacker.. la idea es llevar la imagen dentro del exe. para no tener archivos externos. o al lado es incomodo..
P/D: lo de extraer, usar y borrar obvio k lo hace el script solo.. es todo dentro del script.. Cualkier cosa me avisas..
Aunk no m Buskes, Seguro m enkontras!
- Ximorro
- Profesional del Autoit
- Mensajes: 1500
- Registrado: 10 Jul 2009, 12:35
- Ubicación: Castellón, España
Re: como agregar una imagen
Si metes la imagen con el ResourceHacker es complicado de manejar, piensa que en el EXE está... sólo si es un EXE. Esto parece una tontería pero significa que mientras estás desarrollando el script no la tienes, pues trabajas con el au3. Tienes que tener código diferente para coger la imagen de disco si estás en el au3, o de dentro del EXE si ya has compilado.
FileInstall hace eso automáticamente (toma la imagen de disco en desarrollo o la extrae del EXE si está compilado), así que es muy cómodo de usar.
Efectivamente si instalas en el temporal y luego lo borras queda todo muy bien, no es tan espectacular como usar la imagen directamente de dentro del EXE pero no está nada mal, además borrar el archivo está chupado con AutoIt:
Al iniciar el programa:
Al finalizar el programa
FileInstall hace eso automáticamente (toma la imagen de disco en desarrollo o la extrae del EXE si está compilado), así que es muy cómodo de usar.
Efectivamente si instalas en el temporal y luego lo borras queda todo muy bien, no es tan espectacular como usar la imagen directamente de dentro del EXE pero no está nada mal, además borrar el archivo está chupado con AutoIt:
Al iniciar el programa:
Código: Seleccionar todo
FileInstall("imagen.jpg", @TempDir & "\", 1)
$img1 = @TempDir & "\imagen.jpg"
Código: Seleccionar todo
FileDelete($img1)
"¿Y no será que en este mundo hay cada vez más gente y menos personas?". Mafalda (Quino)
Re: como agregar una imagen
Hola amigos sigo medio estancado les dejo el codigo aver si me ayudan.
Si me pueden decir los horrores que tengo.
este error me sale cuando esta compilado
line 820 (file "c:\Documents and settings\pc\Escritorio\Auto Escribe.exe"):
Error : Expeted a "=" operator in assignment statement.
y lo de la imagen parece ke lo sigo haciendo mal
ayuda porfi y gracias x su enseñanza
Si me pueden decir los horrores que tengo.
Código: Seleccionar todo
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
Sleep(2000)
GUICreate("Auto escribe", 250, 200)
FileInstall("C:\Documents and Settings\pc\Escritorio\sasa\AR.jpg", @TempDir & "\", 1)
$img1 = @TempDir & "\AR.jpg"
$Pic1 = GUICtrlCreatePic("AR.jpg", 0, 0, 250, 200, BitOR($SS_NOTIFY, $WS_GROUP, $WS_CLIPSIBLINGS))
GUICtrlSetState(-1, $GUI_DISABLE)
GUICtrlCreateLabel("Logear ", 100, 50)
GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
GUICtrlSetFont(-1, 10, 400, 0, "Algerian")
$Empesar1 = GUICtrlCreateInput("Aca escribis algo ", 20, 80, 200)
$startbutton2 = GUICtrlCreateButton("Empesar", 50, 120, 70)
GUICtrlSetFont(-1, 10, 400, 0, "Algerian")
$stopbutton3 = GUICtrlCreateButton("Terminar", 130, 120, 70)
GUICtrlSetFont(-1, 10, 400, 0, "Algerian")
GUISetState(@SW_SHOW)
Sleep(4000)
While 1
$msg = GUIGetMsg()
Select
Case $msg = $startbutton2
Sleep(5000)
$send1 = GUICtrlRead($Empesar1)
$stopbutton3 = GUICtrlCreateUpdown($send1)
While 1
Send($send1)
Send("{ENTER}")
Send($send1)
Send("{ENTER}")
Send($send1)
Send("{ENTER}")
Send($send1)
Send("{ENTER}")
Send($send1)
Send("{ENTER}")
Send($send1)
Send("{ENTER}")
Send($send1)
Send("{ENTER}")
Send($send1)
Send("{ENTER}")
Send($send1)
Send("{ENTER}")
sleep(5000)
$send1 = GUICtrlCreateUpdown($Empesar1)
$stopbutton3($send1)
WEnd
Case $msg = $GUI_EVENT_CLOSE
ExitLoop
EndSelect
FileDelete($img1)
WEnd
line 820 (file "c:\Documents and settings\pc\Escritorio\Auto Escribe.exe"):
Error : Expeted a "=" operator in assignment statement.
y lo de la imagen parece ke lo sigo haciendo mal
ayuda porfi y gracias x su enseñanza
- Ximorro
- Profesional del Autoit
- Mensajes: 1500
- Registrado: 10 Jul 2009, 12:35
- Ubicación: Castellón, España
Re: como agregar una imagen
El error ese no lo entiendo, esa línea no correspondo a tu au3, quizás a todo el programa compilado, pero no se sabe dónde es...
El au3 en sí no da error de compilación, un poco raro... ¿Lo has copiado a mano? porque tiene una falta de ortografía (Expeted), si has hecho copy-paste y el original es así deberíamos decírselo a los de AutoIt
El programa tiene bastantes errores, de todas maneras... más bien conceptuales...
Efectivamente tienes problemas al referenciar la imagen, no puedes usar AR.jpg directamente en:
$Pic1 = GUICtrlCreatePic("AR.jpg", 0, 0, 250, 200, BitOR($SS_NOTIFY, $WS_GROUP, $WS_CLIPSIBLINGS))
porque entonces le estás diciendo que use la imagen que está en la carpeta del EXE (y puede que no esté ahí). Tienes que usar la que has sacado al temporal con FileInstall, ya que el nombre está convenientemente en $img1, pues se usa eso:
$Pic1 = GUICtrlCreatePic($img1, 0, 0, 250, 200, BitOR($SS_NOTIFY, $WS_GROUP, $WS_CLIPSIBLINGS))
Además ¿estás seguro de que esos flags de estilo son correctos?
$SS_NOTIFY no sé si será efectivo, ya que precisamente deshabilitamos el picture para que no capture el ratón
$WS_GROUP es innecesario pues no haces grupos
$WS_CLIPSIBLINGS no lo tengo muy claro pero creo no tendrá efecto en el PictureControl, si acaso más bien debería ir en el GUIs, eso si fuera necesario...
¿Qué tal si los quitas TODOS? Prueba a ver cómo funciona...
¿Por qué pones tanto Sleep por todas partes?
El del principio no tiene mucho sentido, hace que nada más ejecutar el programa esté dos segundos sin hacer nada.
Luego muestras el GUI pero bloqueas el programa otros 4 segundos, lo único que hace es impedir que el usuario interactúe con el GUI, aunque ya lo está viendo...
Y los Sleep(5000) tampoco los tengo muy claro, pero bueno...
Luego hay un bucle infinito, eso es lo que significa While 1, así que ahí se queda para siempre mandando sends...
Y luego hay una cosa muy rara que no sé lo que es:
$stopbutton3($send1)
Si es el botón no sé muy bien lo que le quieres hacer, si es una función que para no la has definido. Quizás de ahí venga el error que te da el EXE, la sintaxis que has puesto es de función, pero $stopbutton3 es una variable...
Variable que en principio es un botón, pero luego resulta que la machacas con un GUICtrlCreateUpdown ¡dentro del bucle!. No crees controles dentro del bucle, en cada vuelta hará uno nuevo. De todas maneras no creo que quieras cargarte el botón, lo del UpDown no sé lo que pinta ahí...
Después de los Send creas otro UpDown de esos en $send1... eso también es incorrecto.
Además de intentar arreglar las cosas que te digo para próximas consultas creo que deberías decir lo que quieres hacer, con palabras: "quiero una ventana con dos botones y una caja de texto, cuando le dé al botón start quiero que haga tal cosa hasta tal momento...".
O haz preguntas muy concretas: "¿cómo se usa un botón?" "¿qué es un control UpDown?"
Si son preguntas concretas que ya no tienen que ver con el post (cómo agregar una imagen) también puedes crear un post nuevo, para facilitar la búsqueda a otros foreros que tengan las mismas dudas. Porque antes de preguntar... hay que buscar, por ejemplo para saber cómo se maneja un botón sólo hay que darse una vuelta por el foro, aunque no se conteste a eso directamente hay montones de ejemplos que usan botones...
Tendrás que ponernos las cosas más fáciles
talueeec
El au3 en sí no da error de compilación, un poco raro... ¿Lo has copiado a mano? porque tiene una falta de ortografía (Expeted), si has hecho copy-paste y el original es así deberíamos decírselo a los de AutoIt
El programa tiene bastantes errores, de todas maneras... más bien conceptuales...
Efectivamente tienes problemas al referenciar la imagen, no puedes usar AR.jpg directamente en:
$Pic1 = GUICtrlCreatePic("AR.jpg", 0, 0, 250, 200, BitOR($SS_NOTIFY, $WS_GROUP, $WS_CLIPSIBLINGS))
porque entonces le estás diciendo que use la imagen que está en la carpeta del EXE (y puede que no esté ahí). Tienes que usar la que has sacado al temporal con FileInstall, ya que el nombre está convenientemente en $img1, pues se usa eso:
$Pic1 = GUICtrlCreatePic($img1, 0, 0, 250, 200, BitOR($SS_NOTIFY, $WS_GROUP, $WS_CLIPSIBLINGS))
Además ¿estás seguro de que esos flags de estilo son correctos?
$SS_NOTIFY no sé si será efectivo, ya que precisamente deshabilitamos el picture para que no capture el ratón
$WS_GROUP es innecesario pues no haces grupos
$WS_CLIPSIBLINGS no lo tengo muy claro pero creo no tendrá efecto en el PictureControl, si acaso más bien debería ir en el GUIs, eso si fuera necesario...
¿Qué tal si los quitas TODOS? Prueba a ver cómo funciona...
¿Por qué pones tanto Sleep por todas partes?
El del principio no tiene mucho sentido, hace que nada más ejecutar el programa esté dos segundos sin hacer nada.
Luego muestras el GUI pero bloqueas el programa otros 4 segundos, lo único que hace es impedir que el usuario interactúe con el GUI, aunque ya lo está viendo...
Y los Sleep(5000) tampoco los tengo muy claro, pero bueno...
Luego hay un bucle infinito, eso es lo que significa While 1, así que ahí se queda para siempre mandando sends...
Y luego hay una cosa muy rara que no sé lo que es:
$stopbutton3($send1)
Si es el botón no sé muy bien lo que le quieres hacer, si es una función que para no la has definido. Quizás de ahí venga el error que te da el EXE, la sintaxis que has puesto es de función, pero $stopbutton3 es una variable...
Variable que en principio es un botón, pero luego resulta que la machacas con un GUICtrlCreateUpdown ¡dentro del bucle!. No crees controles dentro del bucle, en cada vuelta hará uno nuevo. De todas maneras no creo que quieras cargarte el botón, lo del UpDown no sé lo que pinta ahí...
Después de los Send creas otro UpDown de esos en $send1... eso también es incorrecto.
Además de intentar arreglar las cosas que te digo para próximas consultas creo que deberías decir lo que quieres hacer, con palabras: "quiero una ventana con dos botones y una caja de texto, cuando le dé al botón start quiero que haga tal cosa hasta tal momento...".
O haz preguntas muy concretas: "¿cómo se usa un botón?" "¿qué es un control UpDown?"
Si son preguntas concretas que ya no tienen que ver con el post (cómo agregar una imagen) también puedes crear un post nuevo, para facilitar la búsqueda a otros foreros que tengan las mismas dudas. Porque antes de preguntar... hay que buscar, por ejemplo para saber cómo se maneja un botón sólo hay que darse una vuelta por el foro, aunque no se conteste a eso directamente hay montones de ejemplos que usan botones...
Tendrás que ponernos las cosas más fáciles
talueeec
"¿Y no será que en este mundo hay cada vez más gente y menos personas?". Mafalda (Quino)
Re: como agregar una imagen
efectibamente es copy - pasteEl au3 en sí no da error de compilación, un poco raro... ¿Lo has copiado a mano? porque tiene una falta de ortografía (Expeted), si has hecho copy-paste y el original es así deberíamos decírselo a los de AutoIt
eso queria ke me dijeran los horrores que tengoEl programa tiene bastantes errores, de todas maneras... más bien conceptuales...
en principio puse el sleep del principio por ke antes empezaba a escribir solo sin darle al boton empezar (creo ke ya esta solucionado) lo podria sacar.¿Por qué pones tanto Sleep por todas partes?
El del principio no tiene mucho sentido, hace que nada más ejecutar el programa esté dos segundos sin hacer nada.
el sleep ese lo puse por ke no se como agregarle la funcion para ke deje de escrbir la idea fue poner ese sleep para tener un tiempo y cerrarlo manualmenteLuego muestras el GUI pero bloqueas el programa otros 4 segundos, lo único que hace es impedir que el usuario interactúe con el GUI, aunque ya lo está viendo...
Y los Sleep(5000) tampoco los tengo muy claro, pero bueno...
no sabia que significaba el whild 1 ( gracias por aclararmelo)Luego hay un bucle infinito, eso es lo que significa While 1, así que ahí se queda para siempre mandando sends...
Y luego hay una cosa muy rara que no sé lo que es:
$stopbutton3($send1)Si es el botón no sé muy bien lo que le quieres hacer, si es una función que para no la has definido. Quizás de ahí venga el error que te da el EXE, la sintaxis que has puesto es de función, pero $stopbutton3 es una variable...
Variable que en principio es un botón, pero luego resulta que la machacas con un GUICtrlCreateUpdown ¡dentro del bucle!. No crees controles dentro del bucle, en cada vuelta hará uno nuevo. De todas maneras no creo que quieras cargarte el botón, lo del UpDown no sé lo que pinta ahí...
Después de los Send creas otro UpDown de esos en $send1... eso también es incorrecto.
lo otro de #stopbutton trataba de crear el boton para detener todo pero no se como hacerlo
por ultimo pido disculpas por seguir preguntando sobre otro tema en este mismo.
y si estuve viendo los demas post y trate de sacar informacion de ahi para crear
el boton stop, pero no lo pude hacer igual la idea fue mostrar mi proyecto
y ke vean ustedes lo que estaba tratando de hacer y me den sus consejos y opiniones
ya que son los expertos en este lenguaje tan bueno
TEMA: AGREGAR IMAGEN SOLUCIONADO muchas gracias !!!
- Ximorro
- Profesional del Autoit
- Mensajes: 1500
- Registrado: 10 Jul 2009, 12:35
- Ubicación: Castellón, España
Re: como agregar una imagen
He creado un tutorial super-básico que te aclarará (espero) algunos conceptos de GUIs en AutoIt, está en el foro de tutoriales:
http://www.emesn.com/autoitforum/viewto ... f=2&t=2246
Mira a ver si con eso aclaras algunos conceptos y puedes mejorar tu GUI...
Hombre no es problema seguir preguntando sobre el mismo programa cosas diferentes, lo que pasa es que cuando son consultas generales es más útil sacarlo a otro tema para que sea más fácil buscarlo para otros foreros (como lo de cómo hacer funcionar un botón, que he hecho el tutorial, a ver si de una vez por todas...).
http://www.emesn.com/autoitforum/viewto ... f=2&t=2246
Mira a ver si con eso aclaras algunos conceptos y puedes mejorar tu GUI...
Hombre no es problema seguir preguntando sobre el mismo programa cosas diferentes, lo que pasa es que cuando son consultas generales es más útil sacarlo a otro tema para que sea más fácil buscarlo para otros foreros (como lo de cómo hacer funcionar un botón, que he hecho el tutorial, a ver si de una vez por todas...).
"¿Y no será que en este mundo hay cada vez más gente y menos personas?". Mafalda (Quino)