Usando variables en el nombre de la rutaHola,
Por favor, perdóneme si esta es una pregunta trivial, no tengo mucha experiencia trabajando con JSL.
Estoy tratando de agregar una imagen a la etiqueta flotante usando código JSL y quiero definir la ruta de la imagen usando una variable. Tengo una carpeta de imágenes y quiero que se llamen usando una variable en mi tabla.
Por ejemplo, mis imágenes están etiquetadas del 1 al 100 y tengo una columna en mi tabla llamada "número de imagen". Quiero poder llamarlos, así:
PictureBox (Abrir ("c: / iris /" número de imagen ".jpg", jpg));
¿es posible?
¡Muchas gracias!
ScriptingRe: uso de variables en el nombre de la rutaSí, alguna variación de esto:
img << saveimage( "f:/path/x" || Char( imagenumber ) || ".png", "png" );
x es el prefijo antes del número y no es requerido por el sistema operativo.
Re: uso de variables en el nombre de la ruta¡Gracias! Lo probaré.
Re: uso de variables en el nombre de la rutaUsar un número de imagen específico funciona bien, pero no puedo insertar un nombre de variable (la columna de variable es "número de imagen") en esta ruta, por ejemplo, lo siguiente no funciona. ¿Algúna idea de cómo arreglar esto?
PictureBox(Open("c:/iris/" || :picture number|| ".jpg", jpg));
Re: uso de variables en el nombre de la rutaSi echa un vistazo al ejemplo de Hover Label Editor para Picture Graphlet
// Example:
// Graph Builder(Variables(Y(local:_measurements[1])), Elements(Histogram(Y)))
// Example:
// PictureBox(Open("c:/iris/" || local:_Species || ".jpg", jpg));la sintaxis parece ser un poco especial. Quizás funcionaría con algo como esto:
PictureBox(Open("c:/iris/" || char(local:_picture number)|| ".jpg", jpg));Re: uso de variables en el nombre de la rutaConsulte el registro para ver si hay mensajes. Uno o más de los siguientes pueden ayudar.
Cree el nombre de la ruta en una variable e imprímalo en el registro, luego pase la variable para abrir.
Agregue comillas alrededor del segundo parámetro para abrir.
Agregue el alcance de la tabla de datos antes del nombre de la columna.
Agregue un subíndice de número de fila después del nombre de la columna.
editar: use la función char () para convertir numérico en carácter.
filename = "c:/iris/" || char(dt:picture number[1]) || ".jpg";
show(filename);
PictureBox(Open( filename, "jpg"));
Re: uso de variables en el nombre de la rutaEs posible que desee comprobar este hilo. Tenían el mismo caso de uso. El hilo contiene muchos ejemplos de secuencias de comandos que deberían resultarle útiles.
Etiqueta flotante
Re: uso de variables en el nombre de la rutaMuchas gracias, esto funciona muy bien.
Re: uso de variables en el nombre de la rutaVaya, excelente ejemplo, @jthi ! ¡Gracias por compartirlo!
El truco aquí es que cuando está construyendo el nombre fino de la imagen a partir de una columna de la tabla, debe indicar el nombre de la columna Y la fila. Dentro del espacio de nombres local poblado por el contexto de ejecución del graflet, la fila actual está disponible en la variable local: _firstRow. Por lo tanto, la construcción:
Picture Box(Open(Column("PicAdress")[local:_firstRow],jpg))
Para obtener más información sobre esta y otras variables, consulte Contexto de ejecución de etiqueta flotante .
Re: uso de variables en el nombre de la rutaGracias por las respuestas.
Tengo una pregunta de seguimiento. Quiero que la etiqueta flotante obtenga la dirección del archivo de una columna. Mi columna tiene la dirección en sí, por ejemplo, el texto en mi Colum (llamado PicAdress) es "c: /iris/picNumber.jpg".
Sin embargo, no puedo hacer que la etiqueta de la cabaña acepte esta variable. he intentado usar:
PictureBox(Open(local:_PicAdress, jpg))
sin éxito.
Cuando simplemente ingreso la dirección en la columna, no hay problema.
PictureBox(Open("c:/iris/" || local:_PicAdress || ".jpg", jpg))
¿Algún consejo?
Re: uso de variables en el nombre de la rutaIntente revisar el registro para ver qué errores está obteniendo. Lo más probable es algo como esto: "El espacio de nombres" local_ "no está definido en el acceso o evaluación de 'local_: PicAdress'".
Prueba algo como esto:
Picture Box(Open(Column("PicAdress")[local:_firstRow],jpg))
Más información posiblemente de: ¿Cómo ejecutar una consulta al pasar el mouse, utilizando datos del punto de datos subyacente?
Editar:
Agregué un script de ejemplo. Creará un par de archivos (10 por defecto) en $ TEMP (e intentará eliminarlos al cerrar la ventana) y creará una ventana con dos constructores de gráficos:
- Primero construirá la ruta a partir de los datos en el generador de gráficos usando esta idea:
PictureBox (Abrir ("c: / iris /" || local: _PicAdress || ".jpg", jpg))
- El segundo es usar solo la información de fila del generador de gráficos y obtener datos basados en la fila de la tabla de datos
Cuadro de imagen (Abrir (Columna ("PicAdress") [local: _firstRow], jpg))