FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Leer texto caracter a caracter
Hola a todos.
Estoy creando un procedimiento almacenado en Interbase 7.5 y me encuentro con el siguiente problema: Necesito generar una cadena de texto de un máximo de 160 caracteres. Generar la cadena no es problema, comprobar la longitud de la misma, tampoco, pero una vez que localizo que tiene más de 160 caracteres (cuando se da el caso), necesito "recortarla" a dicha longitud. Mi idea era utilizar SUBSTR, pero está función solo soporta una cadena de 80 caracteres. Me pregunto si existe otra función que me permita tomar solo una parte de la cadena original, un equivalente al LeftStr de Delphi, por ejemplo. Otra solución que me han propuesto es meterme en un bucle e ir copiando la cadena caracter a caracter, pero no me funciona:
Al compilar el procedimiento me indica "Invalid array reference", supongo que refiriendose a: . TEXTO está definida como VARCHAR de 160, quizá el problema esté ahí. ¿Alguien me puede dar una idea? Muchas gracias, saludos a todos. |
#2
|
||||
|
||||
¿Mayúsculas y minúsculas? Lo digo porque en un sitio usas "I" y en otro "i". Claro que teóricamente SQL no diferencia...
|
#3
|
|||
|
|||
Hola.
Parece que la i minúscula se pone al aplicar la etiqueta SQL, en el procedimiento está siempre en mayúsculas. |
#5
|
|||
|
|||
Hola.
Gracias por la respuesta. Le echare una ojeada, pero no se si me van a permitir utilizarlas. A ver si localizo alguna otra solución. Saludos. |
#6
|
|||
|
|||
Prueba...
Kikecg:
¿Como utilizas la función? En Firebird yo la utilizo así y me funciona perfectamente:
Se que dices que estás utilizando Interbase 7.5, pero aún así se me hace raro que está función la reduzcan a solo 80 caracteres (como lo mencionas). Saludos, Gerardo Suárez Trejo |
#7
|
||||
|
||||
Cita:
__________________
"Como pasa el tiempo..... ayer se escribe sin H y hoy con H" |
#8
|
|||
|
|||
Kikecg:
Deja intento hacer lo que tu quieres utilizando un procedimiento almacenado. Voy primero a tomar un baño y cuando regrese intento el procedimiento almacenado. Atte: Gerardo Suárez Trejo PD. Si la reducen a 80 caracteres, entonces se podría hacer en dos paso, ¿o no? Última edición por Gallosuarez fecha: 17-11-2010 a las 18:01:13. |
#9
|
|||
|
|||
Posibles soluciones ...
Kikecg:
¿Puedes verificar si esto de sirve? Solución 1
Solución 2
Me parece, que esto resuelve tu problema... Saludos, Gerardo Suárez Trejo |
#10
|
||||
|
||||
Mimi
Cita:
Prueba con StringList |
#11
|
|||
|
|||
No hay manera
Hola.
Agradezco las opciones presentadas, debo decir que aún no he podido conseguir lo que necesito. Parece que no puedo utilizar SUBSTRING dentro de un procedimiento almacenado, al tratar de compilarlo obtengo un "Function unknown. SUBSTRING". No me acepta ni
ni
En el primer caso me indica: "Token unknown - line 368, char 29. FROM.", y en el segundo función desconocida. Empiezo a pensar que no se va a poder... Gracias por las opciones, seguiré investigando... |
#12
|
||||
|
||||
Substring es una función definida en Firebird, lo siento no conozco su equivalente en Interbase.
__________________
Marc Guillot (Hi ha 10 tipus de persones, els que saben binari i els que no). |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
capturar el caracter "enter" en caja de texto | NuncaMas | Varios | 5 | 12-03-2010 18:07:15 |
leer caracter por caracter, una linea de un memo | douglas | OOP | 1 | 05-10-2007 06:59:31 |
Comparar un caracter de una caja de texto con un rango | chux | OOP | 2 | 24-10-2005 23:24:25 |
Ayudaaaa!!! Tabla ASCII: El carácter Ñ vs. carácter ¥ | Berto2003 | Varios | 5 | 26-07-2005 15:37:48 |
busqueda caracter a caracter | Irina | SQL | 3 | 20-05-2003 13:12:53 |
|