Ver Mensaje Individual
  #7  
Antiguo 06-08-2015
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Reputación: 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