WinAPI文字および文字列関数(9):lstrcat-文字列のマージ

1713 ワード



unit Unit1;



interface



uses

  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

  Dialogs, StdCtrls;



type

  TForm1 = class(TForm)

    Button1: TButton;

    Button2: TButton;

    Button3: TButton;

    Button4: TButton;

    procedure Button1Click(Sender: TObject);

    procedure Button2Click(Sender: TObject);

    procedure Button3Click(Sender: TObject);

    procedure Button4Click(Sender: TObject);

  end;



var

  Form1: TForm1;



implementation



{$R *.dfm}



procedure TForm1.Button1Click(Sender: TObject);

var

  p,p1,p2: PChar;

begin

  p1 := 'Delphi';

  p2 := '2009';



  GetMem(p, 256);

  p^ := #0;



  lstrcat(p, p1);

  lstrcat(p, ' ');

  lstrcat(p, p2);



  ShowMessage(p); {Delphi 2009}



  FreeMem(p);

end;



procedure TForm1.Button2Click(Sender: TObject);

var

  p1,p2: PChar;

  buf: array[0..255] of Char;

begin

  p1 := 'Delphi';

  p2 := '2009';



  FillChar(buf, Length(buf), #0);



  lstrcat(buf, p1);

  lstrcat(buf, ' ');

  lstrcat(buf, p2);



  ShowMessage(buf); {Delphi 2009}

end;





procedure TForm1.Button3Click(Sender: TObject);

var

  p,p1,p2: PChar;

begin

  p1 := 'Delphi';

  p2 := '2009';

  p := GetMemory(256);



  lstrcpy(p, p1);



  lstrcat(p, ' ');

  lstrcat(p, p2);



  ShowMessage(p); {Delphi 2009}



  FreeMemory(p);

end;





var

  buf: array[0..255] of Char;

procedure TForm1.Button4Click(Sender: TObject);

var

  p1,p2: PChar;

begin

  p1 := '  ';

  p2 := 'Delphi  ';



  lstrcat(buf, p1);

  lstrcat(buf, p2);



  ShowMessage(buf); {  Delphi  }

end;



end.