[AYUDA] Script de resolución...!!!

Iniciado por user_foro, 21 Julio 2015, 17:01 PM

0 Miembros y 3 Visitantes están viendo este tema.

user_foro

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.

Eleкtro

#1
Desconozco el lenguaje, pero a simple vista tienes varias cosas mal.

Operators
Tables (Arrays)
System.GetDisplayInfo

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








user_foro

#2
Gracias Elektro por su ayudar, lo probaré y le cuento...!!!

user_foro

#3
Cita de: Eleкtro en 21 Julio 2015, 17:26 PM
Desconozco el lenguaje, pero a simple vista tienes varias cosas mal.

Operators
Tables (Arrays)
System.GetDisplayInfo

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...!!!

Eleкtro

#4
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!








user_foro

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...!!!

Eleкtro

lee la respuesta que edité arriba

saludos








user_foro

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...!!!

tincopasan

podés probar directamente así:
Código (actionscript) [Seleccionar]
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

user_foro

Cita de: tincopasan en 22 Julio 2015, 22:44 PM
podés probar directamente así:
Código (actionscript) [Seleccionar]
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