将界面一edit控件font中的值存入数据表,是否能用类似串化对象的方法实现、、、、、、、
是否可以不用Font.Color,Font.Style 等方法分别保存个值

解决方案 »

  1.   


    query1.ParamByName('freecolor').AsString:=IntTohex(add_free.SelectedColor,8)
                                               //16进制

    port_freecolor:=strtoint('$'+query1.FieldByName('color').AsString);
      

  2.   

    但是这个是将color串化成16进制呀
    还有类似style等等的呢?各位GGJJ,帮帮我吧
      

  3.   

    type
      TFontComponent = class(TComponent)
      private
        FFont: TFont;
        procedure SetFont(const Value: TFont);
      public
        constructor Create(AOwner: TComponent); override;
        destructor Destroy; override;
      published
        property Font: TFont read FFont write SetFont;
      end;{ TFontComponent }constructor TFontComponent.Create(AOwner: TComponent);
    begin
      inherited;
      FFont := TFont.Create;
    end;destructor TFontComponent.Destroy;
    begin
      FFont.Free;
      inherited;
    end;procedure TFontComponent.SetFont(const Value: TFont);
    begin
      FFont.Assign(Value);
    end;procedure TForm1.Button1Click(Sender: TObject);
    var
      strm: TMemoryStream;
      Writer: TWriter;
      Reader: TReader;
      FontComponent: TFontComponent;
    begin
      strm := TMemoryStream.Create;//向流写
      Writer := TWriter.Create(strm, 1024);
      FontComponent := TFontComponent.Create(nil);
      FontComponent.Font := Font;
      Writer.WriteRootComponent(FontComponent);
      Writer.Free;
      FontComponent.Free;//从流读
      FontComponent := TFontComponent.Create(nil);
      Reader := TReader.Create(strm, 1024);
      Reader.Position := 0;
      Reader.ReadRootComponent(FontComponent);
      Reader.Free;
      label1.Font := FontComponent.Font;
      FontComponent.Free;  strm.Free;
    end;
      

  4.   

    没有必要这么麻烦
    TFont有自动流化的功能
    直接用流的WriteComponent方法就可以了
      

  5.   

    错了 :(
    如短歌那样
    从TComponent继承一个类来获得流化功能