Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 25-03-2009
Avatar de BuRtOn
BuRtOn BuRtOn is offline
Miembro
 
Registrado: ene 2008
Ubicación: Bucaramanga
Posts: 215
Poder: 17
BuRtOn Va por buen camino
Elegir Posicion de una cadena String y eliminar caracter en una posicion deseada

Saludos amigos, sucede que necesito hacer esto:

Tengo una cadena string que contiene un valor money que se asigno en una tabla , y me arroja el siguiente resultado en un label: $248968 , entonces necesito solo capturar 248968, en pocas palabras me toca eliminar el signo $ , siempre me va a salir ese signo $, asi que tengo un componente que me transforma Números a letras, entonces si ingreso mi cadena string con el signo $, no me va a hacer la conversion.

Bueno amigos agredezco en el alma que me puedan colaborar o me indiquen el camino correcto, antemano gracias por su tiempo prestado
Responder Con Cita
  #2  
Antiguo 25-03-2009
Avatar de BuRtOn
BuRtOn BuRtOn is offline
Miembro
 
Registrado: ene 2008
Ubicación: Bucaramanga
Posts: 215
Poder: 17
BuRtOn Va por buen camino
Amigos olvidaba algo, el valor que coloque de ejemplo no es fijo, los valores varian de mayor a menor o viceversa, asi que no es algo que siempre tenga una misma longitud de cadena, Gracias.
Responder Con Cita
  #3  
Antiguo 25-03-2009
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

A bote pronto, usar la función "StringReplace" podría servir. Sería cuestión de reemplazar el caracter "$" por una cadena vacía, lo que equivale a quitarlo del medio:

