Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 11-09-2014
Jose Roman Jose Roman is offline
Miembro
 
Registrado: jul 2006
Ubicación: Colombia
Posts: 361
Poder: 18
Jose Roman Va por buen camino
UpperCase en DBGrid

Cordial saludo,

Resulta que necesito que un bsSkinDBGrid (componente de Business Skin Form adquirido hace mas de dos años) me muestre en mayusculas los campos, roman realizo eso pero he tratado de implementarlo para este componente, no se que estare realizando mal, asi que les transmito el codigo fuente y espero alguien me corrija ya que no realiza absolutamente nada.

Código Delphi [-]
unit Unit1;

interface

uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, bsSkinCtrls, bsSkinGrids, bsDBGrids,Vcl.Grids,Vcl.StdCtrls,
  Data.DB, FIBDatabase, pFIBDatabase, FIBDataSet, pFIBDataSet;

type
  TDBGrid = class(bsDBGrids.TbsSkinDBGrid)
  protected
    function CreateEditor: TbsSkinInplaceEdit; override;
  end;

  TForm1 = class(TForm)
    bsSkinDBGrid1: TbsSkinDBGrid;
    tbKardex: TpFIBDataSet;
    Database: TpFIBDatabase;
    Transaction: TpFIBTransaction;
    dsKardex: TDataSource;
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

  THackEdit = class(TCustomEdit);

var
  Form1: TForm1;

implementation

{$R *.dfm}

{ TDBGrid }

function TDBGrid.CreateEditor: TbsSkinInplaceEdit;
begin
  Result := inherited CreateEditor;
  THackEdit(Result).CharCase := ecUpperCase;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  Database.Connected := True;
  Transaction.StartTransaction;
  tbKardex.Open;
end;

end.

Gracias por su valiosos aportes.
Responder Con Cita
  #2  
Antiguo 11-09-2014
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.084
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
¿Dónde está la consulta select de donde lees los datos?
Responder Con Cita
  #3  
Antiguo 11-09-2014
Jose Roman Jose Roman is offline
Miembro
 
Registrado: jul 2006
Ubicación: Colombia
Posts: 361
Poder: 18
Jose Roman Va por buen camino
La tengo en tbKardex en su propiedad SelectSQL que es un FIBDataSet, ahi esta una tabla que tiene los campos Fecha,Entrada,Salida,Usuario,Detalle; el campo fecha en el SkinDBGrid esta en formato dd-mmm-yy, ese campo lo deseo en mayusculas ald igual que el campo detalle, por eso en el FormCreate abro la tabla.
Responder Con Cita
  #4  
Antiguo 11-09-2014
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
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 Jose Roman.

De allí la pregunta de Casimiro ya que, en el caso de las cadenas de caracteres, te conviene traer los datos en mayúsculas diréctamente desde la consulta.

Por ejemplo:
Código SQL [-]
SELECT UPPER(DETALLE), ..., FECHA FROM TU_TABLA
El tema de las fechas es distinto... No tengo el componente TFIBDataSet, sin embargo creo que esto tendría que funcionarte:
Código Delphi [-]
...
implementation

const
  MNAME: array[1..12] of string = ('ENE','FEB','MAR','ABR',
    'MAY','JUN','JUL','AGO','SEP','OCT','NOV','DIC');
var
  AuxMonth: array[1..12] of string;

procedure TForm1.FormCreate(Sender: TObject);
begin
  move(SysUtils.ShortMonthNames, AuxMonth, SizeOf(SysUtils.ShortMonthNames));
  move(MNAME, SysUtils.ShortMonthNames, SizeOf(MNAME));

  TDateField(FibDataSet1.FieldByName('FECHA')).DisplayFormat:= 'dd/mmm/yy';
  FibDataSet1.Open;
end;

//...

procedure TForm1.FormDestroy(Sender: TObject);
begin
  move(AuxMonth, SysUtils.ShortMonthNames, SizeOf(AuxMonth));
end;

Saludos
__________________
Daniel Didriksen

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

Última edición por ecfisa fecha: 11-09-2014 a las 05:11:29. Razón: corregir nombre de campo
Responder Con Cita
  #5  
Antiguo 11-09-2014
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Pero estamos hablando de cosas distintas. Una cosa es armar la consulta SQL en mayúsculas y otra que al editar el DBGrid sólo se acepten mayúsculas; y esto último es lo que hacía el código al que se refiere Jose Roman, sólo que él utiliza un derivado de TDBGrid que desconozco.

// Saludos
Responder Con Cita
  #6  
Antiguo 11-09-2014
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
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
Si roman, esa me pareció la finalidad del código del primer mensaje. Sin embargo esta parte del texto no se condecía con él:
Cita:
Resulta que necesito que un bsSkinDBGrid (componente de Business Skin Form adquirido hace mas de dos años) me muestre en mayusculas los campos...
De modo que si era sólo mostrarlos en mayúsuculas bastaba hacerlo desde la consulta. Pero es claro que si necesita pasar a mayúsculas lo que va ingresando no le va a servir mi mensaje...

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
Respuesta



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
UpperCase en DBGrid Phacko Varios 12 23-06-2011 18:10:21
UpperCase en un TDBGRID KAYO Conexión con bases de datos 5 22-09-2008 19:45:24
lo contrario a uppercase federico1 Varios 3 24-11-2007 15:12:13
¿Que es más rápido AnsiUppercase o Uppercase? xander Varios 6 05-10-2007 02:17:35
Activar UpperCase a un DBMemo ElCherchu Varios 1 17-01-2005 16:36:28


La franja horaria es GMT +2. Ahora son las 05:55:08.


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