Nombre de variable, variable y File Input Scroll - Forum

Forum Navigation
You need to log in to create posts and topics.

Nombre de variable, variable y File Input Scroll

Buenas tardes.

Acabo de descubrir Visualneo Web y estoy fascinado!!

Estoy haciendo alguna prueba y me surgen 2 dudas:

SetVar [indice] 1

LocalBinaryFileToBase64Var "fi[indice]" [base64d_1]

Wait 200
  SetVar [source_1] [base64d_1]
  SetObjectAttribute "img_[indice]" "style" "max-height:100%; width:auto;"
EndWait

PRIMERA: ¿Cómo puedo denominar a las variables [source_1] y [base64d_1], según el valor establecido en [indice]?

SEGUNDA: Al colocar varios File Input en un contenedor más alto que la pantalla y con el scroll vertical visible (overflow-y: scroll), al pulsarlo y activarse el evento change(files), el scroll actual del contenedor se va al inicio de la pantalla. ¿Hay alguna manera de bloquearlo o de grabar la posición previa a pulsar al File Input, para que al finalizar el código del evento change(files), poder volver a la posición de scroll previamente grabada? Dato a tener en cuenta: en la página donde tengo el contenedor, tengo overflow-x: hiddem y overflow-y: hidden.

Hola @frangarrob y bienvenido a VisualNEO Web :)

PRIMERA: ¿Cómo puedo denominar a las variables [source_1] y [base64d_1], según el valor establecido en [indice]?

Debes utilizar Arrays.

CreateEmptyArray [base64]
SetVar [base64(0)] "información en base64"
SetVar [base64(1)] "otra información en base64"
SetVar [base64(2)] "otra información diferente en base64"

Después accedes al valor guardado en [indice] de esta manera:

SetVar [indice] 1
SetVar [valorActual] [base64([indice])]

La segunda pregunta no la entiendo bien.
¿Puedes compartir un código fuente básico de ajemplo (archivo .neoapp) que muestre el problema?

Saludos!

Adjunto código.

Por un lado, me gustaría que el código change(files) de fi1, poder meterlo como una subrutina, cuyo parámetro de entrada sea: 1, 2, 3, 4,... 12, para no tener que pegarlo, ni modificarlo, en cada elemento fi, que tendrá el mismo código.

Por otro lado, verás que al hacer click en en los elementos file input, por ejemplo fi11, a la hora de seleccionar la imagen, el scroll vertical sube arriba del todo y no se queda en la ubicación actual. Por lo que, para ver la foto insertada en el elemento imagen, hay que hacer scroll hacia abajo.

Con este código pretendo limitar el tamaño de las imágenes, como paso previo a subirlas a un host, mediante: neoPhpFileWriteFromBase64

A veces me salta algún error usando el neophpserver, con localhost, TypeError: Cannot read properties of null (reading 'toDataURL') at neoCropToBase64Jpg

Uploaded files:
  • You need to login to have access to uploads.

@frangarrob tu app no se ejecuta. Por favor revísala antes de compartirla para que podamos comprobar el problema que te ocupa.
Fíjate que la manera correcta de compartir un proyecto es utilizando el menú Project > Archive/Backup. (con esto te aseguras de que no falte ningún archivo como imágenes, scripts externos, etc.)

Por otro lado, la mayoría de problemas relacionados con utilizar archivos, es que las operaciones son asíncronas. Es decir, que puede que estés intentando convertir un archivo a Base64 antes de que éste haya terminado de leerse completamente desde el disco. Asegúrate de utilizar "callbacks" o el comando Wait para estar seguro de que el contenido está disponible antes de intentar utilizarlo.

Respecto a las subrutinas, están precisamente para lo que comentas y pueden también recibir parámetros.

A ver ahora

Uploaded files:
  • You need to login to have access to uploads.

Todo solucionado con las indicaciones que me has dado y búsquedas en el foro: SetCompVar/GetCompVar y Wait.

A excepción de esto: al hacer click en en los elementos file input, por ejemplo fi11, a la hora de seleccionar la imagen, el scroll vertical del container sube arriba del todo y no se queda en la ubicación actual. Por lo que, para ver la foto insertada en el elemento imagen, hay que hacer scroll hacia abajo.

Al hacer click en en los elementos file input, por ejemplo fi11, a la hora de seleccionar la imagen, el scroll vertical del container sube arriba del todo y no se queda en la ubicación actual.

@frangarrob No es un problema relacionado con VisualNEO Web, sino que es el comportamiento por defecto del navegador al utilizar elementos con posicionamiento absoluto. He estado haciendo pruebas en aplicaciones que no son responsive y pasa lo mismo, pero con aplicaciones responsive esto no sucede.

Siento no poder ofrecerte otra solución que hacer que la aplicación sea responsive para este problema en concreto.