Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   Tomar una cadena numerica (https://www.clubdelphi.com/foros/showthread.php?t=73277)

DasGrun 12-04-2011 18:11:56

Tomar una cadena numerica
 
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

Código Delphi [-]
 
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

Cita:

Empezado por DasGrun (Mensaje 396735)
si todo tiene el mismo Formato OC#######.

Hola DasGrun.

Entonces la sugerencia de oscarac tiene que funcionar perfectamente.

Podrías probar usando:
Código Delphi [-]
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:
Código Delphi [-]
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


La franja horaria es GMT +2. Ahora son las 19:29:35.

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