PDA

Ver la Versión Completa : Tomar una cadena numerica


DasGrun
12-04-2011, 18:11:56
Hola A todos, ayuda con lo siguiente.

estoy haciendo una aplicacion en Delphi Win32 2007, de la cual necesito tomar solo unos valores de un campo ó de un DBEdit. me explico?

tengo un campo/DBEdit que contiene OC98285 de este dato solo quiero tomar 98285 quiero ignorar el OC como cree que lo puedo Hacer?

de ante Mano Muchas Gracias.

saludos.

oscarac
12-04-2011, 18:23:44
lo que se me ocurre es lo siguiente
si el dato esta en el campo, podrias crear un edit simple


edit1.Text := Copy(tabla1Campo.value,3,Lenght(tabla1Campo.value))


eso si es que simpre va a tener ese formato de 2 caracteres al inicio, si puede que tengan otros formatos (no se,... quiza mas caracteres no necesariamente al principio o al medio o a la derecha), podrias crear nua rutina que te vaya chequeando caracter por caracter y armes una cadena la cual ira en el edit simple

saludos

DasGrun
12-04-2011, 18:45:31
Gracias Oscarac...

no funciona como tu dices, uso Objetos ADO ya que me conecto a una Base de Datos Sql Server 2003, si todo tiene el mismo Formato OC#######.

seguiré intentando!!! Gracias

oscarac
12-04-2011, 18:51:55
q haces con la informacion del campo
solo mostrarla? o le das algun otro uso

me imagino que usas un DBEDIT para colocar el dato y lo muestras en un formulario

no te sirve usar un EDIT con el dato del DBEDIT ?

ecfisa
12-04-2011, 19:08:22
si todo tiene el mismo Formato OC#######.


Hola DasGrun.

Entonces la sugerencia de oscarac tiene que funcionar perfectamente.

Podrías probar usando:

edit1.Text := Copy(tabla1Campo.value, 3, MaxInt)

Pero no hace diferencia en cuanto al resultado que arroja.


Otra forma (pero más rebuscada) sería:

var
s: string;
begin
s:= tabla1.FieldByName('CAMPO').AsString;
Delete(s,1,2);
ShowMessage( s ); // o lo que hagas con el resultado...
end;


Un saludo.

Edito: ¿ Podrías especificar un poco mas el: 'no funciona' ? Es decir, te da otra cadena de la esperada, un error, ...?

DasGrun
12-04-2011, 20:01:20
de ante mano muchas gracias a cada uno de ustedes.

La Solución esta en:

como el dato esta en un DBEDIT se creo un edit en el mismo formulario de la cual este estara como oculto y por medio del evento Onchange se digito Edit1.Text := Copy(DMTables.DT_ORDEN_COMPRAPONUMBER.AsString, 3, MaxInt);. lo que me dijo el amigo ecfisa. y lo copia correctamente.

esto es lo que andava buscando....

Gracias Gracias...me gusta el Mundo Clubdelphi