Club Delphi  
    Paypal   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

Coloboración Paypal con ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 10-06-2011
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 38
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola.
Cita:
compañero pero yo mas que todo uso el query en mis consultas. como seria
Proba de este modo:
Código Delphi [-]
var
  i: Integer;
begin
  for i:= 0 to IBQuery1.FieldCount -1 do
    if IBQuery1.Fields[i].DataType in[ftFloat, ftCurrency, ftBCD] then
      TNumericField(IBQuery1.Fields[i]).DisplayFormat:= '#,###,###,###,##0.00';
end;

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #2  
Antiguo 10-06-2011
Avatar de oesqueda
oesqueda oesqueda is offline
Miembro
 
Registrado: dic 2007
Ubicación: Guadalajara, Mexico
Posts: 66
Poder: 19
oesqueda Va por buen camino
Sin animo a controversia, prefiero el Case, ya que asi acomodas como desees el formato segun el tipo, es mas rapido que un IF y para mi es mas claro en la lectura ademas.

Código Delphi [-]
var
  i: Integer;
begin
  for i:= 0 to IBQuery1.FieldCount -1 do
    Case IBQuery1.Fields[i].DataType of
      ftFloat, ftCurrency, ftBCD: NumericField(IBQuery1.Fields[i]).DisplayFormat :=  '#,###,###,###,##0.00';
      ftInteger: NumericField(IBQuery1.Fields[i]).DisplayFormat :=  '#,###,###,###,##0';
    end; {case}

Claro esta que es ya de cada quien
__________________
OEsqueda
Responder Con Cita
  #3  
Antiguo 10-06-2011
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 38
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola oesqueda.

Lo que quise ejemplificar a ingabraham fue como acceder a la propiedad DisplayFormat desde la consulta y puse más énfasis en la simplicidad del código que en la eficiencia del mismo.

Aunque realmente, en un código que se ejecuta esporádicamente, para una cincuentena de campos como mucho y comparando dos o tres valores, no pareciera que el uso del case mejore significativamente la performance de la aplicación en este caso.

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....

Última edición por ecfisa fecha: 10-06-2011 a las 21:09:34.
Responder Con Cita
  #4  
Antiguo 10-06-2011
Avatar de oesqueda
oesqueda oesqueda is offline
Miembro
 
Registrado: dic 2007
Ubicación: Guadalajara, Mexico
Posts: 66
Poder: 19
oesqueda Va por buen camino
En tal caso mi estimado es a cuestion del programador, a mi me gusta mas el Case, ya imgabraham vera cual le satisface mejor no crees?
__________________
OEsqueda
Responder Con Cita
  #5  
Antiguo 10-06-2011
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 38
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Cita:
ya imgabraham vera cual le satisface mejor no crees?

Totalmente de acuerdo, ahora que sabe que cast aplicar para obtener la propiedad DisplayFormat, que creo era la dificultad que dijo tener:
Cita:
me dice que no lo reconoce, ni displayformt
lo probe utilizando un dataset
Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #6  
Antiguo 12-06-2011
Avatar de ingabraham
ingabraham ingabraham is offline
Miembro
 
Registrado: ago 2007
Posts: 614
Poder: 20
ingabraham Va por buen camino
Cita:
Empezado por ecfisa Ver Mensaje
Hola.

Proba de este modo:
Código Delphi [-]
var
  i: Integer;
begin
  for i:= 0 to IBQuery1.FieldCount -1 do
    if IBQuery1.Fields[i].DataType in[ftFloat, ftCurrency, ftBCD] then
      TNumericField(IBQuery1.Fields[i]).DisplayFormat:= '#,###,###,###,##0.00';
end;

Saludos.
donde coloco este codigo ahora me sale errror en ftfloat

y en tnumericfield.
__________________
Enseñar es la virtud de un sabio.
Responder Con Cita
  #7  
Antiguo 13-06-2011
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 38
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola ingabraham.

Para disipar toda duda probé el código que te adjunté con la siguiente tabla:
Código SQL [-]
CREATE TABLE PRUTYPENUM(
  BIGNUM BIGINT,
  DECIMALNUM DECIMAL(15,3),
  DOBLEPRESNUM DOUBLE PRECISION,
  FLOATNUM FLOAT,
  INTEGERNUM INTEGER,
  NUMERICNUM NUMERIC(15,3),
  SMALLINTNUM SMALLINT
);
Como bién verás, contempla todos los tipos numéricos. Y no genera ningún tipo de error.

Revisé el hilo desde el principio y no has puesto una sóla línea de tu código. No está a nuestro alcance adivinar que es lo que estas haciendo.

