FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
||||
|
||||
SUBSTR de las UDF's
Hola!
Creo que la función substr de las udf's del firebird, te sirve para coger esta parte entera que dices en un procedure. Suerte!
__________________
________________________________
It's no good shouting at me like that |
#2
|
|||
|
|||
Prueba con este codigo
Hola yo utilizo la siguiente funcion
Declaracion Function QuitarLetras(cadena: String):String; Detalle de la Funcion Function QuitarLetras(cadena: string): string; var i: integer; begin for i := 1 to Length(cadena) do if cadena[i] in ['0'..'9'] then Result := Result + cadena[i]; end; Llamada QuitarLetras(ubicciondelstring) Esto te dejara solo los numeros, pero como string, tienes luego que utilizar la instruccion para pasar de strin a integer. Espero te sirva. Saludos Alejandro Valparaiso - CHILE
__________________
Los muertos en CRISTO de sus tumbas volveran y los que vivimos en las nubes nos levantara ....... |
#3
|
||||
|
||||
con el anterior sp lo que hago es obtener un consecutivo de una factura la cual puede tener letras y el numero entero que se ve sin las letras algo aasi con la ultima factura generada y guardada en la bd con el valor PA0045 después de ejecutar el SP el valor Factura del SP sera PA0046 y el numero sera 46 |
#4
|
|||
|
|||
Tema solucionado - Gracias.
Gente:
muchas gracias por la data. Me sirvio un montón la información que me suministraron. Lo pude hacer de una forma muy parecida a la que me dijo RONPABLO. Mi código del procedure quitar letras quedó así. DECLARE VARIABLE cont integer; DECLARE VARIABLE longitudCadena integer; DECLARE VARIABLE num varchar (1); DECLARE VARIABLE CADENA_DE_NUMEROS varchar (30); begin /* code */ /*Me quedo con la longitud de la cadena que me mandaron*/ longitudCadena = strlen (CADENA); /*Inicializo el contador para recorrer la cadena*/ cont = 1; /*Inicializo la cadena en la cual voy a guardar los números de la orden de trabajo*/ CADENA_DE_NUMEROS = ''; /*Recorro la cadena*/ while (cont <= longitudCadena) do begin /*me quedo con la letra que se encuentra en la posición cont*/ num = substr(CADENA,cont,cont); if (num between '0' and '9') then /*si la letra esta dentro de 0 a 9*/ CADENA_DE_NUMEROS = CADENA_DE_NUMEROS || num; /*concateno los números a los que ya tenía*/ cont = cont + 1; /*avanzo a la próxima letra*/ end /*paso la cadena de letras a un número entero*/ NUMERO = cast(CADENA_DE_NUMEROS as integer); end Última edición por mcalmanovici fecha: 03-04-2007 a las 18:28:14. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
como pasar un String a SOAPElement | ku9 | JAVA | 0 | 16-06-2006 11:42:21 |
Pasar de string a integer o viceversa. ¿Es posible? | Kamikaze | Varios | 5 | 07-07-2005 15:44:57 |
¿Como pasar de String a Integer? | astur_racing | JAVA | 5 | 13-01-2005 18:58:18 |
Como Convertir un dato Integer ó Float a String en FireBird???? | AGAG4 | Firebird e Interbase | 8 | 04-12-2004 02:59:47 |
Pasar String a Integer | ramonibk | Varios | 12 | 09-09-2004 17:20:20 |
|