Apúntate a la Zona De Descargas Reservadas (ZDDR). Solo son 20 Euros
Con solo 20€ ayudarás
a mantener el foro.


Seguir a udias en Twitter
Directorio de Empresas de Foros de informática


Todo lo que sueñas, se puede diseñar.
We build your dreams.

 - Principal - Responder - Estadísticas - Registrarse - Buscar - Lista de usuarios -  - Zona de Descargas
 -Privacidad y política de cookies -
Ayuda al foro con tu donación
Foros en Udias.com / FileMaker / Leer Linea Campo de Texto
Autor Mensaje

Miembro

Constante

  Karma           303

#1 Publicado: 19 Jun 2019 10:36



Tengo un campo de texto, cuyo contenido es el acrónimo (abreviatura) de varios idiomas. Asi pues, si un producto esta en idiomas varios, ese campo contiene lo siguiente:

ES
EN
DE
RO
BG

Está separado por un retorno de carro. Los valores son tomados de una lista de valores marcando casillas y el campo, de texto los expresa asi. Con retorno de carro.

Lo que pretendo es leer la primera linea, y hacer una operación, y mediante un loop, leer la siguiente linea y operación. Y asi hasta el final.

No conozco mediante una funcion, ir a la linea de texto que desee. Establezco el numero de lineas, contando retornos.

Hay una función para ir a la linea deseada?? 1 ES, 2 EN, 3 DE, etc...

Ruego consejo o directriz...

Gracias de Antemano.


Si este mensaje te ha servido de ayuda dale tu voto Voto positivo, si quieres penalizarlo Voto positivo
El ignorante, ignora que ignora Mac OS X 10.11.6, Win 7, FMPA 15/16 , FMS 15/16

Moderador


  Karma               3299

#2 Publicado: 19 Jun 2019 11:07 - Editado por: flusheddata



Hola.
Para leer una línea determinada usa la función GetValue ( listaDeValores ; númeroValor ).
Por ejemplo, GetValue ( Idiomas ; 2 ) devolvería EN.
Sls.


Si este mensaje te ha servido de ayuda dale tu voto Voto positivo, si quieres penalizarlo Voto positivo
Pon tu sistema operativo y versión de FileMaker en tu perfil. Windows 10 Pro + FileMaker Pro 11/17 Advanced

Miembro

Constante

  Karma           303

#3 Publicado: 19 Jun 2019 11:34 - Editado por: Artone



Lo entiendo... pero... si deseo hacerlo de forma consecutiva??

Esto...
Loop
Leo linea X, Accion Y
Siguiente Registro (salir después del ultimo)
End Loop


Donde X es la linea o valor 1, 2. ,3 e Y es la accion (escribe, borra, etc).

No veo como establecer el numero de valores del campo e ir a cada uno de los valores...

Lo de la linea es, porque la linea 1 no es el valor 1 de la lista de valores. Es el primer valor seleccionado. Puede ser el 7 valor de la lista. Y estar el primero en ese campo. De hecho.. en la imagen , el selector tiene un orden y el campo muestra en el orden en que se han marcado. y a su vez, el ES el el Valor Numero 1 y el Ingles es el Numero 7 en la lista de valores, aunque aquí aparezca el segundo.

Selector Idiomas
Selector Idiomas
Campo Idiomas
Campo Idiomas

Si este mensaje te ha servido de ayuda dale tu voto Voto positivo, si quieres penalizarlo Voto positivo
El ignorante, ignora que ignora Mac OS X 10.11.6, Win 7, FMPA 15/16 , FMS 15/16

Moderador


  Karma               3299

#4 Publicado: 19 Jun 2019 13:52



Hola:
Establecer variable [$i = 1]
Ir al registro [primero]
Loop
Aquí usarías GetValue ( ListaIdiomas ; $i ) para lo que quieras.
Establecer variable [$i = $i + 1]
Siguiente Registro (salir después del ultimo)
End loop
Sls.


Si este mensaje te ha servido de ayuda dale tu voto Voto positivo, si quieres penalizarlo Voto positivo
Pon tu sistema operativo y versión de FileMaker en tu perfil. Windows 10 Pro + FileMaker Pro 11/17 Advanced

Moderador


  Karma               3299

#5 Publicado: 19 Jun 2019 14:01 - Editado por: flusheddata



Si quieres que, independientemente de en qué orden se hayan introducido los valores en la lista, se ordenen siempre igual, usa un campo de cálculo (almacenado) con la siguiente fórmula:
Case ( PatternCount ( CampoCheckBoxes ; "BG Búlgaro" ) ; "BG Búlgaro¶" ) &
Case ( PatternCount ( CampoCheckBoxes ; "CZ Checo" ) ; "CZ Checo¶" ) &
Case ( PatternCount ( CampoCheckBoxes ; "DE Alemán" ) ; "DE Alemán¶" ) &
....etc. así con todos.

Sls.


Si este mensaje te ha servido de ayuda dale tu voto Voto positivo, si quieres penalizarlo Voto positivo
Pon tu sistema operativo y versión de FileMaker en tu perfil. Windows 10 Pro + FileMaker Pro 11/17 Advanced

Moderador


  Karma               3299

#6 Publicado: 19 Jun 2019 14:59



Adjunto un ejemplo.
Sls.

ListaValores.zipArchivo adjunto: ListaValores.zip
 

Si este mensaje te ha servido de ayuda dale tu voto Voto positivo, si quieres penalizarlo Voto positivo
Pon tu sistema operativo y versión de FileMaker en tu perfil. Windows 10 Pro + FileMaker Pro 11/17 Advanced