Por que no nos simplificas un poco la tarea y nos pones: El tipo de campos que definiste en Firebird, la porción de código involucrado donde te genera el error, la línea donde se produce y "literalmente" el mensaje que te arroja.

Gracias.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....

Última edición por ecfisa fecha: 13-06-2011 a las 01:00:27.
Responder Con Cita
  #8  
Antiguo 13-06-2011
Avatar de ingabraham
ingabraham ingabraham is offline
Miembro
 
Registrado: ago 2007
Posts: 614
Poder: 20
ingabraham Va por buen camino
tengo un bdgrid/ query y dataset conectado
utilizo delphi 7 y firebird 20

este es el bton que me muestra la consulta
Código Delphi [-]

    with DMDatos.IBMostrarDatos do
     begin
       SQL.Clear;
       SQL.Add(' Select  * From  CONTRATOS  ');
       Open;
     end;

ahora este codigo que me dan , cualquiera de los que me han dado. lo adiciono a continuacion de esto.

Código Delphi [-]
var
  i: Integer;
begin
  for i:= 0 to IBQuery1.FieldCount -1 do
    if IBQuery1.Fields[i].DataType in[ftFloat, ftCurrency, ftBCD] then
      TNumericField(IBQuery1.Fields[i]).DisplayFormat:= '#,###,###,###,##0.00';
end;

me muestra que no reconoce los tipos ftFloat, ftCurrency, ftBCD


falta alguna uses, x que no me reconoce esto.
__________________
Enseñar es la virtud de un sabio.

Última edición por ingabraham fecha: 13-06-2011 a las 01:00:55.
Responder Con Cita
  #9  
Antiguo 13-06-2011
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 38
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola ingabraham.

No parece haber ninguna cosa extraña en tu código, todo es correcto.

Cita:
falta alguna uses, x que no me reconoce esto.
Puede ser que no tengas incluida la unit DB, ya que TFieldType está definido allí.

Ayuda de Delphi:
Cita:
Unit

DB

Delphi syntax:

type TFieldType = (ftUnknown, ftString, ftSmallint, ftInteger, ftWord, ftBoolean, ftFloat, ftCurrency, ftBCD, ftDate, ftTime, ftDateTime, ftBytes, ftVarBytes, ftAutoInc, ftBlob, ftMemo, ftGraphic, ftFmtMemo, ftParadoxOle, ftDBaseOle, ftTypedBinary, ftCursor, ftFixedChar, ftWideString, ftLargeint, ftADT, ftArray, ftReference, ftDataSet, ftOraBlob, ftOraClob, ftVariant, ftInterface, ftIDispatch, ftGuid, ftTimeStamp, ftFMTBcd);
Fijate si falta la unit DB en la cláusula uses, por ahí es eso...

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #10  
Antiguo 13-06-2011
Avatar de ingabraham
ingabraham ingabraham is offline
Miembro
 
Registrado: ago 2007
Posts: 614
Poder: 20
ingabraham Va por buen camino
exacto era la uses DB.

companneros tambien encontre este procedure x alli.

Código Delphi [-]
Procedure TExportar.SetFormatoGrilla(Sender:TDBGrid);
Var
    Index:Integer;
Begin
     For Index:=0 To (Sender.FieldCount-1) Do
     Begin
           Try
              Case (Sender.Fields[Index].DataType) Of
                   ftInteger :TIntegerField(Sender.Fields[Index] ).DisplayFormat  :='#0';
                   ftFloat   :TFloatField( Sender.Fields[Index] ).DisplayFormat   :='###,##0.00';
                   ftDate   :TDatetimeField( Sender.Fields[Index] ).DisplayFormat:='dd/mm/yyyy';
              End;

           Except

           End;
     End;

End;
__________________
Enseñar es la virtud de un sabio.
Responder Con Cita
  #11  
Antiguo 13-06-2011
Avatar de ingabraham
ingabraham ingabraham is offline
Miembro
 
Registrado: ago 2007
Posts: 614
Poder: 20
ingabraham Va por buen camino
ok , ahora quiero verificar si un campo llamado cedula, tipo texto puedo separarlo con puntos. no se si se pueda esto.
__________________
Enseñar es la virtud de un sabio.
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
Hacer que una columna de un DbGrid aparezca distinta según valor Aprendiendo OOP 11 30-11-2018 15:47:20
Columna en DBgrid cmfab Varios 7 19-10-2010 18:41:45
Poner una columna de un DBGrid como columna Fija rgstuamigo OOP 4 04-03-2009 22:54:38
Sumar columna de un dbgrid Choclito Varios 0 24-07-2006 08:47:08
Deshabilitar un Columna de un Dbgrid fmonte Varios 3 03-09-2004 07:31:11


La franja horaria es GMT +2. Ahora son las 22:25:25.


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