Problemas con variables

Post a reply


In an effort to prevent automatic submissions, we require that you complete the following challenge.
Smilies
:D :) ;) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :!: :?: :idea: :| :mrgreen: :geek: :ugeek: :arrow: :angel: :clap: :crazy: :eh: :lolno: :problem: :shh: :shifty: :sick: :silent: :think: :thumbup: :thumbdown: :salute: :wave: :wtf: :yawn: :facepalm: :bravo: :dance: :beard: :morebeard: :xmas: :HeHe: :trollface: :cookie: :rainbow: :monkeysee: :monkeysay: :happybday: :headwall: :offtopic: :superhappy: :terms: :beer:
View more smilies

BBCode is ON
[img] is OFF
[flash] is OFF
[url] is ON
Smilies are ON

Topic review
   

Expand view Topic review: Problemas con variables

Re: Problemas con variables

Post by gmoises » 26 Aug 2021, 20:34

Code: Select all

Global log     := ["pepe", "Juan"]
	,  logfarm := [2,1] 

función(2)

función(vtlog) {
	tmp1 := logfarm[vtlog]
	MsgBox % tmp1        ; 1
	tmp2 := log[tmp1]
	MsgBox % tmp2        ; pepe
	MsgBox % log[1]       ; pepe
}

Re: Problemas con variables

Post by sofista » 26 Jul 2021, 08:39

Raro. Cuando probé tu código me dio el siguiente mensaje de error

Code: Select all

The following variable name contains an illegal character:
"log[]"
de modo que no obtuve ningún resultado. Al declarar correctamente las globales todo salió como lo mencioné en mi mensaje anterior.

Todo esto lo probé con Windows 10, 64-bit, AutoHotkey 1.1.33.09.

Es posible que en tu sistema algún otro script o aplicación esté interfiriendo, quizás un reinicio lo solucione.

Por ahora no se me ocurre otra cosa.

Re: Problemas con variables

Post by Saiph4728 » 26 Jul 2021, 01:57

sofista wrote:
25 Jul 2021, 10:05
Hola: Sugiero que pruebes esta otra declaración:

Code: Select all

Global log := [], logfarm := []
Los mensajes que se muestran son, sucesivamente, "1", "pepe" y "pepe".
Gracias por responder, si, es lo que deberia salir, pero en mi caso solo saldría impreso "1", null, "pepe", ese es mi problema.

Re: Problemas con variables

Post by sofista » 25 Jul 2021, 10:05

Hola: Sugiero que pruebes esta otra declaración:

Code: Select all

Global log := [], logfarm := []
Los mensajes que se muestran son, sucesivamente, "1", "pepe" y "pepe".

Problemas con variables

Post by Saiph4728 » 25 Jul 2021, 09:38

Buenas, tengo el siguiente código dentro de una función, las array (log y logfarm) son globales, los datos que extraigo de ellas provienen de un archivo excel y creo que tengo problemas con ellas por que algunos datos a veces van bien y otras van mal o yo ya no se que hacer XD.

En este código de ejemplo:

Code: Select all

Global log[], logfarm[] ; esto es lo que tengo en la cabecera del script, declaradas las dos como globales.

log := ["pepe", "Juan"] ; No es así como los añado, lo hago desde excell pero lo expongo así para que veais el ejemplo con esos valores.
logfarm := [2,1] 

función(2) ; llamada a la función con el parámetro 2

función(vtlog)
          {
			tmp1 := logfarm[vtlog]
			MsgBox % tmp1 ; me da como resultado el valor 1
			tmp2 := log[tmp1] ; Introduce el valor de la posición 1 de log (tmp1) en tmp2
			MsgBox % tmp2  ; me da como resultado null
                        
			MsgBox % log[1] ; en cambio este, que se supone que es lo mismo que MsgBox % tmp2, me da como resultado "Pepe", que es lo que busco.
          }
Es lo que no entiendo y seguro que es algo muy sencillo y no caigo, creo que están definidas de la misma manera y porque una si funciona (tmp1 := logfarm[logfarm] y la otra me da valor null? (tmp2 := log[tmp1].

Los datos de las arrays las extraigo de un archivo excel, no se si será ese el problema o es que defino mal las variables, pero me ocurre con unos datos si y otros no, por lo que he llegado a declarar fijos en el código los que me salen mal y no en el excel para no comerme mas la cabeza y dejar los demás que los extrae bien.

El problema está ahí, en las variables, pero no se porque.

Top