Página 1 de 1

ejecutar variable como código autoit

Publicado: 26 May 2010, 03:44
por taoru
hola!.

ando con una duda, necesito ejecutar variables dentro de otras variables.
am, dificil de entender, jaja, bueno, lo explico mejor:

lo que quiero hacer es cargar un archivo, en este caso config.txt:
dentro de este archivo tengo variables y sus valores, lo que quiero saber si existe una función autoit que ejecute como si fuese código lo que está dentro de una variable?.

cargo mi archivo asi:

Código: Seleccionar todo

$variables=FileRead("/config.txt")
lo que esta dentro del config.txt es:

Código: Seleccionar todo

$sonido=1
$titulo="contenidos de la base de datos"
$item1="artículos"
$item2="tesis"
$item3="comentarios"
intento si puedo ejecutar ese contenido como si fuese código autoit, y luego acceder a esas variables como si fuese que están declaradas dentro de mi script.
busco esta función pero no la encuentro, existe?.

gracias!

Re: ejecutar variable como código autoit

Publicado: 26 May 2010, 07:53
por Ximorro
¿Sólo quieres asignar valores a variables o ejecutar código arbitrario?
Desde luego son cosas diferentes, lo digo porque las dos son posibles, pero el segundo es bastante más difícil.
Asignar variables se hace muy cómodamente con archivos INI, así que si es eso nos lo concretas y te lo explicamos.

Pero vaya, así rápido:
Tienes un INI llamado config.ini con este contenido, por ejemplo:

Código: Seleccionar todo

[Variables]
tiempo=1
nombre=Soy yo
En AutoIt, para leerlo y asignarlo haces lo siguiente:

Código: Seleccionar todo

$tiempo = IniRead("config.ini", "Variables", "tiempo", 1)
$nombre = IniRead("config.ini", "Variables", "nombre", "Nombre por defecto")
¡Y ya está! Te explico algunas cosas..
[Variables] es la sección del INI, tiene que haber al menos una (con el nombre que quieras)
Los nombres de las variables no tienen por qué ser iguales en el Ini o en AutoIt, la llamada en AutoIt es:
VARIABLE_AUTOIT = IniRead(NOMBRE_INI, NOMBRE_SECCION, VARIABLE_INI, VALOR_POR_DEFECTO)

Así que dices qué VARIABLE_INI va con qué VARIABLE_AUTOIT por código, no tienen que ser iguales. Por cierto, no se pone el $ en el Ini, sólo en AutoIt.

El valor por defecto es por si AutoIt no encuentra esa variable en el ini, es opcional ponerlo.

NOMBRE_INI tiene que encontrarlo, si no está en la misma carpeta que el programa tendrás que ponerle el path correspondiente.

Bueno, espero que fuera esto lo que querías, si lo que quieres es ejecutar un script dentro de otro ¡esto no tiene nada que ver! :smt002