Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Firebird e Interbase
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 25-07-2015
novato_erick novato_erick is offline
Miembro
 
Registrado: ago 2010
Ubicación: Panamá
Posts: 396
Poder: 14
novato_erick Va por buen camino
Carácter en Firebird utilizando Charset ASCII

Hola Chicos:

Cómo han estado?


Me ah estado pasando algo curioso en mi base de datos que tiene como Charset ASCII en la cual aparece cuando el usuario en ocasiones hace copy/Paste

carácter firebird.jpg

Como pueden ver el usuario realiza un copiado y luego pega agrega al final lo que necesita complementar en la descripción alguien le ah pasado eso y como se puede solucionar?


Saludos

novato_erick
Responder Con Cita
  #2  
Antiguo 25-07-2015
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.042
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Esos cuadraditos, evidentemente, son CR + LF (return + avance línea) chr(13) + chr(10)

No son caracteres imprimibles ascii, por eso salen cuadraditos.
Puedes eliminarlos cuando vayas a grabar los datos.
Responder Con Cita
  #3  
Antiguo 25-07-2015
novato_erick novato_erick is offline
Miembro
 
Registrado: ago 2010
Ubicación: Panamá
Posts: 396
Poder: 14
novato_erick Va por buen camino
Cita:
Casimiro Notevi:

Puedes eliminarlos cuando vayas a grabar los datos.
La pregunta es: Eliminar cuando vaya a grabar? como? no se notan cuando se ingresa la descripción y el usuario no lo ve en la interfaz.

Saludos;
Responder Con Cita
  #4  
Antiguo 25-07-2015
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.042
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
No puedo adivinar qué haces tú, qué hace tu código, qué hace el usuario...
Responder Con Cita
  #5  
Antiguo 25-07-2015
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 novato_erick.

Es decir,
  • ¿ De donde los copia ?
  • ¿ En donde los pega ?
  • ¿ Como y cuando lo guardas ?

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #6  
Antiguo 05-08-2015
novato_erick novato_erick is offline
Miembro
 
Registrado: ago 2010
Ubicación: Panamá
Posts: 396
Poder: 14
novato_erick Va por buen camino
Hola a todos de nuevo disculpe el atraso que tuve en responder sin embargo ya que me quedé sin internet durante buen rato...

Cita:
ecfisa:

Hola novato_erick.

Es decir,
¿ De donde los copia ?
¿ En donde los pega ?
¿ Como y cuando lo guardas ?
Sinceramente lo que he notado que hacen es en el mismo todo lo hacen desde el mismo programa la configuración de idioma es Español Panamá y respondiendo la tercera interrogante de como y cuando lo guardo utilizando el componente DBExpress de Delphi con tdbxTransaction.

Saludos
Responder Con Cita
  #7  
Antiguo 06-08-2015
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 novato_erick.
Cita:
Empezado por novato_erick Ver Mensaje
...
Sinceramente lo que he notado que hacen es en el mismo todo lo hacen desde el mismo programa la configuración de idioma es Español Panamá y respondiendo la tercera interrogante de como y cuando lo guardo utilizando el componente DBExpress de Delphi con tdbxTransaction.
No sé cuál de los componentes de la biblioteca DBExpress estás usando, pero el TSimpleDataSet posee el evento OnBeforePost que podrías aprovechar para eliminar los caracteres CR y LF antes del guardado.

Algo parecido a esto:
Código Delphi [-]
procedure TForm.SimpleDataSet1BeforePost(DataSet: TDataSet);
var
  i : Integer;
  sds: TSimpleDataSet;
begin
  sds := SimpleDataSet1;
  sds.Edit;
  for i := 0 to sds.FieldCount-1 do
    if sds.Fields[i] is TStringField then
    begin
      sds.Fields[i].AsString := StringReplace(sds.Fields[i].AsString,#$A,'',[rfReplaceAll]);
      sds.Fields[i].AsString := StringReplace(sds.Fields[i].AsString,#$D,'',[rfReplaceAll]);
    end;
end;

Otra opción es capturar el evento WM_DRAWCLIPBOARD que se dispara cuando el contenido del clipboard es modificado:
Código Delphi [-]
type
  TForm1 = class(TForm)
    ...
    procedure FormCreate(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
  private
    procedure ClipBoardChanged(var Message: TMessage); message WM_DRAWCLIPBOARD;
  public
  end;

...

implementation

uses Clipbrd;

var
  hClipbrd: HWND;

procedure TForm1.FormCreate(Sender: TObject);
begin
  hClipbrd := GetClipboardViewer;
  SetClipboardViewer(Handle);
end;

procedure TForm1.ClipBoardChanged(var Message: TMessage);
begin
  if Clipboard.HasFormat(CF_TEXT) then // formato texto ? -> eliminar CR y LF
  begin
    Clipboard.AsText := StringReplace(Clipboard.AsText, #$A, '', [rfReplaceAll]);
    Clipboard.AsText := StringReplace(Clipboard.AsText, #$D, '', [rfReplaceAll]);
  end;
end;

// ...

procedure TForm1.FormDestroy(Sender: TObject);
begin
  SetClipboardViewer(hClipbrd);
end;

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #8  
Antiguo 06-08-2015
novato_erick novato_erick is offline
Miembro
 
Registrado: ago 2010
Ubicación: Panamá
Posts: 396
Poder: 14
novato_erick Va por buen camino
Hola ecfisa:

Gracias por tu sucerencia en la que estoy utilizando:
Cita:
Otra opción es capturar el evento WM_DRAWCLIPBOARD

Hice prueba yo mismo y realmente funciona ahora me toca que más hace el usuario para ver los comportamientos en la db.

Saludos

novato_erick
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
Convertir caracter a codigo ASCII Tecnic2 OOP 13 28-03-2009 15:07:09
Sacar un caracter Ascii. NSL94 Varios 2 30-08-2007 11:37:25
Caracter en Cod. ASCII pichi Vignola Varios 1 13-06-2006 14:09:36
Ayudaaaa!!! Tabla ASCII: El carácter Ñ vs. carácter ¥ Berto2003 Varios 5 26-07-2005 15:37:48
Necesito el Numero ASCII de un caracter ingel Varios 3 17-09-2004 16:53:29


La franja horaria es GMT +2. Ahora son las 01:24:02.


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