Código Delphi [-]
s := StringReplace('$248968', '$', '', [rfReplaceAll];

"s" contendrá la cadena "248968".
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #4  
Antiguo 25-03-2009
Avatar de BuRtOn
BuRtOn BuRtOn is offline
Miembro
 
Registrado: ene 2008
Ubicación: Bucaramanga
Posts: 215
Poder: 17
BuRtOn Va por buen camino
Hu amigos, por cierto el signo $, siempre va a ocupar la primera posicion, despues de el seguiran los números que sean, Gracias.
Responder Con Cita
  #5  
Antiguo 25-03-2009
Avatar de BuRtOn
BuRtOn BuRtOn is offline
Miembro
 
Registrado: ene 2008
Ubicación: Bucaramanga
Posts: 215
Poder: 17
BuRtOn Va por buen camino
Dec, ese número lo coloque de ejemplo, pero como hago para ubicar una cadena cualquiera ?, osea puede ser $248968 como tambien puede ser $1859638 , si vez esos valores varian, y todo depende del precio del producto, por que es una factura, y esos valore precios estan almacenados en una base de datos, asi que siempre visualizare ese valor en un label.

No se si me equivoque, pero entonces como guardo esa cadena en la variable s ?, seria algo asi s:= edtPrecio.text;
Responder Con Cita
  #6  
Antiguo 25-03-2009
Avatar de BuRtOn
BuRtOn BuRtOn is offline
Miembro
 
Registrado: ene 2008
Ubicación: Bucaramanga
Posts: 215
Poder: 17
BuRtOn Va por buen camino
o podria quedar algo asi:

s := StringReplace('edtPrecio.Text', '$', '', [rfReplaceAll]); en s, se guardara el valor de la cadena pero sin el signo $.Dec por favor dime si estoy bien, o en donde estoy herrando, gracias por tú tiempo prestado.
Responder Con Cita
  #7  
Antiguo 25-03-2009
Avatar de BuRtOn
BuRtOn BuRtOn is offline
Miembro
 
Registrado: ene 2008
Ubicación: Bucaramanga
Posts: 215
Poder: 17
BuRtOn Va por buen camino
O podria ser asi:

Código Delphi [-]
s := StringReplace(edtPrecio.Text, '$', '', [rfReplaceAll]);


el edtPrecio.Text va sin ' ' ???, si está bien la sintaxis dec ?, Gracias amigo.
Responder Con Cita
  #8  
Antiguo 25-03-2009
Avatar de Caro
*Caro* Caro is offline
Moderadora
 
Registrado: jul 2004
Ubicación: Cochabamba, Bolivia
Posts: 2.544
Poder: 22
Caro Va por buen camino
Cita:
Empezado por BuRtOn Ver Mensaje
s := StringReplace(edtPrecio.Text, '$', '', [rfReplaceAll]);
el edtPrecio.Text va sin ' ' ???, si está bien la sintaxis dec ?, Gracias amigo.
Si esta bien, en el primer parametro debes colocar la cadena en la cual vas a reemplazar. También puedes utilizar Copy quitando el primer caracter.

Saluditos
__________________
Disfruten cada minuto de su vida a lado de sus seres queridos como si fuese el ultimo, uno nunca sabe lo que puede pasar.
Responder Con Cita
  #9  
Antiguo 25-03-2009
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Puedes quitar el caracter "$" de la cadena que sea, y provenga esta de donde provenga. Seguro que a estas alturas ya has visto cómo, usando la función "StringReplace". Otra cosa que se me ocurre es, si no convendría más guardar "enteros" en lugar de cadenas en la base de datos. Creo que esto podría ser bien por varias razones. En primer lugar, tú jugarías luego con números, y le añadirías o no el caracter que fuera menester, o no se lo añadirías. En segundo lugar, me parece que un "entero" ocupa menos en la base de datos que una "cadena". No sé cómo lo ves.
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #10  
Antiguo 25-03-2009
Avatar de BuRtOn
BuRtOn BuRtOn is offline
Miembro
 
Registrado: ene 2008
Ubicación: Bucaramanga
Posts: 215
Poder: 17
BuRtOn Va por buen camino
Gracias Caro, pero no te entiendo lo del COPY ?????, en que parte va ?, que tengo que suprimir ??, no te entendi, gracias amigo.
Responder Con Cita
  #11  
Antiguo 25-03-2009
Avatar de BuRtOn
BuRtOn BuRtOn is offline
Miembro
 
Registrado: ene 2008
Ubicación: Bucaramanga
Posts: 215
Poder: 17
BuRtOn Va por buen camino
jejeje, es que en la bd esta almacenado como money $, y lo paso a string, por que simplemente necesito imprimir el valor. jeje, Gracias amigos, como siempre me sacan de apuros.
Responder Con Cita
  #12  
Antiguo 25-03-2009
Avatar de Caro
*Caro* Caro is offline
Moderadora
 
Registrado: jul 2004
Ubicación: Cochabamba, Bolivia
Posts: 2.544
Poder: 22
Caro Va por buen camino
Hola de nuevo, el Copy no va en el StringReplace, tal como lo tienes esta bien.

Así directo si quieres mostrar en un Label:
Código Delphi [-]
 Cadena := Query.FieldByName('CampoPrecio').AsString;
 Label1.Caption := StringReplace(Cadena, '$', '', [rfReplaceAll]);

o si usas Copy:
Código Delphi [-]
 Label1.Caption := Copy(Cadena, 2, Length(Cadena));
__________________
Disfruten cada minuto de su vida a lado de sus seres queridos como si fuese el ultimo, uno nunca sabe lo que puede pasar.
Responder Con Cita
  #13  
Antiguo 26-03-2009
Avatar de rgstuamigo
rgstuamigo rgstuamigo is offline
Miembro
 
Registrado: jul 2008
Ubicación: Santa Cruz de la Sierra-Bolivia
Posts: 1.646
Poder: 17
rgstuamigo Va por buen camino
Lightbulb

Y por que no hacer:
Código Delphi [-]
Cadena[1]:=#32;
Label1.Caption:=TrimLeft(Cadena);
Saludos.....
__________________
"Pedid, y se os dará; buscad, y hallaréis; llamad, y se os abrirá." Mt.7:7
Responder Con Cita
  #14  
Antiguo 26-03-2009
Avatar de rgstuamigo
rgstuamigo rgstuamigo is offline
Miembro
 
Registrado: jul 2008
Ubicación: Santa Cruz de la Sierra-Bolivia
Posts: 1.646
Poder: 17
rgstuamigo Va por buen camino
Lightbulb O tambien:

Tambien se puede hacer:
Código Delphi [-]
Delete(Cadena,1,1);//elimina el primer caracter ascii de cadena
Label1.Caption:=Cadena;
__________________
"Pedid, y se os dará; buscad, y hallaréis; llamad, y se os abrirá." Mt.7:7
Responder Con Cita
  #15  
Antiguo 26-03-2009
Avatar de Al González
[Al González] Al González is offline
In .pas since 1991
 
Registrado: may 2003
Posts: 5.604
Poder: 29
Al González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en bruto
Se me ocurre esta otra:

Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
begin
  Label1.Caption := PChar (@Edit1.Text [2]);
end;

Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Reemplazar caracter de una determinada posición. Drahcir Varios 5 05-12-2007 16:14:56
Obtener la posición de un caracter en una cadena Javi2 Varios 3 09-06-2005 09:08:06
posicion string davidgaldo Varios 2 28-09-2004 10:37:52
Caracter en una cadena !!! vpepen Varios 3 02-12-2003 16:01:10
Posición del primer caracter de linea en un RichEdit SCH Varios 0 22-09-2003 20:51:32


La franja horaria es GMT +2. Ahora son las 14:59:45.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi