Página 1 de 1

problema con variables

Publicado: 23 Ago 2010, 03:49
por Loop
hola soy nuevo por aki y estoy apenas conociendo lo que es Autoit es cual se me hace muy interesante, lo que pasa es que tengo un problema con las variables estoy haciendo una pequena aplicacion en la cual necesito usar variables pero no termino de entender como manejarlas espero me puedan ayudar

Re: problema con variables

Publicado: 23 Ago 2010, 08:45
por Ximorro
Podrías poner al menos un trozo de código donde tengas problemas para ver en qué te falla.
Para las cosas básicas deberías empezar mirando el manual, practicar a partir de ahí y poner entonces las dudas, ¡no se puede empezar la casa por el tejado!
Por cierto, que el equipo de novii ha traducido el manual a castellano, por si tienes problemas con el inglés, haz una búsqueda, en el foro de Tutoriales/Documentación tienes los enlaces.

Respecto a las variables mejor será que hagas más concreta la duda o pongas código a ver cuál es el problema. Iba a empezar a explicarte el asunto, que falta de ganas de ayudar no es, pero ponerme a explicar absolutamente toda la historia de las variables puede consumir bastante tiempo cuando probablemente no necesitarás tanto detalle.

Aquí lo básico básico básico:
Una variable es un contenedor de datos, puede contener un número (entero o real), una cadena de caracteres (muchas veces llamados String, por su nombre en inglés), valores lógicos (cierto/falso), etc...
A una variable le das un nombre, precedido por el carácter "$", esa es la manera que tiene Autoti para detectar variables. Se les asigna un valor con el operador "=", ej:
$valor1 = 23

Se les puede asignar expresiones, entonces guardarán el resultado de la expresión:
$c = 23 + 15

Más adelante se puede usar ese nombre de variable donde podrías usar un valor directo, por ejemplo esto pone en $c la suma de $a y $b
$a = 23
$b = 15
$c = $a + $b


Las variables pueden usarse muchas veces en diferentes expresiones, el nombre "variable" indica que se le puede cambiar el valor cuando quieras:
$a = 23
$b = 15
$c = $a + $b ;aquí suma 23+15
$a = 10 ;$a ya no vale 23, ahora vale 10
$c =$a + $b ;ahora suma 23+10, hemos cambiado el valor de $c


Bueno, al final te he contado algo, muy básico, hay mucho más, como te digo investiga un poco el asunto, aprende lo básico en el manual y postea las dudas, si nos pones "No sé AutoIt, ¡contádmelo todo!" ¡¡No sabremos por dónde empezar!!

Re: problema con variables

Publicado: 23 Ago 2010, 15:28
por Loop
ok muchas gracias por contestar mi pregunta creo que tengo mucho que leer aunque ya habia leido pero no logre entender del todo, mira lo que necesito hacer es copiar un string (.txt) el cual esta cambiando continuamente este se genera en un determinado folder y si existe dicho txt me regrese de otro folder un archivo que se llama igual pero este es .zip y que haga un loop cada determinado tiempo, cuando yo envio dicho txt se genera el zip en lo que yo hice me regresa todos los zip que encuentra esto es lo poco o casis nada que hice
;Dim $snum
;$snum =

FileCopy ( "C:\logs\*.txt", "E:\logs")
if FileExists ("E:\logs") then
FileMove ("E:\logs\*.txt", "c:\loks")
sleep(5000)
FileDelete("C:\loks\*.txt")
Ping ( "127.0.0.1")
EndIf

Re: problema con variables

Publicado: 24 Ago 2010, 08:29
por Ximorro
Ejem, yo diría que el problema no era precisamente de variables... ;-)

Para empezar lo que quieres copiar no es exactamente un string, sino un archivo, quiero decir que no estás interesado en manipular strings, para copiar/mover/borrar archivos no hay que mirar dentro de ellos, y esas cosas se hacen igual sean TXT o JPG, por ejemplo.

No quiero ponerme a hacer código porque hay algunas cosas que no tengo claras e igual me pongo a hacer cosas que no son lo que quieres, a ver...
¿el txt lo genera una aplicación externa? ¿cómo se llama ese archivo? ¿es un único archivo cuyo contenido va cambiando, o va generando diferentes archivos con diferentes nombres?
¿el zip está generado cuando vas a cogerlo o tienes que hacerlo tú?

Respecto al programa que has hecho te comento por qué no funciona a ver si lo puedes arreglar tú, fíjate en lo que haces:
En la primera línea copias TODOS los txt de c:\logs a e:\logs, ¿para qué haces eso?, puedes mirar si existe el archivo en la carpeta original...
Luego miras si existe EL DIRECTORIO e:\logs, esto seguramente no es lo que quieres hacer, lo que tienes que mirar es el archivo txt concreto ¿no?, vaya, la carpeta seguro que existe si estaba desde el principio, si no estaba de todas maneras te va a fallar el copy anterior...
Y luego mueves TODOS los archivos txt que has copiado a otra carpeta c:\locs ¿por qué tanto movimiento? podías haber copiado aquí directamente al principio
Y a los 5 segs de moverlos... los borras
El ping no hace nada.

No creas, no está tan mal, veo que lo has intentado y te has pegado con esas funciones, seguramente lo que quieres hacer se hace con esas funciones pero organizándolas de otra manera (bueno, si tienes que hacer zips eso va a ser más complicado).
Tienes que intentar traducir lo que pones a tus palabras, a ver si lo estás poniendo bien, es más o menos lo que te he puesto arriba, y es por lo que veo que no va del todo bien, porque no es lo que quieres:
Copio todos los archivos TXT de c:\logs a e:\logs
Si existe LA CARPETA e:\logs...
Si analizas de esta manera sabrás mejor si estás diciéndole al programa lo que quieres.

Re: problema con variables

Publicado: 24 Ago 2010, 15:34
por Loop
Ok mira el txt si es generado por un programa externo y siempre esta cambiando de nombre por eso creo que necesito la variable, al copiar el txt de un folder a otro otro programa externo lo procesa y me genera un .zip con el mismo nombre y este .zip es el que necesito yo obtener, el programa que genera el .zip genera muchos mas de otras aplicaciones y no quiero copiarlos todos sino nadamas el que yo le envie
Gracias por la ayuda sigo intentando modificar mi utileria

Re: problema con variables

Publicado: 25 Ago 2010, 09:56
por Ximorro
Entonces lo mejor es que captures de alguna manera el nombre de ese txt (que será el correspondiente del zip). Así se trata de copiar sólo ese archivo, y como sabes el nombre generado del ZIP, sólo hay que coger ese. Si no sabes cuál quieres va a ser complicado, mira a ver qué forma tiene, cómo distinguirlo de los demás de esa carpeta... ¿o es que sólo hay uno en la carpeta de los txt?
Si hay varios y por nombre no se puede quizás habría que mirarlo por fecha de creación, no es tan fácil pero supongo que por ahí...