Miembro

Constante

  Karma           303

#7 Publicado: 20 Jun 2019 09:31



flusheddata:
Establecer variable [$i = 1]
Ir al registro [primero]
Loop
Aquí usarías GetValue ( ListaIdiomas ; $i ) para lo que quieras.
Establecer variable [$i = $i + 1]
Siguiente Registro (salir después del ultimo)
End loop
Sls.

Flush... esto no es funcional.... realmente, toda la información está en el campo idiomas.

ES
EN
BG
...

Todo está ahí.

No hay siguiente registro, sino siguiente linea del campo idioma. El orden en el que introduzcan en el campo, no es relevante.
El sistema lee la linea 1 del campo idiomas. Si encuentra, por ejemplo, ES , pues tendré "ES". Si la siguiente linea es DK, pues tendré "DK". El tipo de ordenación, no es lo importante, sino la lectura de linea. A no ser que sea posible, crear en una tabla , un campo por cada uno de los check marcados. Eso si sería funcional también...

De lo que se trata este script es:

Un producto, se ha a fabricar con 3 idiomas. Se marcan los idiomas, y de la tabla FrasesRiesgo, el sistema trae a un campo de texto llamado CLP , la frase de riesgo, en cada idioma seleccionado. Para eso, lee, va a la tabla FrasesRiesgo y con PatterCount, ponemos esa frase en la tabla actual. Y así, para cada idioma.

Quizá debe comentar esto al principio. Siento si la he liado.

Gracias , siempre, por vuestra ayuda.


Si este mensaje te ha servido de ayuda dale tu voto Voto positivo, si quieres penalizarlo Voto positivo
El ignorante, ignora que ignora Mac OS X 10.11.6, Win 7, FMPA 15/16 , FMS 15/16

Miembro

Ocasional

  Karma   0

#8 Publicado: 20 Jun 2019 09:41






Si este mensaje te ha servido de ayuda dale tu voto Voto positivo, si quieres penalizarlo Voto positivo


Miembro

Constante

  Karma           303

#9 Publicado: 20 Jun 2019 09:48 - Editado por: Artone



Me auto corrijo y pido disculpas a flush...

Si es funcional el script... faltaba un dato, o yo lo interpreté mal.

Pongo pantallazo de como queda. Y es funcional....

La verdad es que es muy elegante.. y me abre un montón de caminos....

Mola...

gracias!!!

Script CLP
Script CLP

Si este mensaje te ha servido de ayuda dale tu voto Voto positivo, si quieres penalizarlo Voto positivo
El ignorante, ignora que ignora Mac OS X 10.11.6, Win 7, FMPA 15/16 , FMS 15/16

Moderador


  Karma               3299

#10 Publicado: 20 Jun 2019 11:42 - Editado por: flusheddata



Hola Artone:
si quieres recorrer las diferentes líneas de una lista yo lo haría así:

Loop
Exit loop if [ Let ( $i = $i + 1 ; $i > ValueCount ( Lista ) ]
Hacer lo que sea con GetValue ( Lista ; $i )
End loop


A mí me parece muy elegante porque en el propio paso de guión Exit loop if se establece una variable y se aumenta su valor en cada vuelta (iteración, de ahí la i en $i), comprobando en el cuerpo de la función Let si esta variable es mayor que el número de valores de la lista. Vamos, que nos ahorramos el paso de asignar la variable antes del loop al hacerlo todo a la vez.

Como dicen por aquí -lo bueno, si breve, dos veces bueno.

Un saludo,


Si este mensaje te ha servido de ayuda dale tu voto Voto positivo, si quieres penalizarlo Voto positivo
Pon tu sistema operativo y versión de FileMaker en tu perfil. Windows 10 Pro + FileMaker Pro 11/17 Advanced

Miembro

Constante

  Karma           303

#11 Publicado: 20 Jun 2019 13:37



Si que es elegante...

A pesar de los años con FM... creo que nunca he usado la funcion Let.

viviendo y aprendiendo.



gracias Flush


Si este mensaje te ha servido de ayuda dale tu voto Voto positivo, si quieres penalizarlo Voto positivo
El ignorante, ignora que ignora Mac OS X 10.11.6, Win 7, FMPA 15/16 , FMS 15/16
Su respuesta

Estilo Negrillas  Estilo Italico  Estilo Subrayado  URL De La Imagen  URL De La Web  Preformatted Text  YouTube URL  Sin código BB
Emoticones
:) ;) :up: :down: :biglol: :confused :cool: :mad: :sad: :shame: :smirk: :tongue: ... Más  Emoticones desactivados
Color de texto
Texto en negro Texto en blanco Texto en gris Texto en rojo Texto en azul Texto en verde Texto en rojo oscuro Texto en cian Texto en azul oscuro Texto en púrpura Texto en amarillo Texto en rosa Texto en naranja Texto en verde oliva Texto en marrón



 » Usuario  » Contraseña 
Solo Usuarios Registrados Pueden Postiar Aqui.
 

Tópicos relacionados con Leer Linea Campo de Texto

Cpiar la primera linea de un campo de texto y sustituir la primera linea de otro campo de texto
Seleccionar primera linea de un campo de texto
Insertar un texto de Excel de varias filas en un campo en cada linea de un portal
Como puedo insertar un texto calculado en un campo en cada linea de un portal
Leer un campo


Conectados: Invitados - 4
Miembros - 1 border=0 Tarantelo
En verde usuarios ZDDR

Realizado con miniBB © 2001-2019
Para Udias.com © 1996-2019
Hosting con Interdominios