我初学Delphi,用到了下面的问题。我需要把一个程序中的Memo控件的文字以及字体信息保存到INI文件中,而这个文件中还有其它的内容。因为Memo控件中可能含有回车,所以用INI写入字符串是不行了,我把文字转换成流写道了INI文件中。但是现在我不会把所有字体信息以流的形式写入INI文件和从INI文件中读取了。我不想用字符串的形式把字体信息写入INI文件,因为字体信息太多了,包括颜色,字体名字,字体大小等等。
解决方案 »
- delphi中这种控件如何做?
- TClientDataset更新数据,占用CPU的问题.
- delphi7安装问题,高手帮忙解决一下
- MDI系统子窗体最大化时充满主窗体的客户区如何实现的
- 窗体间参数传递的问题???
- IdTCPServer和IdTCPClient协议定义问题,我在服务端怎么分析客户段送过来的流
- Intraweb 有没有像RICHEDIT的控件,我需要在其中加入图像及彩色文字在其中...
- 动态菜单为何多出一个&符号?
- 请教下面的存储过程,为何在调用的时候会删除不了记录的,请指教
- 字符判断问题,帮帮我呀
- 有点晕……我用数据库做个小软,将程序中的edit中的字符复制到记事本时发现是乱码?怎么解决?
- Delphi7程序无法跟踪调试,怎么处理???
如果要写成文本文件的话,就用xml
unit Unit1;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ComCtrls, Buttons, ExtCtrls;type
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
Button3: TButton;
ColorBox1: TColorBox;
BitBtn1: TBitBtn;
ColorBox2: TColorBox;
edit1: TMemo;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormCreate(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure ColorBox1Change(Sender: TObject);
procedure ColorBox2Change(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
const
dir='pp.dat'; //保存memo的文件
var
Form1: TForm1; pr:TMemoryStream;
implementation{$R *.dfm}procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
pr.Destroy;
end;procedure TForm1.FormCreate(Sender: TObject);
begin
pr:=TMemoryStream.Create;
end;procedure TForm1.Button1Click(Sender: TObject);
begin
pr.Clear;
pr.WriteComponent(Edit1);
pr.SaveToFile(dir); 保存
end;procedure TForm1.Button2Click(Sender: TObject);
begin
pr.Clear;
pr.LoadFromFile(dir);
pr.ReadComponent(Edit1) ; //读入
end;procedure TForm1.Button3Click(Sender: TObject);
begin
edit1.Width:=edit1.Width+2;
edit1.Height:=edit1.Height+2;
end;procedure TForm1.BitBtn1Click(Sender: TObject);
begin
edit1.Width:=edit1.Width-2;
edit1.Height:=edit1.Height-2;
end;procedure TForm1.ColorBox1Change(Sender: TObject);
begin
edit1.Font.Color:=ColorBox1.Selected;
end;procedure TForm1.ColorBox2Change(Sender: TObject);
begin
edit1.Color:=ColorBox2.Selected;
end;end.
ms:TMemoryStream;
buffer:pchar;
size:integer;
begin
ms.WriteComponent(Memo1);
size:=ms.size;
getmem(buffer,size);
ms.readbuffer(buffer,size);
把buffer内容读到ini文件中