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)
-   -   Como rellenar campo de tabla (https://www.clubdelphi.com/foros/showthread.php?t=18907)

JODELSA 26-02-2005 13:31:47

Como rellenar campo de tabla
 
Que tal!

tengo una pequeña aplicación, uso una tabla paradox y me conecto con DBE
en la tabala tengo 2 campos numericos, y lo que quiero es que cuado yo guarde el valor digitado a traves del componente Dbedit se rellenen los espacios no ocupado con cero (0), como lo hago.

gracias

marcoszorrilla 26-02-2005 18:26:40

Si son por la izquierda no puedes pues los ceros que añadas se perderán, si es por la derecha lo tienes sencillo, no tendrás más que multiplicar por 10, 100 o lo que proceda en cada caso.

Aunque si lo lo quieres para formatear a la hora de mostrarlos por pantalla, mírate las funciones y máscaras para formate de número.s

Un Saludo

JODELSA 28-02-2005 13:02:50

Amparentemente no podre con el campo numerico, pero presento el mismo problema con un campo texto, cuando convierto mi tabla a txt, el campo texto solo me lleva los espacios escritos y necesito en mi archivo txt, el total del campo rellenado de espacios en blanco lo que no se escribio.

marcoszorrilla 28-02-2005 15:31:30

Pues conviértelo tu mismo por código y así podrás rellenar con lo que desees.

Un Saludo.

marcoszorrilla 28-02-2005 15:41:53

A modo de ejemplo:

Código Delphi [-]
 Function FillSpaces(cVar:String;nLen:Integer):String;
 begin
 Result:=StringOfChar(' ',nLen - Length(cVar))+cVar;
 end;
 
 procedure TForm1.Button1Click(Sender: TObject);
 begin
 Edit1.Text:= FillSpaces(Edit1.Text, 10);
 end;

Un Saludo.

roman 28-02-2005 16:57:41

Aparte de la sugerencia del amigo Marcos, ¿te has preguntado si realmente necesitas guardar los ceros en la base?

Si el acceso a las tablas se hace siempre mediante tu aplicación entonces basta que agregues los ceros al momento de tomar el dato de la base y presentarlo al usuario con una función similar a la que te propone Marcos.

Para el usuario es lo mismo y te puedes ahorrar un buen espacio en tu base. Toma en cuenta, por dar un ejemplo, que si estás almacenando números de ocho dígitos te basta con un campo de tipo LongInteger que ocupará 4 bytes, a diferencia de los ocho bytes (el doble) necesarios para almacenarlo como una cadena de ocho caracteres.

E incluso en el caso de los espacios, usando un campo VarChar ocuparás únicamente los bytes necesarios al omitir los espacios iniciales rellenándolos sólo al momento de presentarlos en pantalla.

// Saludos

JODELSA 28-02-2005 21:31:49

este función fué un éxito, que seria de mi sin ustedes...


La franja horaria es GMT +2. Ahora son las 11:56:27.

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