¿Alguien sabe decirme cómo se tratan los "Arrays" en Neobook 4? En la versión 5 de Neobook se cuenta con acciones para obtener el número de elementos de un "Array", por ejemplo.
¿Hay forma de hacer lo propio en Neobook 4? Acabo de encontrarme con un error que afecta a todos mis NeoPlugins en Neobook 4.
El error estriba en que antes de la ejecución de cualquier acción los plugins inicializan una serie de variables, entra las que puede encontrarse un "Array". Bien. Con Neobook 5 no hay problema, pero, sí con Neobook 4.
Y, por otro lado, además de ese error, que tal vez pudiera solucionar de algún modo, temo más el hecho de que algunas acciones de mis NeoPlugins retornan una variable "Array" como resultado.
Ahora bien, si no puede averiguarse cuántos elementos tiene el "Array", ¿Cómo puede entonces recorrerse el mismo? Tal vez haya alguna forma, pero, la ideal podría ser la que Neobook 5 proporciona: una acción para conocer el número de elementos de un "Array".
¿Se te ocurre algo al respecto? Porque ahora mismo no puedo decir, en honor a la verdad, que mis Plugins sean compatibles con Neobook 4... sino sólo con Neobook 5...
Éramos pocos y parió la abuela, suele decirse en casos así.
Publicada el Lunes, 6/8/2007 por David Esperalta
Suscribirse a esta entrada - URL para Trackbacks
Hola, Me pregunto si es que tal vez todos usamos Neobook 5...
Efectivamente David no hay funcion nativa en Neobook 4 que permita tener un control sobre los arrays... recordemos q la unica funcion que trae para estos en esa version es DeleteArray. Pero si lo trae como funcion interna y lo comprobas usando un StrParse (creo que ya lo sabes). Lo que se me ocurre que se puede hacer es armar un loop con un numero que sea bien grande que compruebe si el valor por ej [ARRAY[i]] es igual a nada si es asi llegamos al final del array creado y tenemos la cantidad de elementos en i-1. Se entendio? Es solo una idea. Salu2
Hola, Gracias por tu comentario BuNKeR. Había pensado en algo similar a lo que dices, de veras, pero,... se me hace un poco raro borrar un Array así... a bulto... sin saber cuántos elementos tiene... podemos borrar, ¿1000 elementos?, pero si el Array tiene 10.000... De todos modos algo tengo que hacer con ese asunto. Los NeoPlugins no funcionan ahora mismo en Neobook 4, o, por mejor decir, funcionan, pero tienen el problema que tienen. Y, por otro lado, es cierto que no se trata de todos los Arrays. Me explico. Se trata de inicializar, básicamente, la variable "resultado" de las acciones de mis NeoPlugins, que en alguna ocasión es un Array. Ahí sí podríamos (con algo más de seguridad, pero, ninguna elegancia) borrar un determinado monto de elementos. También hay otras variables Arrays en los NeoPlugins, sobre todo en NeoFeeds, pero, en fin, también podríamos hacer algo parecido... si no hay más remedio. De todos modos voy a hacer unas cuantas pruebas cuando pueda. ¿Por qué digo esto? ¿Es que no he hecho ya pruebas? Pues no, sobre este asunto no. Encontré el error mientras estaba liado con otros temas y no me paré lo suficiente con el mismo. Bueno. Creo que se podrá hacer algo. Ya veremos. En todo caso gracias por tu interés BuNKeR. Muchas gracias.
Hola, Se me olvidó comentar otra cosa... vale que, internamente, los plugins hagan alguna "ñapa" para "borrar" ciertas variables "Array", pero, ¿qué pasa con los usuarios del plugin? Porque algunas acciones retornan variables de tipo "Array", y si los usuarios no pueden saber cuántos elementos hay en ese "Array"... ¿tendrán que hacer la misma "ñapa" que el plugin? Todo esto se me hace demasiado "feo", y casi estoy por decir que los plugins no son compatibles con Neobook 4, y que necesitan de Neobook 5 ó superior para poder funcionar. O tal vez pudiera prepararse una acción, pensada para Neobook 4, que fuera capaz de retornar el total de elementos de un determinado "Array"... pero, no sé, no lo tengo claro todo esto. En fin. Ya veremos, que dijo un ciego.
Hola David... si te referis a borrar elementos (todos de un array) se usaba asi DeleteArray "[array]" "ALL", si mal no recuerdo con eso conseguiamos borrar todos los elementos del array sin saber la cantidad. La idea q expuse antes... Inicializas un array... con una funcion a crear preguntas si el elemento [array[i]] (comenzamos con 1) tiene algun valor, si tiene algun valor aumenta i y continua preguntando, si no tiene un valor la cantidad de elementos esta en i-1. Perdon por repetir pero en el comentario anterior puse el ejemplo usando un loop con un numero grande,al hacer esto estamos limitando la cantidad de elementos...En cambio de este modo con un simple while vamos a calcular la cantidad de elementos de un array para despues poder recorrerlo. Se entendio? No se si me expliq bien...Salu2
Hola David....luego del comentario... Baje el Neobook 4 y me puse a hacer unas pruebas...creo q lo logre...aca dejo mis pruebas incluye el ejemplo en .exe y .pub. Espero q los veas y me digas si te sirvio o no...Ojala sea util jeje link: http://www.tucumanlive.net/bunker/array.rar Salu2
Hola, Gracias BuNKeR por tu interés. Ahora le echaré un vistazo al ejemplo que dices. Llevas razón en lo de utilizar un "while" e ir borrando elementos de un supuesto "Array" siempre que no estén vacíos. En todo caso habría que echar un vistazo antes. Respecto de usar el "All" para indicar que se quieren borrar todos los elementos de un "Array", ¡así me di cuenta del problema! Resulta que Neobook 4 no admite el parámetro "All". Bueno. Gracias de nuevo. Voy a ver ahora el ejemplo que has sido tan amable de preparar. PD. No quiero dejar de decir una cosa. Puede que consiga que los plugins sean capaces de borrar "Arrays" en Neobook 4 y 5, pero, ¿qué hay de los usuarios? No sé, no sé... Nadie se ha quejado en realidad. De las personas que han descargado e instalado los NeoPlugins, parece que todos tienen Neobook 5, ¡porque este error de que hablamos aquí se produce nada más tratar de usar un plugin, esto es, si hubieran instalado los plugins en Neobook 4 se habrían dado cuenta enseguida! Claro que también puede ser que alguien se diera cuenta y no dijera nada... En fin. Ahora sí, voy a ver el ejemplo. :) Gracias otra vez BuNKeR.
Espero hayas bajado el ejemplo con la opcion de borrar el array...borra este comentario... al no poder mandar privados lo tuve q hacer...perdon. P/D: Creo q todos usamos Neobook 5 :D
Hola, Sí, sí que bajé el ejemplo, gracias BuNKeR. O sea que sí, que los usuarios pueden trabajar con "Arrays" en Neobook 4, aunque no cuenten con la acción "GetArrayInfo" que proporciona Neobook 5.
Ah, se me olvidaba... si quieres incluir código de Neobook en los comentarios puedes hacerlo usando la etiqueta "