Ver Mensaje Individual
  #2  
Antiguo 10-07-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 tarco35.

Tenes que usar un tipo Blob, que en Paradox se declara como Binary.
Código Delphi [-]
procedure SaveFieldFont(aDataSet: TDataSet; aFont: TFont;
  const BlobFieldName: string);
var
  ms: TStream;
  LogFont: TLogFont;
begin
  ZeroMemory(@LogFont, SizeOf(LogFont));
  GetObject(aFont.Handle, SizeOf(LogFont), @LogFont);
  ms  := TMemoryStream.Create;
  try
    ms.WriteBuffer(LogFont, SizeOf(LogFont));
    with aDataSet do
    begin
      if not (State in [dsEdit,dsInsert]) then Edit; // (sólo por precaución  )
      TBlobField(FieldByName(BlobFieldName)).LoadFromStream(ms);
    end;
  finally
    ms.Free;
  end;
end;

procedure LoadFieldFont(aDataSet: TDataSet; aFont: TFont;
  const BlobFieldName: string);
var
  ms: TStream;
  LogFont: TLogFont;
begin
  ms := TMemoryStream.Create;
  try
    TBlobField(aDataSet.FieldByName(BlobFieldName)).SaveToStream(ms);
    ms.Position := 0;
    ZeroMemory(@LogFont, SizeOf(LogFont));
    ms.Read(LogFont, sizeof(LogFont));
    aFont.Handle := CreateFontIndirect(LogFont);
  finally
    ms.Free;
  end;
end;

Ejemplo de uso:
Código Delphi [-]
procedure TForm1.btSaveFontClick(Sender: TObject);
begin
  Label1.Font.Name := 'Segoe Print';
  Label1.Font.Size := 18;
  Table1.Append;
  Table1.FieldByName('Texto').AsString := 'Un texto de prueba para Label2';
  SaveFieldFont(Table1, Label1.Font, 'Fuente');
  //...
  Table1.Post;
end;

procedure TForm1.btLoadFontClick(Sender: TObject);
begin
  //...
  Label2.Caption := DataSet.FieldByName('Texto').AsString;
  LoadFieldFont(Table1, Label2.Font, 'Fuente');
end;

Saludos
__________________
Daniel Didriksen

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

Última edición por ecfisa fecha: 10-07-2015 a las 21:26:51.
Responder Con Cita