读写EXE文件

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    Edit1: TEdit;
    Button2: TButton;
    Edit2: TEdit;
    Button3: TButton;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
   f:tfilestream;
   buf1,temp:string;
   buf: array [0..254] of char; //定义
   i:integer;
begin
buf1 := edit1.Text;
   for i := 1 to 255 do
   begin
        buf[i-1]:=buf1[i];
   end;
f:=TfileStream.create(extractfilepath(application.ExeName)+'\test.exe',fmopenreadwrite);
f.position:=f.size;
f.write(buf,255);
f.free;
end;

procedure TForm1.Button2Click(Sender: TObject);
var
   f:tfilestream;
   buf1:string;
   buf: array [0..254] of char; //定义
   i:integer;
begin
f:=TfileStream.create(extractfilepath(application.ExeName)+'\test.exe',fmopenread);
  f.position:=f.size-255;
  f.Read(buf,255);
  f.free;

  buf1:=buf;
  //for i := 1 to 19 do
  //begin
  //      buf1[i]:=buf[i-1];
  //end;
  edit2.Text := buf1;
end;

procedure TForm1.Button3Click(Sender: TObject);
var
   ASource: PChar;
   AStr: String;
   ACount,i: Integer;
   AStrings: TStringList;
begin
//ASource := 'ABC|...   DEF|#### GHI|"中华网URL|# www.china.com"';
ASource := PChar(edit2.Text);
   AStrings := TStringList.Create;
   try
     ACount := ExtractStrings(['#'], [' ','.','"'], ASource, AStrings);
     {do any further processing}
     //for AStr in AStrings do
     //   Writeln(AStr);
     for i := 1 to ACount do
     begin
     showmessage(AStrings.Strings[i-1]);
     end;
   finally
     AStrings.Free;
   end;
end;

end.

转载于:https://www.cnblogs.com/xiaoxingchi/archive/2010/01/17/1650029.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值