扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
...
type
TForm1 = class(TForm)
...
Memo1: TMemo;
Button1: TButton;
Button2: TButton;
Button3: TButton;
...
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
procedure TForm1.FormCreate(Sender: TObject);
begin
//清空 Memo1
Memo1.Clear;
//在未载入任何内容时,禁止使用 Append、Insert
Button2.Enabled := False;
Button3.Enabled := False;
...
end;
//装载任意文本文件
procedure TForm1.Button1Click(Sender: TObject);
begin
...
Memo1.Lines.LoadFromFile( OpenDialog1.FileName );
Caption := Hint + 调入: + OpenDialog1.FileName;
Button2.Enabled := True;
Button3.Enabled := True;
...
end;
//在文件头插入
procedure TForm1.Button2Click(Sender: TObject);
Var
SWA : TMemoryStream; //建立临时交换内存镜象
CNULL : char; //空字符
begin
SWA := NIL;
CNULL := #0;
...
//初始化内存流
SWA := TMemoryStream.Create;
//加载要插入的文件
SWA.LoadFromFile( OpenDialog1.FileName );
//把指针移到流尾,以 #0 结尾,
SWA.Seek(0, soFromEnd);
SWA.Write( CNULL, 1);
//再移到头
SWA.Seek( 0, soFromBeginning );
//插入偏移量为 0
Memo1.SelStart := 0;
Memo1.SetSelTextBuf(SWA.Memory);
....
end;
procedure TForm1.Button3Click(Sender: TObject);
Var
SWA : TMemoryStream;
CNULL : char; //空字符
begin
SWA := NIL;
CNULL := #0;
...
//初始化内存流
SWA := TMemoryStream.Create;
//加载要追加的文件
SWA.LoadFromFile( OpenDialog1.FileName );
//把指针移到流尾,以 #0 结尾,
SWA.Seek(0, soFromEnd);
SWA.Write( CNULL, 1);
//再移到头
SWA.Seek( 0, soFromBeginning );
//把 Memo1 的指针移到 Memo1 尾部
Memo1.Lines.Add();
Memo1.Lines.Delete( Memo1.Lines.Count -1 );
//追加
Memo1.SetSelTextBuf(SWA.Memory);
...
end;
....
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者