Hola a todos, necesito de su(s) ayudame en esto porfa:
Nota: Ejecutable hecho en AutoPlay Media Studio.
-Quiero que al ejecutar mi autoplay corrobore que el PC esté en una resolución de 1360 x 768 y si es así que se inicie mi autoplay.
Ahora bien, si el PC (en el que voy a ejecutar mi autoplay) está en otra resolución, debe aparecer un mensaje que diga que este sistema funciona con una resolución de 1360x768 y se cierre la aplicación del autoplay (Salir).
P.D.: No soy programador, ni nada por el estilo, solo saco ideas y trato de hacerlas funcionar, pero esto me la ganó.
===================================
Aquí un script inventado que no me resulta:
Resolution = ("1360, 768")
System.GetDisplayInfo(Width, Height);
if Resolution then
Application.Sleep(1000); ==> Esto hace que espere 1 segundo antes de pasar a la siguiente orden
Page.Jump("lengueta de mi proyecto y/o pagina de programación o que deje iniciar mi programa");
else
Dialog.Message("Autoplay Media Studio", "Este sistema funciona con una resolución de 1360x768", MB_OK, MB_ICONINFORMATION, MB_DEFBUTTON1);
Application.Exit();
end
===================================
De antemano Muchas Gracias...!!!
[NOTA DEL MODERADOR]: UTILIZA LAS ETIQUETAS PARA INSERTAR CÓDIGO.
Desconozco el lenguaje, pero a simple vista tienes varias cosas mal.
➢ Operators (http://www.indigorose.com/webhelp/suf9/Scripting_Guide/Expressions_and_Operators.htm)
➢ Tables (Arrays) (http://www.indigorose.com/webhelp/ams/Scripting_Guide/Tables_%28Arrays%29.htm)
➢ System.GetDisplayInfo (http://www.indigorose.com/webhelp/tu/Program_Reference/Actions/System.GetDisplayInfo.htm)
Prueba así:
resolution = {"1360","768"};
displayInfo = System.GetDisplayInfo();
if (displayInfo.Width ~= resolution[0]) or (displayInfo.Height ~= resolution[1]) then
Dialog.Message("Autoplay Media Studio", "Solo soporta 1360x768", MB_OK, MB_ICONINFORMATION, MB_DEFBUTTON1);
Application.Exit();
else
Application.Sleep(1000);
Page.Jump("ADE");
end
Saludos
Gracias Elektro por su ayudar, lo probaré y le cuento...!!!
Cita de: Eleкtro en 21 Julio 2015, 17:26 PM
Desconozco el lenguaje, pero a simple vista tienes varias cosas mal.
➢ Operators (http://www.indigorose.com/webhelp/suf9/Scripting_Guide/Expressions_and_Operators.htm)
➢ Tables (Arrays) (http://www.indigorose.com/webhelp/ams/Scripting_Guide/Tables_%28Arrays%29.htm)
➢ System.GetDisplayInfo (http://www.indigorose.com/webhelp/tu/Program_Reference/Actions/System.GetDisplayInfo.htm)
Prueba así:
resolution = {"1360","768"};
displayInfo = System.GetDisplayInfo();
if (displayInfo.Width ~= resolution[0]) or (displayInfo.Height ~= resolution[1]) then
Dialog.Message("Autoplay Media Studio", "Solo soporta 1360x768", MB_OK, MB_ICONINFORMATION, MB_DEFBUTTON1);
Application.Exit();
else
Application.Sleep(1000);
Page.Jump("ADE");
end
Saludos
Elektro, probé su script (MOD) y al hacerlo funcionar con otra resolución me sale el mensaje y me saca del programa, lo que es justo lo que quiero, pero el problema es el siguiente, cuando edito la resolución de su script y la cambio por ejemplo en 1024x600 ( Ejemplo: Resolution = {"1024, 600"}; ) y lo ejecuto en esa misma resolución me sale lo mismo (Mensaje y salir), lo cual debería poder ejecutar mi programa (o enviarme a la primera pagina "ADE" o lengueta de programación de mi proyecto).
Ayudeme por favor...!!!
Como ya mencioné desconozco el lenguaje, Interpreté incorrectamente los operadores "or" y "and".
El siguiente código es un poco feo, y con una función que no devuelve nada, pero creo que esto si que te debería funcionar, prueba:
resolution = {1360, 768};
displayInfo = System.GetDisplayInfo();
if (displayInfo.Width ~= resolution[0]) then
Exit();
elseif (displayInfo.Height ~= resolution[1]) then
Exit();
else
Application.Sleep(1000);
Page.Jump("ADE");
end
function Exit()
Dialog.Message("Autoplay Media Studio", "Solo soporta 1360x768", MB_OK, MB_ICONINFORMATION, MB_DEFBUTTON1);
Application.Exit();
end
Saludos!
Cita de: Eleкtro en 21 Julio 2015, 18:25 PM
Como ya mencioné desconozco el lenguaje, pero teorícamente se puede desglosar así:
resolution = {1360, 768};
pantalla = System.GetDisplayInfo();
si (pantalla.Ancho es distinto a 1360) o si (pantalla.Alto es distinto a 768) entonces...
Salir
...
de lo contrario
Seguir
...
end
Si realmente estás usando la misma resolucion que asignaste, entonces no debería dar problemas... pero de todas formas no puedo testearlo.
Prueba a usar enteros en lugar de cadenas de texto aquí:
resolution = {1360, 768}
(es decir, elimina las comillas dobles, que se me pasó por alto eliminarlas en el primer código que te mostré)
Arriba te dejé un enlace con los operadores del lenguaje... no ser programador no te excluye de leerlo y tratar de ponerlo en práctica, ya que quieras o no estás programando.
En lugar de un "or" puedes probar a utilizar un "and" para comprobar si ambas condiciones se evaluan cómo True, y si no lo hacen, salir del programa, de hecho ahora que lo vuelvo a leer creo que le dí un significado equivocado al "or", prueba así:
Saludos!
Ahora estoy entendiendo estos Jeroglíficos (Es entretenido esto), tengo entendido que lo que estoy haciendo esta hecho sobre lenguaje de programación LUA.
Seguiré probando, gracias...Cualquier cosa le aviso...!!!
lee la respuesta que edité arriba
saludos
Cita de: Eleкtro en 21 Julio 2015, 18:48 PM
lee la respuesta que edité arriba
saludos
Elektro utilicé el script mod que citas y no pasa nada queda igual que los demás...
Parece que el problema es netamente de como recepcionar la resolución real del pc con un script y con ese dato de la resolución hacer que cierre o abra el programa...!!!
podés probar directamente así:
result = System.GetDisplayInfo();
if (result ~= nil) then
if (result.Width ~= 1024) then
etc.
no es necesario que declares los valores en una variable aparte ya que lo haces directamente
Cita de: tincopasan en 22 Julio 2015, 22:44 PM
podés probar directamente así:
result = System.GetDisplayInfo();
if (result ~= nil) then
if (result.Width ~= 1024) then
etc.
no es necesario que declares los valores en una variable aparte ya que lo haces directamente
Gracias por tu ayuda... Lo modifiqué un poco (Casi nada) y me sirvió...!!!
MUCHAS GRACIAS