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.

posted on 2010-01-17 16:28  oKmAn.Org  阅读(349)  评论(0编辑  收藏  举报