Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: user_foro en 21 Julio 2015, 17:01 pm



Título: [AYUDA] Script de resolución...!!!
Publicado por: user_foro en 21 Julio 2015, 17:01 pm
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:

Código:
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.


Título: Re: [AYUDA] Script de resolución...!!!
Publicado por: 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í:

Código:
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


Título: Re: [AYUDA] Script de resolución...!!!
Publicado por: user_foro en 21 Julio 2015, 17:28 pm
Gracias Elektro por su ayudar, lo probaré y le cuento...!!!


Título: Re: [AYUDA] Script de resolución...!!!
Publicado por: user_foro en 21 Julio 2015, 18:06 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í:

Código:
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...!!!


Título: Re: [AYUDA] Script de resolución...!!!
Publicado por: Eleкtro en 21 Julio 2015, 18:25 pm
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:

Código:
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!


Título: Re: [AYUDA] Script de resolución...!!!
Publicado por: user_foro en 21 Julio 2015, 18:33 pm
Como ya mencioné desconozco el lenguaje, pero teorícamente se puede desglosar así:

Código:
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í:
Código:
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...!!!


Título: Re: [AYUDA] Script de resolución...!!!
Publicado por: Eleкtro en 21 Julio 2015, 18:48 pm
lee la respuesta que edité arriba

saludos


Título: Re: [AYUDA] Script de resolución...!!!
Publicado por: user_foro en 21 Julio 2015, 20:05 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...!!!


Título: Re: [AYUDA] Script de resolución...!!!
Publicado por: tincopasan en 22 Julio 2015, 22:44 pm
podés probar directamente así:
Código
  1. result = System.GetDisplayInfo();
  2. if (result ~= nil) then
  3.        if (result.Width ~= 1024) then
etc.
no es necesario que declares los valores en una variable aparte ya que lo haces directamente


Título: Re: [AYUDA] Script de resolución...!!!
Publicado por: user_foro en 26 Julio 2015, 23:29 pm
podés probar directamente así:
Código
  1. result = System.GetDisplayInfo();
  2. if (result ~= nil) then
  3.        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